public static void TributeGems(Caravan gemField, Board board, int index) { for (int i = 0; i < index; i++) { Console.WriteLine("Taking a rate that isn't the first, " + "choose a gem to tribute"); string input = GetInput(); if (input.Length != 0) { Gem gemInput = Caravan.GemInput(input); if (gemField.HasGem(gemInput)) { gemField.DiscardGem(gemInput); board.TributeRate(gemInput, i); } else { Console.WriteLine("Invalid Input, try again"); i--; } } else { Console.WriteLine("Invalid Input, try again"); i--; } } }
public void DiscardGem_NoY_CantDiscardEmpty() { Caravan beginCaravan = new Caravan(0, 1, 0, 0); Caravan endCaravan = new Caravan(0, 1, 0, 0); beginCaravan.DiscardGem(Gem.Blue); Assert.Equal(beginCaravan, endCaravan); }
public void DiscardGem_Y_DiscardCorrectly() { Caravan beginCaravan = new Caravan(3, 0, 0, 8); Caravan endCaravan = new Caravan(2, 0, 0, 8); beginCaravan.DiscardGem(Gem.Yellow); Assert.Equal(beginCaravan, endCaravan); }
public static void DiscardGems(Caravan gemField) { while (gemField.TotalGems() > 10) { Console.WriteLine("Discard down to 10, choose Gem to discard"); string input = GetInput(); gemField.DiscardGem(Caravan.GemInput(input)); } }
public void DiscardGem_BBBBBBBG_DiscardCorrectly() { Caravan beginCaravan = new Caravan(2, 1, 9, 6); Caravan endCaravan = new Caravan(2, 0, 2, 6); beginCaravan.DiscardGem(Gem.Blue); beginCaravan.DiscardGem(Gem.Blue); beginCaravan.DiscardGem(Gem.Blue); beginCaravan.DiscardGem(Gem.Blue); beginCaravan.DiscardGem(Gem.Blue); beginCaravan.DiscardGem(Gem.Blue); beginCaravan.DiscardGem(Gem.Blue); beginCaravan.DiscardGem(Gem.Green); Assert.Equal(beginCaravan, endCaravan); }