Canard, canard, oie!


58

Tu te souviens du jeu pour enfants 'Canard, Canard, Oie' ? Non? Moi non plus.

Le défi

  • Imprimez le mot 'canard' sur chaque ligne un nombre de fois indéterminé.
  • Imprimez le mot 'oie'.
  • Votre programme se termine.

Les règles

  • Essayez de jouer le jeu dans le moins d'octets.
  • Il doit y avoir au moins un canard.
  • Il doit y avoir exactement une oie à la fin de la liste.
  • Il doit y avoir exactement un oiseau sur chaque ligne. Pas de lignes vides.
  • Le cas des chaînes sorties n'est pas pertinent.
  • Les espaces dans une ligne sont acceptables.
  • Votre programme doit finir.
  • Votre programme ne doit pas produire systématiquement le même nombre de canards.

S'amuser!


Remarque: cette question n'est pas une copie du code le plus court pour produire une sortie non déterministe.

Les raisons incluent:

  • L'association au jeu d'enfants
  • Les exigences de début et de fin définies pour la chaîne de résultat. Il n'y a pas de sortie spécifiée dans l'autre défi.
  • Réponses Pour l'autre défi, le non-doublon est composé d'un nombre d'octets à un chiffre. La moyenne pour celui-ci est d'environ 30, ou environ.
  • Du fait du chevauchement entre ce défi et celui-là, toute question de code-golf incluant la balise 'random' est un doublon. Devrions-nous les supprimer tous?
  • Les réponses de code pour ce défi correspondraient à l'autre défi (d'une manière ridiculement démesurée), mais les réponses à ce défi ne correspondraient pas à celui-ci.

11
Pourriez-vous définir indéterminé? Cela pourrait-il vouloir dire zéro ou un?
récursive

1
Veuillez définir comment cela doit être généré de manière aléatoire. Portée uniforme ou en déclin exponentiel?
HyperNeutrino

@recursive Nope, mais passons à une définition qui fonctionne ... Le programme ne présente pas systématiquement le même nombre de canards.
AJFaraday

2
En tant que Minnesota, que se passe-t-il si le mien imprime plutôt "canard, canard, canard gris" ? :)
Mike Hill

1
@ jpmc26 Je suis sûr qu'il y en a d'autres. Vous auriez dû jouer avec d'autres, pour commencer.
AJFaraday

Réponses:


9

Gelée , 13 octets

2X“¢;ÆS»ẋ“ʋ¢»

Essayez-le en ligne!

Explication:

2X“¢;ÆS»ẋ“ʋ¢»

2X             Random number (1 or 2)
  “¢;ÆS»       Compressed string equivalent to "duck\n"
        ẋ      Repeat the "duck\n" that random number of times
         “ʋ¢»  Compresses string equivalent to "goose"
               Implicitly concatenated and returned

Version plus lisible: Essayez-le en ligne!

Reviendra toujours 1 ou 2 canards.


Félicitations! Je n'ai littéralement aucune idée de comment ça marche!
AJFaraday

@AJFaraday Je suis allé de l'avant et a ajouté une explication pour vous
PunPun1000

@ PunPun1000 Désolé, mais quelle est la pile? Jelly est un langage de programmation tacite.
user202729

@ user202729 Oups, Jelly et 05AB1E se sont égarés dans ma tête, pourriez-vous s'il vous plaît le modifier pour corriger cette erreur? Désolé pour cela
PunPun1000

Il y a une concaténation implicite dans Jelly? Yay!
MilkyWay90

43

Langage de script Operation Flashpoint , 48 octets

f={s="duck\n";s+([s,""]select random 1)+"goose"}

Imprime toujours un ou deux canards.

random 1renvoie un nombre (à virgule flottante) compris entre 0 et 1. Ce nombre est passé en tant qu'argument selectavec le tableau [s,""]. Le nombre aléatoire est ensuite arrondi au nombre entier le plus proche (0 ou 1) et l'élément de tableau à cet index est sélectionné dans le tableau.

