public static List<FlammableSquare> GetThreeRandomSquaresInABlock(int min, int max, int blocknumber, Board GameBoard) { Random rnd = new Random(); //Here's the array we will eventually return. List<FlammableSquare> RandomSquares = new List<FlammableSquare>(); //Set up a list of the numbers to avoid duplicates. List<int> numbers = new List<int>(); int m = min; while (m < (max + 1)) { numbers.Add(m); m++; } //Get our random numbers List<int> randomNumbers = new List<int>(); randomNumbers.Add(-1); randomNumbers.Add(-1); randomNumbers.Add(-1); for(int x=0; x < randomNumbers.Count; x++) { while (!numbers.Contains(randomNumbers[x])) { randomNumbers[x] = rnd.Next(min, max); //MessageBox.Show(String.Join("; ", numbers) + " and x = " + x.ToString() + " and randomnumbers[" + x.ToString() + "] = " + randomNumbers[x].ToString()); } switch (blocknumber) { case 1: { RandomSquares.Add(GameBoard.Block1Randoms[randomNumbers[x]]); break; } case 2: { RandomSquares.Add(GameBoard.Block2Randoms[randomNumbers[x]]); break; } case 3: { RandomSquares.Add(GameBoard.Block3Randoms[randomNumbers[x]]); break; } case 4: { RandomSquares.Add(GameBoard.Block4Randoms[randomNumbers[x]]); break; } default: { throw new Exception("FUCkkkKkKkkkk!"); } } int index = numbers.IndexOf(randomNumbers[x]); numbers.RemoveAt(index); } return RandomSquares; }
public EventDispatcher(int numPlayers, Board gameBoard, MainForm currentForm) { this.numPlayers = numPlayers; this.GameBoard = gameBoard; this.CurrentForm = currentForm; }
private void DrawBoard() { switch (this.numPlayers) { case 2: { this.GameBoard = new Board(this.BlocksInPlay[0].ToString(), this.BlocksInPlay[1].ToString()); break; } case 3: { this.GameBoard = new Board(this.BlocksInPlay[0].ToString(), this.BlocksInPlay[1].ToString(), this.BlocksInPlay[2].ToString()); break; } case 4: { this.GameBoard = new Board(this.BlocksInPlay[0].ToString(), this.BlocksInPlay[1].ToString(), this.BlocksInPlay[2].ToString(), this.BlocksInPlay[3].ToString()); break; } default: { throw new ArgumentException("F****d it!"); } } this.GameBoard.DrawBoard(CurrentForm); }