Number reversal game: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) (Rename Perl 6 -> Raku, alphabetize, minor clean-up) |
(Added Wren) |
||
Line 3,838: | Line 3,838: | ||
8 : 1 2 3 4 5 6 7 8 9 |
8 : 1 2 3 4 5 6 7 8 9 |
||
You took 8 turns to put the digits in order.</pre> |
You took 8 turns to put the digits in order.</pre> |
||
=={{header|Wren}}== |
|||
{{trans|Kotlin}} |
|||
{{libheader|Wren-sort}}<lang ecmascript> |
|||
import "/sort" for Sort |
|||
import "random" for Random |
|||
import "io" for Stdin, Stdout |
|||
var r= Random.new() |
|||
var count = 0 |
|||
var numbers = [0] * 9 |
|||
numbers[0] = r.int(2, 10) // this will ensure list isn't ascending |
|||
for (i in 1..8) { |
|||
var rn |
|||
while(true) { |
|||
rn = r.int(1, 10) |
|||
if (!numbers.contains(rn)) break |
|||
} |
|||
numbers[i] = rn |
|||
} |
|||
System.print("Here's your first list : %(numbers)") |
|||
while (true) { |
|||
var rev |
|||
while (true) { |
|||
System.write("How many numbers from the left are to be reversed : ") |
|||
Stdout.flush() |
|||
rev = Num.fromString(Stdin.readLine()) |
|||
if (rev.type == Num && rev.isInteger && rev >= 2 && rev <= 9) break |
|||
} |
|||
count = count + 1 |
|||
var i = 0 |
|||
var j = rev - 1 |
|||
while (i < j) { |
|||
var temp = numbers[i] |
|||
numbers[i] = numbers[j] |
|||
numbers[j] = temp |
|||
i = i + 1 |
|||
j = j - 1 |
|||
} |
|||
if (Sort.isSorted(numbers)) { |
|||
System.print("Here's your final list : %(numbers)") |
|||
break |
|||
} |
|||
System.print("Here's your list now : %(numbers)") |
|||
} |
|||
System.print("So you've completed the game with a score of %(count)")</lang> |
|||
{{out}} |
|||
Sample game: |
|||
<pre> |
|||
Here's your first list : [7, 5, 8, 3, 4, 6, 9, 2, 1] |
|||
How many numbers from the left are to be reversed : 7 |
|||
Here's your list now : [9, 6, 4, 3, 8, 5, 7, 2, 1] |
|||
How many numbers from the left are to be reversed : 9 |
|||
Here's your list now : [1, 2, 7, 5, 8, 3, 4, 6, 9] |
|||
How many numbers from the left are to be reversed : 5 |
|||
Here's your list now : [8, 5, 7, 2, 1, 3, 4, 6, 9] |
|||
How many numbers from the left are to be reversed : 8 |
|||
Here's your list now : [6, 4, 3, 1, 2, 7, 5, 8, 9] |
|||
How many numbers from the left are to be reversed : 6 |
|||
Here's your list now : [7, 2, 1, 3, 4, 6, 5, 8, 9] |
|||
How many numbers from the left are to be reversed : 7 |
|||
Here's your list now : [5, 6, 4, 3, 1, 2, 7, 8, 9] |
|||
How many numbers from the left are to be reversed : 2 |
|||
Here's your list now : [6, 5, 4, 3, 1, 2, 7, 8, 9] |
|||
How many numbers from the left are to be reversed : 6 |
|||
Here's your list now : [2, 1, 3, 4, 5, 6, 7, 8, 9] |
|||
How many numbers from the left are to be reversed : 2 |
|||
Here's your final list : [1, 2, 3, 4, 5, 6, 7, 8, 9] |
|||
So you've completed the game with a score of 9 |
|||
</pre> |
|||
=={{header|XPL0}}== |
=={{header|XPL0}}== |