public static void ShowDiceImageTwo(GameDice dice, ref string diceImageTwo) { //DICE Images for die two-------------------------------------------------------------------------// if (dice.DiceTwo == 1) { diceImageTwo = " _____\n" + "| |\n" + "| O |\n" + "|_____|"; Console.WriteLine(diceImageTwo); } else if (dice.DiceTwo == 2) { diceImageTwo = " _____\n" + "| O|\n" + "| |\n" + "|O____|"; Console.WriteLine(diceImageTwo); } if (dice.DiceTwo == 3) { diceImageTwo = " _____\n" + "| O|\n" + "| O |\n" + "|O____|"; Console.WriteLine(diceImageTwo); } if (dice.DiceTwo == 4) { diceImageTwo = " _____\n" + "|O O|\n" + "| |\n" + "|O___O|"; Console.WriteLine(diceImageTwo); } if (dice.DiceTwo == 5) { diceImageTwo = " _____\n" + "|O O|\n" + "| O |\n" + "|O___O|"; Console.WriteLine(diceImageTwo); } if (dice.DiceTwo == 6) { diceImageTwo = " _____\n" + "|O O|\n" + "|O O|\n" + "|O___O|"; Console.WriteLine(diceImageTwo); // } } }
public void Given_1RedPiecesAt6_And_1GreenPiecesAt2_Expect_GamePieceIsThreatenedAtTargetPosTrue() { // Arrange var gamePieces = new List <GamePiece>() { new GamePiece() { Color = (GameColor)1, Number = 1, TrackPosition = 35 }, //5 new GamePiece() { Color = (GameColor)3, Number = 1, TrackPosition = 12 } //2 }; var board = new GameBoard(); board.UpdateTracks(gamePieces); var dice = new GameDice(); dice.Result = 2; var aiPlayer = new GameAI(board, gamePieces, dice); board.UpdateTracks(gamePieces); // Act var gamePieceIsThreatened = aiPlayer.PieceIsThreatenedAtOriginPos(gamePieces[0]); // Assert Assert.True(gamePieceIsThreatened); }
public void Given_1RedPieces_And_1GreenPiecesAtNotTargetPosition_Expect_GamePieceCanKickFalse() { // Arrange var gamePieces = new List <GamePiece>() { new GamePiece() { Color = (GameColor)1, Number = 1, TrackPosition = 16 }, new GamePiece() { Color = (GameColor)3, Number = 1, TrackPosition = 3 } }; var board = new GameBoard(); board.UpdateTracks(gamePieces); var dice = new GameDice(); dice.Result = 5; var aiPlayer = new GameAI(board, gamePieces, dice); board.UpdateTracks(gamePieces); // Act var gamePieceCanKick = aiPlayer.GamePieceCanKick(gamePieces[0]); // Assert Assert.False(gamePieceCanKick); }
private void ResetAppropriateCube(int toIndex) { if (GameDice.RolledDouble == false) { if (_BlackPlayer.IsMyTurn) { if (PlayerInitialTriangleChoice - toIndex == GameDice.FirstCube) { GameDice.ResetFirstCube(); } else { GameDice.ResetSecondCube(); } } else { if (toIndex - PlayerInitialTriangleChoice == GameDice.FirstCube) { GameDice.ResetFirstCube(); } else { GameDice.ResetSecondCube(); } } } }
/// <summary> /// This method is called when we click on the dice canvas. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Dice_Click(object sender, RoutedEventArgs e) { bIsDiceClicked = true; DiceCanvas.IsEnabled = false; //GameDice.SetFace(currentFace, 100); GameDice.EndAnimation(); //We roll the dice for some time. GameDice.StartAnimation(_dbDiceAnimationTime); }
private void SpawnDice(GameDice prefab, int amount, List <GameDice> l) { amount = Mathf.Clamp(amount, 0, int.MaxValue); if (amount == 0) { return; } for (int i = 0; i < amount; i++) { GameDice dice = GameManager.Instance.SpawnObjectOverNetwork(prefab, VectorUtils.GetRandomVector3(-1, 1), Quaternion.Euler(VectorUtils.GetRandomVector3(-100, 100))); l.Add(dice); } }
private void ResetAppropriateCubeByNumber(int cube) { if (GameDice.RolledDouble == false) { if (cube == GameDice.FirstCube) { GameDice.ResetFirstCube(); } if (cube == GameDice.SecondCube) // don't enter both if clauses if we got double { GameDice.ResetSecondCube(); } } }
public void OperateAi(Player currPlayer) { while (PlayerWon == CheckerColor.Empty && currPlayer.Turns > 0 && currPlayer.Checklegality(GameDice, GameBoard)) { KeyValuePair <int, int> currMove = currPlayer.PlayAiTurn(GameDice, GameBoard); currPlayer.Turns--; if (!GameDice.IsDouble) { if (currPlayer.Color == CheckerColor.Black) { if (currMove.Key - currMove.Value == GameDice.FirstDice) { GameDice.DisableFirstDice(); } else { GameDice.DisableSecondDice(); } } else { int gameMove; if (currMove.Key == GameBoard.BarSource) { gameMove = currMove.Value + 1; } else { gameMove = currMove.Value - currMove.Key; } if (gameMove == GameDice.FirstDice) { GameDice.DisableFirstDice(); } else { GameDice.DisableSecondDice(); } } } } if (PlayerWon != currPlayer.Color) { SwapTurns(); } }
/// <summary> /// This method is called when the size of mainwindow changes. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Window_SizeChanged(object sender, SizeChangedEventArgs e) { RefreshView(); Dispatcher.BeginInvoke(new Action(() => { OnPropertyChanged("PlayerRBWidth"); OnPropertyChanged("PlayerRBHeight"); double constant1 = GameBoard.ActualWidth; GameBoard.OnSizeChanged(constant1); GameDice.InitializeDice(); GameDice.SetFace(currentFace); //StartGameFontSize = StartGameButton.ActualWidth / 6; ResizeLadders(); ResizeSnakes(); ResizeTokens(); })); }
public void When_ThrowDice_Expect_ValueBetween1And6() { // Arrange GameDice gameDice = new GameDice(); // Act int[] results = new int[100]; for (int i = 0; i < 100; i++) { gameDice.ThrowDice(); results[i] = gameDice.Result; } // Assert Assert.All(results, item => Assert.InRange(item, 0, 7)); }
public void ThrowDice() { int currTurns = 2; GameDice.ThrowDice(); if (GameDice.IsDouble) { currTurns = 4; } if (FirstPlayer.IsPlayerTurn) { FirstPlayer.Turns = currTurns; } else { SecondPlayer.Turns = currTurns; } }
/// <summary> /// This method is called when the rolling of dice is completed. So, we can set a new random face to the dice. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DiceAnimation_Completed(object sender, EventArgs e) { if (bIsDiceClicked == true) { bIsDiceClicked = false; Random diceRandom = new Random(); currentFace = (DiceFace)diceRandom.Next(1, 7); GameDice.SetFace(currentFace); int nextPos = Tokens[(int)_currentToken].CurrentPosition; if ((Tokens[(int)_currentToken].CanMove == false && (int)currentFace == 6)) { Tokens[(int)_currentToken].CanMove = true; bIsTokenMoved = true; } else if (Tokens[(int)_currentToken].CanMove == true) { if (nextPos + (int)currentFace > 100) { bIsTokenMoved = false; } else { nextPos = nextPos + (int)currentFace; bIsTokenMoved = true; } } Point dest; if (nextPos == 0) { dest = Tokens[(int)_currentToken].StartPoint; } else { dest = GameBoard.GetCenterCoordinates(nextPos); } Tokens[(int)_currentToken].CurrentPosition = nextPos; Tokens[(int)_currentToken].MoveTo(dest.X, dest.Y); } }
public void DecideFirstTurn() { while (GameDice.FirstDice == GameDice.SecondDice) { GameDice.ThrowDice(); if (GameDice.FirstDice > GameDice.SecondDice) { FirstPlayer.IsPlayerTurn = true; FirstPlayer.Turns = 2; IsTurnStart = true; } else if (GameDice.FirstDice < GameDice.SecondDice) { SecondPlayer.IsPlayerTurn = true; SecondPlayer.Turns = 2; IsTurnStart = true; } } }
public void GetDiceRolls() { GameDice.RollDice(); RolledDice = true; }
//TODO four player/ six player game //--------------------------------------------------------- //public static void FourPlayerBattleCountry(ref List<Commander> players, string directory, GameDice dice, // ref string diceImageOne, ref List<Country> countries, ref bool loop, ref int winner) //{ //} //public static void SixPlayerBattleCountry(ref List<Commander> players, string directory, GameDice dice, // ref string diceImageOne, ref List<Country> countries, ref bool loop, ref int winner) //{ //} //============================================================================== public static void PickBattleCountry(ref List <Commander> players, string directory, GameDice dice, ref string diceImageOne, ref List <Country> countries, ref bool loop, ref int winner) { ConsoleKeyInfo keyboard = new ConsoleKeyInfo(); Console.ForegroundColor = ConsoleColor.White; Console.Clear(); DisplayGameDocuments.DisplayCountriesList(directory); Console.ReadLine(); //Console.WriteLine(StandardMessages.DisplayAvailableCountries(ref countries)); do { for (int i = 0; i < countries.Count; i++) { Console.WriteLine($"{i + 1}. {countries[i].CountryName}"); } if (winner == 0) { Console.WriteLine("\nMake a selection player one -->"); } else if (winner == 1) { Console.WriteLine("\nMake a selection player two -->"); } keyboard = Console.ReadKey(); switch (keyboard.Key) { case ConsoleKey.D1: case ConsoleKey.NumPad1: players[winner].CommanderCountry = countries[0].CountryName; countries.RemoveAt(0); loop = true; break; case ConsoleKey.D2: case ConsoleKey.NumPad2: players[winner].CommanderCountry = countries[1].CountryName; countries.RemoveAt(1); loop = true; break; case ConsoleKey.D3: case ConsoleKey.NumPad3: players[winner].CommanderCountry = countries[2].CountryName; countries.RemoveAt(2); loop = true; break; case ConsoleKey.D4: case ConsoleKey.NumPad4: players[winner].CommanderCountry = countries[3].CountryName; countries.RemoveAt(3); loop = true; break; case ConsoleKey.D5: case ConsoleKey.NumPad5: players[winner].CommanderCountry = countries[4].CountryName; countries.RemoveAt(4); loop = true; break; case ConsoleKey.D6: case ConsoleKey.NumPad6: players[winner].CommanderCountry = countries[5].CountryName; countries.RemoveAt(5); loop = true; break; case ConsoleKey.Escape: break; default: break; } } while (loop == false); //TODO Create Battle Country Selection menu //TODO remove country from selection menu when a player chooses it //TODO Add battle country to players stats // }
//Two player game ----------------------------------------------------------------------------------------- public static void TwoPlayerBattleCountry(ref List <Commander> players, string directory, GameDice dice, ref string diceImageOne, ref List <Country> countries, ref bool loop, ref int winner) { do { //Determine who won the roll----------------------------------------------------------------------------- int num = 0; //string win = "Win" int playerNumIdentifier = 1; for (int i = 0; i < players.Count; i++) { Console.WriteLine($"Player{playerNumIdentifier}: Press enter to roll your dice."); Console.ReadLine(); RollDice.RollOneGameDice(ref dice); players[i].DiceNumber = dice.DiceOne; Console.WriteLine("Player" + playerNumIdentifier + "'s roll:"); DisplayDiceImage.ShowDiceImageOne(ref dice, ref diceImageOne); Console.WriteLine(); playerNumIdentifier++; } if (players[0].DiceNumber > players[1].DiceNumber) { Console.WriteLine("Player one wins first pick! "); Console.ReadLine(); winner = 0; PickBattleCountry(ref players, directory, dice, ref diceImageOne, ref countries, ref loop, ref winner); winner = 1; PickBattleCountry(ref players, directory, dice, ref diceImageOne, ref countries, ref loop, ref winner); loop = true; } else if (players[1].DiceNumber > players[0].DiceNumber) { Console.WriteLine("Player two wins first pick!"); Console.ReadLine(); winner = 1; PickBattleCountry(ref players, directory, dice, ref diceImageOne, ref countries, ref loop, ref winner); winner = 0; PickBattleCountry(ref players, directory, dice, ref diceImageOne, ref countries, ref loop, ref winner); loop = true; } else if (players[1].DiceNumber == players[0].DiceNumber || players[0].DiceNumber == players[1].DiceNumber) { } else { Console.WriteLine("Invalid! Error!"); } Console.ReadLine(); } while (loop == false); //PickBattleCountry(ref players, directory, dice, ref diceImageOne, ref countries, ref loop, ref winner); Console.WriteLine($"{players[0].CommanderCountry}\n{players[1].CommanderCountry}"); Console.ReadLine(); }
public static void ShowDiceImageOne(ref GameDice dice, ref string diceImageOne) { //DICE Images for die one---------------------------------------------------------------------------// //Change text color Console.ForegroundColor = ConsoleColor.Green; if (dice.DiceOne == 1) { diceImageOne = " _____\n" + "| |\n" + "| O |\n" + "|_____|"; Console.WriteLine(diceImageOne); } else if (dice.DiceOne == 2) { diceImageOne = " _____\n" + "| O|\n" + "| |\n" + "|O____|"; Console.WriteLine(diceImageOne); } if (dice.DiceOne == 3) { diceImageOne = " _____\n" + "| O|\n" + "| O |\n" + "|O____|"; Console.WriteLine(diceImageOne); } if (dice.DiceOne == 4) { diceImageOne = " _____\n" + "|O O|\n" + "| |\n" + "|O___O|"; Console.WriteLine(diceImageOne); } if (dice.DiceOne == 5) { diceImageOne = " _____\n" + "|O O|\n" + "| O |\n" + "|O___O|"; Console.WriteLine(diceImageOne); } if (dice.DiceOne == 6) { diceImageOne = " _____\n" + "|O O|\n" + "|O O|\n" + "|O___O|"; Console.WriteLine(diceImageOne); } Console.ForegroundColor = ConsoleColor.White; }
public bool PlayTurn(int sourceIndex, int targetIndex) { if (!CurrentPlayer.ValidateTurn(GameDice, GameBoard, sourceIndex, targetIndex)) { return(false); } if (FirstPlayer.IsPlayerTurn) { if (FirstPlayer.PlayTurn(sourceIndex, targetIndex, GameBoard)) { IsTurnStart = false; FirstPlayer.Turns--; if (FirstPlayer.Turns == 0) { SwapTurns(); } else if (!GameDice.IsDouble) { if (sourceIndex - targetIndex == GameDice.FirstDice) { GameDice.DisableFirstDice(); } else { GameDice.DisableSecondDice(); } } return(true); } else { return(false); } } else { if (SecondPlayer.PlayTurn(sourceIndex, targetIndex, GameBoard)) { IsTurnStart = false; SecondPlayer.Turns--; if (SecondPlayer.Turns == 0) { SwapTurns(); } else if (!GameDice.IsDouble) { int gameMove; if (sourceIndex == GameBoard.BarSource) { gameMove = targetIndex + 1; } else { gameMove = targetIndex - sourceIndex; } if (gameMove == GameDice.FirstDice) { GameDice.DisableFirstDice(); } else { GameDice.DisableSecondDice(); } } return(true); } else { return(false); } } }
public static void GetPlayerBattleCountry(ref List <Commander> players, string directory, GameDice dice, ref List <Country> countries) { Console.Clear(); string diceImageOne = ""; bool loop = false; int diceWinner = 0; //Battle Country Instructions---------------------------------------------------------------------- DisplayGameDocuments.DisplayBattleCountryInstructions(directory); Console.ReadLine(); Console.Clear(); DisplayGameDocuments.DisplayBattleRollPage(directory); //RollDice.DetermineWhoRollsFirst(ref dice); //Roll to Choose Battle Country--------------------------------------------------------------------- do { if (players.Count == 2) { TwoPlayerBattleCountry(ref players, directory, dice, ref diceImageOne, ref countries, ref loop, ref diceWinner); } //if(players.Count == 4) //{ // FourPlayerBattleCountry(ref players, directory, dice, ref diceImageOne, ref countries, ref loop, ref diceWinner); //} //if (players.Count == 6) //{ // SixPlayerBattleCountry(ref players, directory, dice, ref diceImageOne, ref countries, ref loop, ref diceWinner); //} } while (loop == false); //======================================================================================= }