How to resolve the algorithm Nim game step by step in the Wren programming language
Published on 12 May 2024 09:40 PM
How to resolve the algorithm Nim game step by step in the Wren programming language
Table of Contents
Problem Statement
Nim is a simple game where the second player─if they know the trick─will always win.
The game has only 3 rules:
To win every time, the second player simply takes 4 minus the number the first player took. So if the first player takes 1, the second takes 3; if the first player takes 2, the second should take 2; and if the first player takes 3, the second player will take 1. Design a simple Nim game where the human player goes first, and the computer always wins. The game should enforce the rules.
Let's start with the solution:
Step by Step solution about How to resolve the algorithm Nim game step by step in the Wren programming language
Source code in the wren programming language
import "io" for Stdin, Stdout
var showTokens = Fn.new { |tokens| System.print("Tokens remaining %(tokens)\n") }
var tokens = 12
while (true) {
showTokens.call(tokens)
System.write(" How many tokens 1, 2 or 3? ")
Stdout.flush()
var t = Num.fromString(Stdin.readLine())
if (t.type != Num || !t.isInteger || t < 1 || t > 3) {
System.print("\nMust be an integer between 1 and 3, try again.\n")
} else {
var ct = 4 - t
var s = (ct != 1) ? "s" : ""
System.write(" Computer takes %(ct) token%(s)\n\n")
tokens = tokens - 4
}
if (tokens == 0) {
showTokens.call(0)
System.print(" Computer wins!")
break
}
}
You may also check:How to resolve the algorithm Wilson primes of order n step by step in the Rust programming language
You may also check:How to resolve the algorithm Closures/Value capture step by step in the Nim programming language
You may also check:How to resolve the algorithm User input/Text step by step in the PicoLisp programming language
You may also check:How to resolve the algorithm Copy a string step by step in the V programming language
You may also check:How to resolve the algorithm Go Fish step by step in the Phix programming language