Appeler avec:

hint call f

Sortie:

Version alternative de 56 octets:

f={s="duck\n";format[s+"%1goose",[s,""]select random 1]}

3
Cela me fait toujours plaisir quand quelqu'un l'utilise sur PCG.
Nit

Eh bien j'ai oublié que ce jeu existait.
Caimen

38

World of Warcraft 81 octets

Voici une macro que vous pouvez exécuter dans World of Warcraft.

/run for x=1,random(1,9) do SendChatMessage("Duck") end; SendChatMessage("Goose")

11
Oh mon seigneur ... Pourquoi je n'ai jamais pensé à ça.
Urne Magic Octopus

4
PVCG (Programmation Jeux Vidéo et Code Golf). Opération Flashpoint était une chose, mais WoW? J'attends les solutions Minecraft et Factorio.
Brain Guider

2
@AnderBiguri Je pense que l'on pourrait faire un peu moins que 81 octets (blocs?);)
Chris

5
Cela devrait fonctionner et vous rendre à 58 octets:/run for x=1,random(1,9)do print("Duck")end print("Goose")
gastropner

35

Minecraft <1.13, 72 54 octets

Désolé, je devais.

Instructions:

  • Créer un nouveau monde Minecraft en mode créatif
  • Recherchez le dossier de sauvegarde de ce monde et placez le code suivant dans data/functions/minecraft/ddg.mcfunction
  • Courir /function ddgdans la console de jeu

Comment ça fonctionne:

Affiche le mot "canard" pour chaque entité du monde, puis le mot "oie". Étant donné que les entités sont constamment en train de se reproduire et de disparaître, le nombre de "canards" ne sera pas constant. J'ai utilisé tellrawau lieu de beaucoup plus court sayparce que saysort le nom de l'entité, alors que tellrawsort exactement ce qui est dit.

execute @e ~ ~ ~ tellraw @a "duck"
tellraw @a "goose"

Capture d'écran

entrez la description de l'image ici

Éditer: {"text": "canard"} remplacé par "canard" (et la même chose avec "oie")


1
Magnifique. Nous avons besoin de plus de Minecraft dans PPCG.
BradC

9
Il est à noter que vous (le joueur) êtes une entité dans le monde, le nombre de canards ne peut donc jamais être égal à 0 (même s'il n'y avait pas de créatures hostiles ou passives).
BradC

1
@BradC, il devrait y avoir des défis complets basés sur Minecraft.
Tox123

17

JavaScript, 45 44 42 39 37 octets

A le potentiel de produire une erreur de débordement.

f=_=>`duck
${new Date%2?f():`goose`}`

Essaye-le

o.innerText=(
f=_=>`duck
${new Date%2?f():`goose`}`
)()
<pre id=o></pre>


14

Octave , 38 33 octets

Ce n'est pas le plus court (c'est 36 octets), mais c'est mon préféré. L'explication est en bas.

