mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2025-12-15 00:50:57 -08:00
30 lines
1.3 KiB
C#
30 lines
1.3 KiB
C#
using Batnum;
|
|
using Batnum.Properties;
|
|
using System;
|
|
|
|
Console.WriteLine(ConsoleUtilities.CenterText(Resources.GAME_NAME));
|
|
Console.WriteLine(ConsoleUtilities.CenterText(Resources.INTRO_HEADER));
|
|
Console.WriteLine();
|
|
Console.WriteLine();
|
|
Console.WriteLine();
|
|
ConsoleUtilities.WriteLineWordWrap(Resources.INTRO_PART1);
|
|
Console.WriteLine();
|
|
ConsoleUtilities.WriteLineWordWrap(Resources.INTRO_PART2);
|
|
|
|
while (true)
|
|
{
|
|
Console.WriteLine();
|
|
int pileSize = ConsoleUtilities.AskNumberQuestion(Resources.START_QUESTION_PILESIZE, (n) => n > 1);
|
|
WinOptions winOption = (WinOptions)ConsoleUtilities.AskNumberQuestion(Resources.START_QUESTION_WINOPTION, (n) => Enum.IsDefined(typeof(WinOptions), n));
|
|
(int minTake, int maxTake) = ConsoleUtilities.AskNumberRangeQuestion(Resources.START_QUESTION_DRAWMINMAX, (min,max) => min >= 1 && max < pileSize && max > min);
|
|
Players currentPlayer = (Players)ConsoleUtilities.AskNumberQuestion(Resources.START_QUESTION_WHOSTARTS, (n) => Enum.IsDefined(typeof(Players), n));
|
|
|
|
BatnumGame game = new BatnumGame(pileSize, winOption, minTake, maxTake, currentPlayer, (question) => ConsoleUtilities.AskNumberQuestion(question, (c) => true));
|
|
while(game.IsRunning)
|
|
{
|
|
string message = game.TakeTurn();
|
|
Console.WriteLine(message);
|
|
}
|
|
|
|
}
|