Guess the number/With feedback (player): Difference between revisions
Content deleted Content added
Added Wren |
|||
Line 3,382: | Line 3,382: | ||
End Sub |
End Sub |
||
</lang> |
</lang> |
||
=={{header|Wren}}== |
|||
{{trans|Kotlin}} |
|||
{{libheader|Wren-str}} |
|||
<lang ecmascript>import "io" for Stdin, Stdout |
|||
import "/str" for Char |
|||
var hle |
|||
var lowest = 1 |
|||
var highest = 20 |
|||
var guess = 10 |
|||
System.print("Please choose a number between 1 and 20 but don't tell me what it is yet\n") |
|||
while (true) { |
|||
System.print("My guess is %(guess)") |
|||
while (true) { |
|||
System.write("Is this higher/lower than or equal to your chosen number h/l/e : ") |
|||
Stdout.flush() |
|||
hle = Char.lower(Stdin.readLine()) |
|||
if (hle == "l" && guess == highest) { |
|||
System.print("It can't be more than %(highest), try again") |
|||
hle = "i" // signifies invalid |
|||
} else if (hle == "h" && guess == lowest) { |
|||
System.print("It can't be less than %(lowest), try again") |
|||
hle = "i" |
|||
} |
|||
if ("hle".contains(hle)) break |
|||
} |
|||
if (hle == "e") { |
|||
System.print("Good, thanks for playing the game with me!") |
|||
break |
|||
} |
|||
if (hle == "h") { |
|||
if (highest > guess - 1) highest = guess - 1 |
|||
} else { |
|||
if (lowest < guess + 1) lowest = guess + 1 |
|||
} |
|||
guess = ((lowest + highest)/2).floor |
|||
}</lang> |
|||
{{out}} |
|||
Sample session (player chooses 12): |
|||
<pre> |
|||
Please choose a number between 1 and 20 but don't tell me what it is yet |
|||
My guess is 10 |
|||
Is this higher/lower than or equal to your chosen number h/l/e : l |
|||
My guess is 15 |
|||
Is this higher/lower than or equal to your chosen number h/l/e : h |
|||
My guess is 12 |
|||
Is this higher/lower than or equal to your chosen number h/l/e : e |
|||
Good, thanks for playing the game with me! |
|||
</pre> |
|||
=={{header|XPL0}}== |
=={{header|XPL0}}== |