mirror of
https://github.com/tiyn/yeschess.git
synced 2026-02-22 10:34:47 +01:00
structure: made a src folder and moved all source file into it
This commit is contained in:
29
src/game.nim
Normal file
29
src/game.nim
Normal file
@@ -0,0 +1,29 @@
|
||||
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)
|
||||
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()
|
||||
Reference in New Issue
Block a user