Ce que j'aimerais voir, ce sont vos tentatives d'écrire une sorte "d'histoire" qui a un sens assez facile à lire, mais qui crée également un fragment de code valide. Par exemple, ce code (BBC) BASIC:
LET customer = "sober"
REPEAT
INPUT "more beer"
UNTIL customer = "drunk"
(basé sur http://img.rakuten.com/PIC/12184048/0/1/300/12184048.jpg pour l'idée)
Règles / directives:
- Le code doit être valide dans la langue que vous avez spécifiée - Tout le monde doit pouvoir l'exécuter sans avoir à créer de fantaisie
- Des chaînes, des commentaires ou tout ce qui permet d'ajouter du texte libre au code peuvent être utilisés, mais pour au plus 3 mots par chaîne (et vous ne pouvez pas mettre plusieurs chaînes ou commentaires dans une rangée)
- Votre code ne doit pas entraîner de sortie sensible lors de son exécution. Il peut même s'agir d'une boucle infinie, tant que le code est valide et qu'il représente quelque chose de sensé (*) lorsqu'il est lu en anglais.
- Toute interpolation dans votre code sera ignorée dans l'histoire.
- Les variables n'ont pas besoin d'être définies. Le code que vous créez ici n'est qu'un fragment de code . Vous perdrez 5 points pour avoir appelé une variable / mot-clé / étiquette / etc non défini. bien que.
- pour chaque mot-clé / instruction / fonction / etc. intégré que vous utilisez, vous recevez 15 points . Ceux-ci incluent
for
etif
, mais aussi des fonctions intégrées telles quereplace()
. Les bibliothèques ne comptent pas comme des fonctions intégrées, mais vous êtes libre de les utiliser. - pour chaque lettre, chiffre ou trait de soulignement de votre code, vous recevez 1 point .
- pour chaque ligne / bloc de code qui n'est pas lié ( ) à l'histoire, ou qui utilise des mots-clés / déclarations / etc sans signification ( ) en anglais, vous perdez 20 points , et les caractères impliqués ne compteront pas pour le 1 point par lettre / nombre. Pour rester juste pour les langages qui ont besoin de types de données comme
int
lors de la définition de variables, les types de données sont complètement ignorés. Cela signifie qu'ils ne reçoivent pas 10 points pour être un mot-clé, ils ne recevront pas de points pour les personnages impliqués, mais ils ne provoquent pas non plus de perte de points. - Il n'est pas permis de simplement faire quelque chose d'anglais valide en insérant un commentaire pour "remplir les blancs".
- Comme il s'agit d'un concours de popularité , pour chaque vote positif à votre réponse, vous recevrez 25 points .
- Assurez-vous de spécifier la langue de votre code et la formule que vous avez utilisée pour compter le nombre de points obtenus par votre réponse.
- La réponse avec le plus de points, en utilisant ce système ci-dessus, gagne.
- En utilisant ce système, l'exemple de code ci-dessus obtiendrait
4*15 + 53*1 = 113
des points initiaux.
(*) partie sur-analyse / objectivation: pour garder cela aussi objectif que possible, "sensible" ou "sans rapport" signifie ce qui suit: Si le morceau de code utilise des mots qui ne sont pas anglais, il n'est pas valide (par exemple, const
ou int
sont pas des mots anglais, mais foreach
ou typeof
est 2 mots anglais fusionnés, donc ça va). De plus, même si vous utilisez des mots anglais valides tels que print
ou echo
, ceux-ci devront correspondre à l'histoire avec leur signification d' origine (donc `` mettre de l'encre sur du papier '' et `` refléter le son '', pas `` montrer sur un écran ''). Et avec «s'intégrer», je veux dire que le sujet de l'histoire doit y être lié.
J'espère que cette dernière "clause de non-responsabilité" répond à l'exigence de définir des critères objectifs.