Stair-climbing puzzle: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) (Rename Perl 6 -> Raku, alphabetize, minor clean-up) |
(Added Wren) |
||
Line 1,388: | Line 1,388: | ||
prgmSTEP |
prgmSTEP |
||
End</lang> |
End</lang> |
||
=={{header|Wren}}== |
|||
{{trans|Kotlin}} |
|||
{{libheader|Wren-fmt}} |
|||
<lang ecmascript>import "random" for Random |
|||
import "/fmt" for Conv |
|||
var rand = Random.new(1268) // generates short repeatable sequence |
|||
var position = 0 |
|||
var step = Fn.new { |
|||
var r = Conv.itob(rand.int(2)) |
|||
if (r) { |
|||
position = position + 1 |
|||
System.print("Climbed up to %(position)") |
|||
} else { |
|||
position = position - 1 |
|||
System.print("Fell down to %(position)") |
|||
} |
|||
return r |
|||
} |
|||
var stepUp // recursive |
|||
stepUp = Fn.new { |
|||
while (!step.call()) stepUp.call() |
|||
} |
|||
stepUp.call()</lang> |
|||
{{out}} |
|||
<pre> |
|||
Fell down to -1 |
|||
Fell down to -2 |
|||
Climbed up to -1 |
|||
Climbed up to 0 |
|||
Fell down to -1 |
|||
Climbed up to 0 |
|||
Climbed up to 1 |
|||
</pre> |
|||
=={{header|XPL0}}== |
=={{header|XPL0}}== |