Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
43
Task/Nim-game/Go/nim-game.go
Normal file
43
Task/Nim-game/Go/nim-game.go
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"os"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
func showTokens(tokens int) {
|
||||
fmt.Println("Tokens remaining", tokens, "\n")
|
||||
}
|
||||
|
||||
func main() {
|
||||
tokens := 12
|
||||
scanner := bufio.NewScanner(os.Stdin)
|
||||
for {
|
||||
showTokens(tokens)
|
||||
fmt.Print(" How many tokens 1, 2 or 3? ")
|
||||
scanner.Scan()
|
||||
if scerr := scanner.Err(); scerr != nil {
|
||||
fmt.Println("Error reading standard input:", scerr)
|
||||
return
|
||||
}
|
||||
t, err := strconv.Atoi(scanner.Text())
|
||||
if err != nil || t < 1 || t > 3 {
|
||||
fmt.Println("\nMust be a number between 1 and 3, try again.\n")
|
||||
} else {
|
||||
ct := 4 - t
|
||||
s := "s"
|
||||
if ct == 1 {
|
||||
s = ""
|
||||
}
|
||||
fmt.Print(" Computer takes ", ct, " token", s, "\n\n")
|
||||
tokens -= 4
|
||||
}
|
||||
if tokens == 0 {
|
||||
showTokens(0)
|
||||
fmt.Println(" Computer wins!")
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue