from strutils import parseIntimport rdstdin import ./chess proc runGame*(): void = ## Initializes and runs a game of chess. var game = initGame() var draw: string game.echoBoard(game.toMove) while not game.isCheckmate(game.toMove) and not game.isStalemate(game.toMove): echo "Make a move" echo game.toMove var move = readLine(stdin) while not game.checkedMove(notationToMove(move, game.toMove)): move = readLine(stdin) game.echoBoard(game.toMove) if (game.isDrawClaimable): echo "Do you want to claim a draw? (y/N)" draw = readLine(stdin) if (draw == "y"): echo "Draw claimed" break if game.isCheckmate(game.toMove): echo $game.toMove & " was checkmated" if game.isStalemate(game.toMove): echo "Stalemate" runGame()
from strutils import parseInt
import rdstdin
import ./chess
proc runGame*(): void =
## Initializes and runs a game of chess.
var game = initGame()
var draw: string
game.echoBoard(game.toMove)
while not game.isCheckmate(game.toMove) and not game.isStalemate(game.toMove):
echo "Make a move"
echo game.toMove
var move = readLine(stdin)
while not game.checkedMove(notationToMove(move, game.toMove)):
move = readLine(stdin)
if (game.isDrawClaimable):
echo "Do you want to claim a draw? (y/N)"
draw = readLine(stdin)
if (draw == "y"):
echo "Draw claimed"
break
if game.isCheckmate(game.toMove):
echo $game.toMove & " was checkmated"
if game.isStalemate(game.toMove):
echo "Stalemate"
runGame()