Number reversal game: Difference between revisions

Content added Content deleted
(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}}==