So, last week I posted a challenge to play Duck, Duck, Goose. This lead to a number of Minnesotans commenting about their regional 'Gray duck' variation.
So here's the rules:
Using this list of colours:
Red
Orange
Yellow
Green
Blue
Indigo
Violet
Gray
Write a program to follow these rules:
- Select one of these colours, and prepend it to the word 'duck' and print the result to a new line.
- If the colour was not 'Gray', repeat step 1.
- If the colour was 'Gray', end your program.
Rules which must be followed:
- The program should not consistently print the same number of lines.
- It can begin on 'Gray duck', but should not do consistently.
- There should be exactly one duck on each line and no empty lines are output.
- There should be at least one space between a colour and a duck.
- White space before and after the significant output does not matter.
- The case of the output doesn't matter.
- Colours can be repeated.
- The output doesn't have to contain every colour every time, but it must be possible that your code will output every colour.
- No colours outside the above array can be included.
- Either grey or gray are acceptable in your answer.
- Colours should not consistently be in the same order.
- Aim for the shortest program. Smallest number of bytes wins.
Example output:
Green duck
Orange duck
Yellow duck
Indigo duck
Yellow duck
Gray duck
Thanks to @Mike Hill for first alerting me to this variation.
Grey
once (so I wouldn't have to pick from all of them and check whether I've pickedGrey
). \$\endgroup\$