public static void GetUserInput(int maxInput, bool stopper = false) { Console.WriteLine("Ingrese un valor entre 0 y " + maxInput); var resp = Console.ReadLine(); int numResp; bool parseSuccess = int.TryParse(resp, out numResp); if (parseSuccess == true) { if (stopper == true) { if (-1 <= numResp && numResp <= maxInput) { } } else if (stopper == false) { if (0 <= numResp && numResp <= maxInput) { } } else { Visualization.ConsoleError("El numero ingresado no esta dentro de los parámetros permitidos"); } } else { Visualization.ConsoleError("El valor ingresado no es un numero"); } }
public void Play() { foreach (Player player in players) { Visualization.ShowProgramMessage("Player " + Convert.ToString(player.Id) + " select Deck and Captains"); Visualization.ShowDecks(decks); int choiceDeck = Visualization.GetUserInput(decks.Count - 1); Deck deckChoice = decks[choiceDeck]; player.Deck = deckChoice; player.FirstHand(); Visualization.ShowCaptains(captains); int choiceCaptain = Visualization.GetUserInput(captains.Count - 1); player.ChooseCaptainCard(captains[choiceCaptain]); Visualization.ShowListOptions(new List <string>() { "Change Card", "Pass" }, "Change 3 cards or ready to play:"); int choice = Visualization.GetUserInput(1); int cont = 0; int choiceCard = -1; if (choice == 0) { while (true) { if (cont != 3) { Visualization.ShowHand(player.Hand); Visualization.ShowProgramMessage("Input the numbers of the cards to change (max 3). To stop enter -1"); choiceCard = Visualization.GetUserInput(player.Hand.Cards.Count - 1, true); } if (choiceCard == -1 || cont == 3) { break; } else { player.ChangeCard(choiceCard); cont++; } } } Visualization.ClearConsole(); } }
//Constructor public Game() { visualization = new Visualization(); decks = new List <Deck>(); captains = new List <SpecialCard>(); players = new Player[] { new Player(), new Player() }; int rndnumber = random.Next(0, 2); activePlayer = players[rndnumber]; boardGame = new Board(); endGame = false; turn = 0; players[0].Board = boardGame; players[1].Board = boardGame; AddDecks(); AddCaptains(); }
public void Play() { List <string> options = new List <string>() { "Change Card", "Pass" }; string message = "Change 3 cards or ready to play"; Visualization.ShowProgramMessage($"Player {ActivePlayer.Id} select Deck and Captain"); Visualization.ShowDecks(Decks); int input = Visualization.GetUserInput(2, false); ActivePlayer.Deck = Decks[input]; Visualization.ShowCaptains(Captains); int input2 = Visualization.GetUserInput(2, false); ActivePlayer.ChooseCaptainCard(Captains[input2]); ActivePlayer.FirstHand(); Visualization.ShowHand(ActivePlayer.Hand); Visualization.ShowListOptions(options, message); int input3 = Visualization.GetUserInput(2, false); if (input3 == 0) { Console.WriteLine($"Player {ActivePlayer.Id} change cards:"); Console.WriteLine("Hand:"); Visualization.ShowHand(ActivePlayer.Hand); Console.WriteLine("Input the number of cards to change (max 3). To stop enter -1"); int input4 = Visualization.GetUserInput(4, true); while (input4 > 0) // si el input es 0 o -1 nunca entra al while asi que lo dejo asi tal cual { Console.WriteLine("Enter the Card ID you want to change"); int cardid = Visualization.GetUserInput(10, true); ActivePlayer.ChangeCard(cardid); input4 -= 1; } } else { Console.WriteLine($"Player {ActivePlayer.Id} passed"); } Console.WriteLine($"Player {ActivePlayer.Id} turn has finished"); Console.WriteLine("Press any key to continue"); Console.ReadKey(); Visualization.ClearConsole(); }
public void Play() { for (int i = 1; i <= 2; i++) { Visualization.ShowProgramMessage($"Player {i} select Deck and Captain: "); Visualization.ShowDecks(decks); Visualization.GetUserInput(decks.Count); Visualization.ShowCaptains(captains); Visualization.GetUserInput(captains.Count); players[i].FirstHand(); Visualization.ShowHand(players[i].Hand); Visualization.ShowListOptions(new List <string>() { "Change Card", "Pass" }, "Change 3 cards or ready to play"); int usrdec = Visualization.GetUserInput(1); if (usrdec == 0) { int j = 0; while (i < 3) { Visualization.ShowProgramMessage($"Player {i} change cards:"); Visualization.ShowHand(players[i].Hand); Visualization.ShowProgramMessage("Input the number of the cards to change (max 3). To stop enter -1"); int usrdec2 = Visualization.GetUserInput(players[i].Hand.Cards.Count); if (usrdec2 == -1) { break; } Random random = new Random(); int newrandom = random.Next(players[i].Hand.Cards.Count); players[i].Hand.Cards[newrandom] = this.decks[i].Cards[newrandom]; j++; } } Visualization.ClearConsole(); } }
static void Main(string[] args) { List <String> opcionesj = new List <string>(); opcionesj.Add("Change Card"); opcionesj.Add("Pass"); Game game = new Game(); game.AddDecks(); game.AddCaptains(); //Lista players string[] players = new string[2]; players[0] = "Player 1"; players[1] = "Player 2"; Player player = new Player(); Player player1 = new Player(); List <Player> playerS = new List <Player>(); playerS.Add(player); playerS.Add(player1); Random rand = new Random(); int index = rand.Next(players.Length); int index2 = 0; if (index == 0) { index2 = 1; } else { Console.WriteLine($"Randomly selected player is {players[index]}"); } Visualization.ShowProgramMessage($"{players[index]} select Deck and Captain"); List <Deck> decks = new List <Deck>(); decks.Add(game.Decks[0]); decks.Add(game.Decks[1]); Visualization.ShowDecks(decks); int deckDecition = Visualization.GetUserInput(); if (deckDecition == 0 && index == 0) { playerS[0].Deck = decks[0]; playerS[1].Deck = decks[1]; Visualization.ShowProgramMessage($"Deck Selected by {players[0]} was: deck 1"); Visualization.ShowProgramMessage($"Deck given to {players[1]} was: deck 2"); } else if (deckDecition == 0 && index == 1) { playerS[1].Deck = decks[0]; playerS[0].Deck = decks[1]; Visualization.ShowProgramMessage($"Deck Selected by {players[1]} was: deck 1"); Visualization.ShowProgramMessage($"Deck given to {players[0]} was: deck 2"); } else if (deckDecition == 1 && index == 0) { playerS[0].Deck = decks[1]; playerS[1].Deck = decks[0]; Visualization.ShowProgramMessage($"Deck Selected by {players[0]} was: deck 2"); Visualization.ShowProgramMessage($"Deck given to {players[1]} was: deck 1"); } else { playerS[1].Deck = decks[1]; playerS[0].Deck = decks[0]; Visualization.ShowProgramMessage($"Deck Selected by {players[1]} was: deck 2"); Visualization.ShowProgramMessage($"Deck given to {players[0]} was: deck 1"); } Visualization.ShowCapatains(game.Captains); int captainDecition = Visualization.GetUserInput(); if (captainDecition == 0 && index == 0) { playerS[0].ChooseCaptainCard(game.Captains[0]); playerS[1].ChooseCaptainCard(game.Captains[1]); Visualization.ShowProgramMessage($"Captain Selected by {players[0]} was: {playerS[0].Captain.Name}\n"); Visualization.ShowProgramMessage($"Captain given to {players[1]} was: {playerS[1].Captain.Name}\n"); } else if (captainDecition == 0 && index == 1) { playerS[1].ChooseCaptainCard(game.Captains[0]); playerS[0].ChooseCaptainCard(game.Captains[1]); Visualization.ShowProgramMessage($"Captain Selected by {players[1]} was: {playerS[1].Captain.Name}\n"); Visualization.ShowProgramMessage($"Captain given to {players[0]} was: {playerS[0].Captain.Name}\n"); } else if (captainDecition == 1 && index == 0) { playerS[0].ChooseCaptainCard(game.Captains[1]); playerS[1].ChooseCaptainCard(game.Captains[0]); Visualization.ShowProgramMessage($"Captain Selected by {players[0]} was: {playerS[0].Captain.Name}\n"); Visualization.ShowProgramMessage($"Captain given to {players[1]} was: {playerS[1].Captain.Name}\n"); } else { playerS[1].ChooseCaptainCard(game.Captains[1]); playerS[0].ChooseCaptainCard(game.Captains[0]); Visualization.ShowProgramMessage($"Captain Selected by {players[1]} was: {playerS[1].Captain.Name}\n"); Visualization.ShowProgramMessage($"Captain given to {players[0]} was: {playerS[0].Captain.Name}\n"); } Board board = new Board(); player.Board = board; player1.Board = board; player.Deck.Shuffle(); player1.Deck.Shuffle(); player.FirstHand(); player1.FirstHand(); bool chekeo = game.CheckIfEndGame(player, player1); Console.WriteLine($"Turn of {players[index]}\n"); Visualization.ShowHand(playerS[index].Hand); Visualization.ShowListOptions("Change 3 Cards or ready to play", opcionesj); int cardDesition = Visualization.GetUserInput(); Console.WriteLine($"Turn of {players[index2]}\n"); Visualization.ShowHand(playerS[index2].Hand); Visualization.ShowListOptions("Change 3 Cards or ready to play", opcionesj); //Cmabio de Cartas /* * int counter = 0; * * if (cardDesition == 0) * { * while (cardDesition == -1 || counter >= 3) * { * counter += 1; * } * } * else * { * Visualization.ShowHand(playerS[index2].Hand); * Visualization.ShowListOptions("Change 3 Cards or ready to play", opcionesj); * } */ /* * int counter = 1; * Console.WriteLine("Player Hand:"); * foreach (Card card in player.Hand.Cards) * { * Console.WriteLine($"{counter++}: {card.Name}"); * } * counter = 1; * Console.WriteLine("\nPlayer Deck:"); * foreach (Card card in player.Deck.Cards) * { * Console.WriteLine($"{counter++}: {card.Name}"); * } */ //Test Change Card //player.ChangeCard(3); //counter = 1; //Console.WriteLine("\n New Player Hand:"); //foreach (Card card in player.Hand.Cards) //{ // Console.WriteLine($"{counter++}: {card.Name}"); //} //counter = 1; //Console.WriteLine("\n New Player Deck:"); //foreach (Card card in player.Deck.Cards) //{ // Console.WriteLine($"{counter++}: {card.Name}"); //} //Test draw card //player.DrawCard(); //counter = 1; //Console.WriteLine("\n New Player Hand:"); //foreach (Card card in player.Hand.Cards) //{ // Console.WriteLine($"{counter++}: {card.Name}"); //} //counter = 1; //Console.WriteLine("\n New Player Deck:"); //foreach (Card card in player.Deck.Cards) //{ // Console.WriteLine($"{counter++}: {card.Name}"); //} //Test play card //player.PlayCard(6); //counter = 1; //Console.WriteLine("\n New Player Hand:"); //foreach (Card card in player.Hand.Cards) //{ // Console.WriteLine($"{counter++}: {card.Name}"); //} //Console.WriteLine(String.Join(", ", board.GetMeleeAttackPoints())); //Console.WriteLine(String.Join(", ", board.GetRangeAttackPoints())); //Console.WriteLine(String.Join(", ", board.GetLongRangeAttackPoints())); }
public void Play() { Visualization.ShowCaptains(Captains); }
public static void Play(Player player, Deck deck, SpecialCard captain, Hand hand) { Visualization.ShowHand(hand); }
public void Play() { Visualization.ClearConsole(); }
public void Play() { Visualization.ShowProgramMessage("Player 1 select Deck and captain:"); players[0].Deck = Visualization.ShowDecks(decks); players[0].ChooseCaptainCard(Visualization.ShowCaptains(captains)); players[0].FirstHand(); Visualization.ShowHand(players[0].Hand); bool playerOneSelecting = true; int numberOfTimesPlayerOne = 0; while (playerOneSelecting) { Visualization.ShowListOptions(new List <string> { "ShowListOptions", "Pass" }, "Change 3 cards or ready to play:"); int userOption = Int32.Parse(System.Console.ReadLine()); if (userOption == 1) { playerOneSelecting = false; } else { if (numberOfTimesPlayerOne < 3) { System.Console.WriteLine("Input the number of the card you wan't to change. To stop write -1"); int userCard = Int32.Parse(System.Console.ReadLine()); if (userCard == -1) { playerOneSelecting = false; } else { players[0].Hand.Cards.RemoveAt(userCard); Random rnd = new Random(); int randomNumber = rnd.Next(0, players[0].Deck.Cards.Count); players[0].DrawCard(randomNumber); } } else { Visualization.ConsoleError("Ya no puedes cambiar mas cartas"); playerOneSelecting = false; } } } Visualization.ClearConsole(); Visualization.ShowProgramMessage("Player 2 select Deck and captain:"); players[1].Deck = Visualization.ShowDecks(decks); players[1].ChooseCaptainCard(Visualization.ShowCaptains(captains)); players[1].FirstHand(); Visualization.ShowHand(players[1].Hand); bool playerTwoSelecting = true; int numberOfTimesPlayerTwo = 0; while (playerTwoSelecting) { Visualization.ShowListOptions(new List <string> { "ShowListOptions", "Pass" }, "Change 3 cards or ready to play:"); int userOption = Int32.Parse(System.Console.ReadLine()); if (userOption == 1) { playerTwoSelecting = false; } else { if (numberOfTimesPlayerTwo < 3) { System.Console.WriteLine("Input the number of the card you wan't to change. To stop write -1"); int userCard = Int32.Parse(System.Console.ReadLine()); if (userCard == -1) { playerTwoSelecting = false; } else { players[1].Hand.Cards.RemoveAt(userCard); Random rnd = new Random(); int randomNumber = rnd.Next(0, players[1].Deck.Cards.Count); players[1].DrawCard(randomNumber); } } else { Visualization.ConsoleError("Ya no puedes cambiar mas cartas"); playerTwoSelecting = false; } } } Visualization.ClearConsole(); }