mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2025-12-22 23:26:40 -08:00
Initial version
This commit is contained in:
30
08 Batnum/csharp/Program.cs
Normal file
30
08 Batnum/csharp/Program.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user