disp(['duck '+~(1:1/rand)';'goose'])

Essayez-le en ligne!


Quelques variations plus courtes:

Cela fonctionne en principe (33 octets), mais les interprètes en ligne expirent:

disp(['duck '+~(1:now)';'goose'])

L'ajout d'octets pour raccourcir la sortie en fait 35 ou 36 octets:

disp(['duck '+~(7e5:now)';'goose'])   % Works on octave-online.net
disp(['duck '+~(7.3e5:now)';'goose']) % Works on tio.run

Explication:

Je vais juste expliquer le dernier aléatoire. Les autres sont similaires, mais utilisent le nombre de jours depuis le 1er janvier 0000 à aujourd'hui.

randrenvoie un nombre aléatoire sur l'intervalle (0, 1) . Ainsi, 1/randrenvoie un nombre supérieur à 1 . Dans la mesure 1:foù une plage , où fun flottant aléatoire supérieur à 1 est identique à 1:floor(f), 1:1/randcrée une plage 1 .. x , où x> = 1 .

Je vais essayer d'expliquer cela comme si Octave était un langage basé sur la pile.

      'duck '                           % Push the string 'duck ' to the stack
               (1:1/rand)               % Push a vector 1... floor(1/rand)
              ~(1:1/rand)'              % Negate the vector (making it all zeros)
                                        % and transpose it.
             +                          % Add 'duck ' with the vertical vector of zeros
                                        % to implicitly duplicate the string r times
     [                    ;'goose']     % Push the string 'goose' and concatenate
                                        % vertically with the rest
disp(                              )    % Display it all.

disp(['duck '+~pwd';'goose'])? Je ne sais pas si c'est assez "indéterminé"
Luis Mendo

12

Perl 5 , 20 octets

D'abord un 26 octets pratique:

Canards 1 à 9 fois avant d'être oie.

say"Duck
"x(1+$^T%9),Goose

Essayez-le en ligne!

Mais si vous avez beaucoup de mémoire et de temps, cette version de 20 octets (suggérée par Chris ) fonctionne également:

say"Duck
"x$^T,Goose

Cela suppose également que le problème de l' an 2038 sera résolu pour Perl 5 , sinon il ne sera plus valable dans 1 seconde d'ici 20 ans.


Si vous changez 1+$^T%9simplement $^T, cela fonctionne toujours et vous économisez 4 octets.
Chris

@ Chris Vous avez évidemment plus de mémoire que moi. Néanmoins, je vais suivre votre suggestion car il y a des ordinateurs raisonnables sur lesquels cela fonctionnera. Merci.
Ton Hospel

12

Python 2 , 36 34 octets

print"duck\n"*((id(id)%5)+1),"goose"

Essayez-le en ligne!

La suggestion de Kevin Cruijssen nous amène à 34 octets:

print"duck\n"*-~(id(id)%5),"goose"

3
Bienvenue sur le site et bonne première réponse!
Caird coinheringaahing

Bienvenue chez PPCG! Vous pouvez jouer au golf deux octets en changeant ((id(id)%5)+1)de -~(id(id)%5)pour vous débarrasser de la parenthèse. Il peut être intéressant de lire des astuces pour jouer au golf dans <toutes les langues> et des astuces pour jouer au golf en Python . Profitez de votre séjour!
Kevin Cruijssen

1
Ne peut id(id)pas être id(0)ou suis-je manque quelque chose?
Jonathan Frech

@ Jonathan, regarder id(0)sur deux ordinateurs différents suggère que c'est une constante.
user2699

1
Un peu plus intuitif et aucun octet supplémentaire ne serait à appeler id([]). Cela devrait initialiser une liste distincte à chaque exécution du programme, ce qui en théorie devrait systématiquement donner lieu à des adresses mémoire différentes.
jpmc26

11

Z Shell (+ wget & Netpbm), 168 160 150 148 145 135 120 octets

d(){wget -O- bit.ly/$1|jpegtopnm|pamscale -w 64 -h 64};d DckDkGo|pnmtile 64 $[(RANDOM&7+1)*64]|pnmcat -tb - <(d g005eGG)

Ce n’était pas la solution la plus courte, mais j’avais envie de donner une tournure à ce défi (inspiré par la solution de @ AlexG à cet autre problème ).

Ce script génère une image PPM contenant entre 1 et 8 images de canards et une image d’une oie au bas de la sortie standard. Il télécharge les deux images sources de Wikipedia, un accès Internet est donc nécessaire pour que cela fonctionne.

Exemple de sortie convertie au format JPEG via pnmtojpeg :

entrez la description de l'image ici


1
Cela a totalement fait ma journée!
AJFaraday

Je viens de me rendre compte que vous êtes la même personne que celle qui a proposé cet autre défi auquel je suis lié. xD Eh bien, je suis content que vous ayez aimé ça! = D
lucasb

Oui, il y a quelques thèmes dans mes défis de golf de code :) Je devrais absolument donner des points bonus pour les réponses imagées.
AJFaraday

N'est-ce pas une échappatoire standard pour obtenir des ressources externes?
MilkyWay90

10

R , 35 octets

cat(rep("duck
",rexp(1)+1),"goose")

Essayez-le en ligne!

rexp()produit un nombre aléatoire à partir d'une fonction de décroissance exponentielle. +1assurer au moins un canard. Toutes les lignes après la première incluent un espace de début (qui est le séparateur par défaut cat), mais cela est autorisé.


1
La probabilité de produire plus d'un canard est d' exp(-1)environ 36,8%.
Giuseppe

Il demande à l'imprimer sur chaque ligne. Je pense que vous devriez ajouter "\ n" à votre "canard"
stuart stevenson

3
@stuartstevenson Ici, j'ai utilisé un retour à la ligne littéral plutôt que \nd'un octet plus court. Si vous visitez le site "Essayez-le en ligne!" lien vous pouvez voir que l'effet est le même.
user2390246

Sur une zone DOS / Windows, cette nouvelle ligne aurait toujours deux (2) octets. 0x0d0a
lit

10

Bash , 39 38 37 octets

sed s/[0-9]/duck\\n/g<<<$RANDOM\goose

Essayez-le en ligne!

Imprime un nombre de canards égal au nombre de chiffres d'un nombre entier uniformément distribué sur [0,32767] (donc, le plus souvent, cinq canards (un bon nombre de canards)).

-1 octet chaque grâce à @Chris et @sch en soulignant des paires de citations qui ne tiraient pas leur poids.


1
Bienvenue chez PPCG!
Steadybox

1
Vous pouvez enregistrer un octet en se débarrassant des guillemets simples aussi longtemps que vous remplacez \navec \\n.
Chris

1
Bonne idée. Vous pouvez faire quelque chose de similaire avec seulement des constructions bash et no sed pour 30 octets.
Digital Trauma

1
sed s/[0-9]/duck\\n/g<<<$RANDOM\goosepeut raser un octet
sch

1
Le sedn'est pas entièrement portable. Sur certaines plates-formes, vous pouvez vous en tirer avec une seule barre oblique inversée \n. Sur d'autres, vous n'obtiendrez pas de nouvelle ligne, peu importe ce que vous faites.
Tripleee

9

Pure Bash (aucun utilitaire externe), 25

D' après la réponse de @ SophiaLechner , cela permet également d'imprimer un bon nombre de canards .

L'idée de @ OlivierDulac d'utiliser le PID du shell de script tel que stocké dans le $paramètre enregistre 5 octets.

echo "${$//?/duck
}"goose

Essayez-le en ligne .


1
si nous supposons que vous lancez un programme, il obtiendra un pid différent à chaque fois. la plupart du temps, ce sera 5 chiffres, mais pas toujours. d'où: changement RANDOMde $rasage de 5 octets? Et on pourrait aussi faire une très longue chaîne de canards:yes duck|head -n $$;echo goose
Olivier Dulac

@OlivierDulac oui, je pense que l'utilisation $$est acceptable - merci!
Trauma numérique

vous êtes les bienvenus! J'ai posté mon autre version ( yes duck | head -n $$;echo goose) comme alternative (plus longue que la tienne, mais on a BEAUCOUP de canards pour 5 personnages de plus ^^)
Olivier Dulac


8

Bash + Coreutils, 36 27 octets

yes duck|sed $$q;echo goose

Imprime trop de canards (entre 2 et cat /proc/sys/kernel/pid_max), puis une oie.

Sauvé neuf octets grâce à Digital Trauma et Olivier Dulac.

Essayez-le en ligne! (mais gardez à l'esprit qu'il peut parfois être tronqué)

Même longueur, mais sans echo:

yes duck|sed $${agoose'
q}'

Essayez-le en ligne!

aest la commande append dans sedet qquitte. Les deux ne fonctionnent que sur la ligne $$, ce qui correspond au PID.


Bash a modulo, mais cela augmentera la taille. Essayezhead -n $((1+(RANDOM % 5)))
triplee

@tripleee Comme il s'agit du code golf, il est préférable d'augmenter la taille de la sortie plutôt que celle du code. Et 132767 canards est carrément raisonnable par rapport au milliard ou plus que vous voyez ailleurs;)
Chris

1
Bien sûr, j'espère seulement pouvoir vous aider au cas où quelqu'un souhaiterait appliquer un jour cette recherche novatrice à la pratique. Comme, TIO . 44 octets avec quelques espaces supprimés.
Tripleee

@OlivierDulac a suggéré d'utiliser $$plutôt que $RANDOMpour ma réponse . Je pense que vous pourriez utiliser la même chose pour vous sauver 5 octets. Oh, et essayez sedaussi:yes duck|sed 1$$q;echo goose
Digital Trauma

En fait yes duck|sed $$q;echo goosec'est bien - je ne pense pas que votre script obtiendrait un PID <1.
Digital Trauma

7

PowerShell , 35 30 28 octets

,"duck"*((Random)+1)
"goose"

Essayez-le en ligne! (version modifiée)

Génère un tableau de Get-Randomnombre d'éléments. Ça peut prendre un moment. Cela ajoute un +1pour s'assurer que nous en obtenons au moins un duck. La version modifiée inclut également un -maindicateur ximum de 5sorte que vous puissiez voir que le programme fonctionne comme prévu (la version modifiée imprimera 1, 2, 3 ou 4 ducks avant le goose).

Le tableau et la goosechaîne solitaire sont laissés sur le pipeline et l'implicite Write-Outputnous donne gratuitement des valeurs séparées par une nouvelle ligne.

Vous ne savez pas combien il a été difficile pour moi de ne pas changer la dernière ligne en "canard gris" ...


Cette variante a l'air très amusante et mérite vraiment un défi de code ... Je vous recommande d'attendre quelques jours et de l'
envoyer

1
@AdmBorkBork, ce Minnesotan a rejoint ce groupe pour seulement +1 votre canard gris.
Milwrdfan

0..(random)|%{'duck'};'goose'ressemble à un 29, et générera également quelque part jusqu'à [int] :: MaxValue (2,1 milliards) de canards avant une oie. (Et 0..0fait imprimer un canard)
TessellatingHeckler

@TessellatingHeckler Merci, mais je viens de proposer une version de 28 octets. :)
AdmBorkBork



6

Brachylog , 24 21 octets

-3 octets grâce à Erik l'Outgolfer

"duck"ẉ4ṙ0∧"goose"w∨↰

Essayez-le en ligne!

En célébration de la langue du mois , mon premier post de brachylog. Le flux de contrôle dans cette langue est cool.

Comment ça fonctionne:

"duck"ẉ4ṙ0∧"goose"w∨↰
"duck"ẉ                 print duck with a new line
       4ṙ               choose a random number in the range is [0, 4]
         0              verify it equals zero
          ∧             and (short circuits)
           "goose"w     print goose without a newline
                   ∨    or (if it did not equal zero)
                    ↰   repeat the procedure

Donc, si je lis ceci à droite, ça se lit de gauche à droite, de bas en haut?
AJFaraday

2
Le langage tente de trouver une vérité logique en utilisant uniquement la première ligne du programme. Mon programme dit "Validez la deuxième ligne, puis imprimez l'oie". Ensuite, la deuxième ligne indique "print canard, puis validez soit un nombre aléatoire compris entre 0 et 4, soit validez à nouveau cette ligne", donc techniquement, de gauche à droite, la ligne du haut, puis tous les prédicats que vous appelez à partir de là
PunPun1000

Cool, c'est tellement intéressant de découvrir comment fonctionnent les nouvelles langues. Il est arrivé dans ma boîte de réception, mais je ne sais pas si c'est parce que j'ai posé la question ou parce que j'avais déjà commenté ici.
AJFaraday

Vous pouvez fusionner les deux prédicats comme celui-ci et m'attacher.
Erik l'Outgolfer

6

Geometry Dash World 2.2 Editor - 4 objets

Image de Geometry Dash Level

Explication:

Le déclencheur BG est le déclencheur aléatoire de la version 2.2 actuelle. Il permet donc d'activer ou de désactiver l'ID de groupe 1 ou 2.

Le premier "DUCK" a un identifiant de groupe de 1, ce qui lui donne 50% de chances d’être supprimé ou non (basculé).

Il n'y a pas d'objet avec l'ID de groupe 2 dans ce niveau, donc il y a 50% de chances que 2 "DUCK" soient affichés.

Comment reproduire ceci:

Le premier "DUCK" a un identifiant de groupe de 1.

entrez la description de l'image ici

Oie et 2nd canard n'ont pas d'identifiant de groupe entrez la description de l'image ici

À l'intérieur du déclencheur aléatoire. entrez la description de l'image ici


Je sens un thème pour ce défi
Benjamin Urquhart

@BenjaminUrquhart Quoi?
MilkyWay90

Il y a des propositions pour Word of Warcraft, Minecraft et d'autres jeux.
Benjamin Urquhart

2
@BenjaminUrquhart Mieux trouver plus de jeux auxquels répondre
MilkyWay90

5

05AB1E , 15 14 octets

'Ðœ₁Ωи`.•zíΘ•»

Essayez-le en ligne!

Imprimera 2, 5 ou 6 canards, puis l'oie.

-1 octet grâce à @Emigna qui utilise 'pour un seul mot compressé (canard)


1
Vous pouvez utiliser 'Ðœdepuis canard est un seul mot.
Emigna

1
Beats mine:['ÐœTΩ#].•zíΘ•»
Urne Magique Octopus

@MagicOctopusUrn J'aime beaucoup votre approche de la boucle infinie. Votre réponse est certainement plus dans l’esprit du défi (ou de ce qu’il aurait dû être?) Car elle peut produire une quantité infinie de canards.
Kaldo

@Kaldo encore, 15 octets perd à la vôtre;)
Urne Octopus magique

1
Alternatif 14-byter:'Ðœ₁Ω.D.•zíΘ•»
Urne Magique Octopus


5

Retina , 17 octets

?\\K`duck
K`goose

Essayez-le en ligne!

Essayez-le en ligne!

Imprime 1 ou 2 canards, avec une probabilité égale.

Explication

?\\K`duck

Définissez la chaîne de travail sur ducket imprimez-la avec un saut de ligne de fin ( \). Ensuite, ceci est encapsulé dans une autre étape de sortie, mais le drapeau aléatoire ( ?) lui est appliqué. Il est donc imprimé avec une probabilité de 50%.

K`goose

Remplacez le duckavec goose, qui est imprimé implicitement à la fin du programme.

Voici une alternative amusante qui imprime 1 canard avec une probabilité de 50%, 2 canards avec 25%, 3 canards avec 12,5% ...:

\K`duck
?+\G`
K`goose

5

Vim (script) sur Linux, 46 43 octets (4946 avec :en début de ligne)

.!date +0\%N\%s6
s/6.*/goose
s/\d/duck\r/g

Exécuté en tant que vim -S filenameou collé dans l'exécution vimavec :avant chaque ligne.


2
Bienvenue chez PPCG! Vous devriez pouvoir utiliser \dplus [0-9]. De plus, il semblerait que vim ne nécessite pas la fin de ligne, ce qui peut donc être 45 octets :)
H.PWiz

Bienvenue chez PPCG!
Steadybox

5

> <> , 31 22 octets

"duck"a>x
r"esoog"<>o<

Essayez-le en ligne!

-9 octets basés sur la révision d'une arborescence


1
Vous pouvez supprimer l?!;et quitter avec une erreur.
Emigna

1
Et vous pourriez économiser un peu plus comme ceci
Emigna

1
Ou comme ça .
Pas un arbre

3
@Notatree Je reçois celui-là parfois pour imprimer "\ nkcud \ nkcud ...". Il se comporte rarement correctement
Suppen

1
@Suppen Juste en utilisant une flèche au lieu d'un miroir le corrige; voir éditer.
KSmarts

5

Befunge 98 , 38 30 25 octets

"esooG"v>:#,_@
"Duck"a<?<

Essayez-le en ligne!

  • Merci @JoKing d'avoir enlevé le trampoline inutile
  • Passage à Befunge 98 pour une nouvelle ligne plus courte - Ducks'adapte désormais à une seule chaîne

1
Vous n'avez pas besoin de #sur la deuxième ligne
Jo King

Et "techniquement", whitespace within a line is fineafin que vous puissiez couper quelques citations (même si la sortie a l'air bizarre)
Jo King

@JoKing Merci, voir mon édition.
Vincent

5

T-SQL , 70 44 43 octets (plusieurs canards)

while rand()<.9print'duck'print'duck
goose'

Merci @Zac Faragher!

Version révisée, 54 43 40 octets (1 ou 2 canards)

Merci @ BradC!

if rand()<.5print'duck'print'duck
goose'


Je n'arrive pas à obtenir que cela fonctionne correctement dans SQL Fiddle , mais cela fonctionne parfaitement dans LINQPad et SSMS.

Je ne sais pas s'il s'agit d'une limitation connue de SQL Fiddle ou si je fais quelque chose de mal


Agréable. Si vous passez selectà printla finale et remplacez celle-ci 'duck'select'goose'par 'duck(linebreak)goose'(avec un saut de ligne littéral, bien sûr)
BradC

En fait, vous pouvez simplement faire while rand()<.5print'duck'print'duck(linebreak)goose'pour 43.
BradC

Nice, merci @BradC. Y a-t-il un autre moyen de représenter un saut de ligne dans une chaîne autre que l'ajout d'un caractère (13)?
Probablement

Oui, je mets littéralement un retour dans les guillemets, je vais modifier votre message pour vous le montrer (les commentaires ne montrent pas les retours).
BradC

1
Enregistrer 3 octets supplémentaires: remplacez le premier whilepar if. Imprime (au hasard) un canard ou deux, ce qui (je crois) répond toujours au défi.
BradC

5

Powershell - 31 à 30 octets

Attention : vous allez probablement vous retrouver avec beaucoup de canards. Randominclut les valeurs de 0 à Int32.MaxValue50%, ce qui peut donner beaucoup de fracas, selon le nombre de vos personnages.

1..(Random)|%{"Duck"};"Goose"

Vous ne devriez pas avoir besoin $de devant (Random). Essayez-le en ligne!
AdmBorkBork

@AdmBorkBork merci pour la capture!
SomeShinyObject



4

Befunge

57 35 octets (le périmètre de tout le champ est de 19x3 caractères 17x2) Merci à Karhell pour l’amélioration.

55+"kcud",,,,,#v?
  @,,,,,"goose"<

La deuxième ligne place canard et une nouvelle ligne sur la pile (en arrière) et le sort sous forme de chaîne. Après 75% de chances de revenir au début et d’imprimer à nouveau le canard, 25% (lorsque le point d’interrogation décide de descendre) d’imprimer de l’oie et de s’arrêter.


Si 50% des chances de le garder sont acceptables, 55+"kcud",,,,,#v?(linebreak here) @,,,,,"goose"<
réduisez

Ah le doux enveloppant. Vous avez raison, merci, je posterai une mise à jour plus tard!
Rael_kid
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.