private void HandleGameMsg(string msg) { string[] ar = msg.Split(','); int type = int.Parse(ar[0]); int playerNum, x, y, dir, scoreType, score; Console.WriteLine("In Handle Game Msg"); sock.MulticastLoopback = false; Debug.Write("TYPE: " + type); switch (type) { case 0: // peg placement x = int.Parse(ar[1]); int player = int.Parse(ar[3]); if (int.Parse(ar[4]) == 0) { Console.WriteLine("Player is: " + player); if (player == 0) { gameArea.insertPieces(Brushes.Red, Game.grid[x, Game.columnHeight(x)]); Game.board[x, Game.HEIGHT - 1 - Game.columnHeight(x)].setColor(Color.Red); Game.currentPlayer = 1; gameArea.freezeBoard(true); } else if (player == 1) { gameArea.insertPieces(Brushes.Yellow, Game.grid[x, Game.columnHeight(x)]); Game.board[x, Game.HEIGHT - 1 - Game.columnHeight(x)].setColor(Color.Yellow); Game.currentPlayer = 0; gameArea.freezeBoard(true); } gameArea.freezeBoard(true); } else { if (player == 0) { gameArea.freezeBoard(false); gameArea.insertPieces(Brushes.Red, Game.grid[x, Game.columnHeight(x)]); Game.board[x, Game.HEIGHT - 1 - Game.columnHeight(x)].setColor(Color.Red); createText("Red"); } else if (player == 1) { gameArea.freezeBoard(false); gameArea.insertPieces(Brushes.Yellow, Game.grid[x, Game.columnHeight(x)]); Game.board[x, Game.HEIGHT - 1 - Game.columnHeight(x)].setColor(Color.Yellow); createText("Yellow"); } } break; case 1: break; } }
public void dropPeg(object sender, EventArgs e) { Button b = (Button)sender; Point p = b.Location; switch (p.X) { case 290: if (columnHeight(0) != -1) { switch (currentPlayer) { case 0: form.insertPieces(player1Fill, grid[0, columnHeight(0)]); board[0, HEIGHT - 1 - columnHeight(0)].setColor(Color.Red); System.Diagnostics.Debug.WriteLine(checkWinState(board[0, HEIGHT - 2 - columnHeight(0)])); form.loopBack(false); int winningIndex = 0; if (checkWinState(board[0, HEIGHT - 2 - columnHeight(0)])) { winningIndex = 1; createText("Red"); } Sender.SendGameMsg(0, 0 + "," + (HEIGHT - 2 - columnHeight(0)) + "," + currentPlayer + "," + winningIndex); form.loopBack(true); currentPlayer = 1; Console.WriteLine("Y: " + (HEIGHT - 1 - columnHeight(0))); //Sender.SendGameMsg(1, "Unfreeze"); break; case 1: form.insertPieces(player2Fill, grid[0, columnHeight(0)]); board[0, HEIGHT - 1 - columnHeight(0)].setColor(Color.Yellow); System.Diagnostics.Debug.WriteLine(checkWinState(board[0, HEIGHT - 2 - columnHeight(0)])); form.loopBack(false); winningIndex = 0; if (checkWinState(board[0, HEIGHT - 2 - columnHeight(0)])) { createText("Yellow"); winningIndex = 1; } Sender.SendGameMsg(0, 0 + "," + (HEIGHT - 2 - columnHeight(0)) + "," + currentPlayer + "," + winningIndex); form.loopBack(true); currentPlayer = 0; break; } } break; case 390: if (columnHeight(1) != -1) { switch (currentPlayer) { case 0: form.insertPieces(player1Fill, grid[1, columnHeight(1)]); board[1, HEIGHT - 1 - columnHeight(1)].setColor(Color.Red); System.Diagnostics.Debug.WriteLine(checkWinState(board[1, HEIGHT - 2 - columnHeight(1)])); form.loopBack(false); int winningIndex = 0; if (checkWinState(board[1, HEIGHT - 2 - columnHeight(1)])) { createText("Red"); winningIndex = 1; } Sender.SendGameMsg(0, 1 + "," + (HEIGHT - 2 - columnHeight(1)) + "," + currentPlayer + "," + winningIndex); form.loopBack(true); currentPlayer = 1; break; case 1: form.insertPieces(player2Fill, grid[1, columnHeight(1)]); board[1, HEIGHT - 1 - columnHeight(1)].setColor(Color.Yellow); System.Diagnostics.Debug.WriteLine(checkWinState(board[1, HEIGHT - 2 - columnHeight(1)])); form.loopBack(false); winningIndex = 0; if (checkWinState(board[1, HEIGHT - 2 - columnHeight(1)])) { createText("Yellow"); winningIndex = 1; } Sender.SendGameMsg(0, 1 + "," + (HEIGHT - 2 - columnHeight(1)) + "," + currentPlayer + "," + winningIndex); form.loopBack(true); currentPlayer = 0; break; } } break; case 490: if (columnHeight(2) != -1) { switch (currentPlayer) { case 0: form.insertPieces(player1Fill, grid[2, columnHeight(2)]); board[2, HEIGHT - 1 - columnHeight(2)].setColor(Color.Red); System.Diagnostics.Debug.WriteLine(checkWinState(board[2, HEIGHT - 2 - columnHeight(2)])); form.loopBack(false); int winningIndex = 0; if (checkWinState(board[2, HEIGHT - 2 - columnHeight(2)])) { createText("Red"); winningIndex = 1; } Sender.SendGameMsg(0, 2 + "," + (HEIGHT - 2 - columnHeight(2)) + "," + currentPlayer + "," + winningIndex); form.loopBack(true); currentPlayer = 1; break; case 1: form.insertPieces(player2Fill, grid[2, columnHeight(2)]); board[2, HEIGHT - 1 - columnHeight(2)].setColor(Color.Yellow); System.Diagnostics.Debug.WriteLine(checkWinState(board[2, HEIGHT - 2 - columnHeight(2)])); form.loopBack(false); winningIndex = 0; if (checkWinState(board[2, HEIGHT - 2 - columnHeight(2)])) { createText("Yellow"); winningIndex = 1; } Sender.SendGameMsg(0, 2 + "," + (HEIGHT - 2 - columnHeight(2)) + "," + currentPlayer + "," + winningIndex); form.loopBack(true); currentPlayer = 0; break; } } break; case 590: if (columnHeight(3) != -1) { switch (currentPlayer) { case 0: form.insertPieces(player1Fill, grid[3, columnHeight(3)]); board[3, HEIGHT - 1 - columnHeight(3)].setColor(Color.Red); System.Diagnostics.Debug.WriteLine(checkWinState(board[3, HEIGHT - 2 - columnHeight(3)])); form.loopBack(false); int winningIndex = 0; if (checkWinState(board[3, HEIGHT - 2 - columnHeight(3)])) { createText("Red"); winningIndex = 1; } Sender.SendGameMsg(0, 3 + "," + (HEIGHT - 2 - columnHeight(3)) + "," + currentPlayer + "," + winningIndex); form.loopBack(true); currentPlayer = 1; break; case 1: form.insertPieces(player2Fill, grid[3, columnHeight(3)]); board[3, HEIGHT - 1 - columnHeight(3)].setColor(Color.Yellow); System.Diagnostics.Debug.WriteLine(checkWinState(board[3, HEIGHT - 2 - columnHeight(3)])); form.loopBack(false); winningIndex = 0; if (checkWinState(board[3, HEIGHT - 2 - columnHeight(3)])) { createText("Yellow"); winningIndex = 1; } Sender.SendGameMsg(0, 3 + "," + (HEIGHT - 2 - columnHeight(3)) + "," + currentPlayer + "," + winningIndex); form.loopBack(true); currentPlayer = 0; break; } } break; case 690: if (columnHeight(4) != -1) { switch (currentPlayer) { case 0: form.insertPieces(player1Fill, grid[4, columnHeight(4)]); board[4, HEIGHT - 1 - columnHeight(4)].setColor(Color.Red); System.Diagnostics.Debug.WriteLine(checkWinState(board[4, HEIGHT - 2 - columnHeight(4)])); form.loopBack(false); int winningIndex = 0; if (checkWinState(board[4, HEIGHT - 2 - columnHeight(4)])) { createText("Red"); winningIndex = 1; } Sender.SendGameMsg(0, 4 + "," + (HEIGHT - 2 - columnHeight(4)) + "," + currentPlayer + "," + winningIndex); form.loopBack(true); currentPlayer = 1; break; case 1: form.insertPieces(player2Fill, grid[4, columnHeight(4)]); board[4, HEIGHT - 1 - columnHeight(4)].setColor(Color.Yellow); System.Diagnostics.Debug.WriteLine(checkWinState(board[4, HEIGHT - 2 - columnHeight(4)])); form.loopBack(false); winningIndex = 0; if (checkWinState(board[4, HEIGHT - 2 - columnHeight(4)])) { createText("Yellow"); winningIndex = 1; } Sender.SendGameMsg(0, 4 + "," + (HEIGHT - 2 - columnHeight(4)) + "," + currentPlayer + "," + winningIndex); form.loopBack(true); currentPlayer = 0; break; } } break; case 790: if (columnHeight(5) != -1) { switch (currentPlayer) { case 0: form.insertPieces(player1Fill, grid[5, columnHeight(5)]); board[5, HEIGHT - 1 - columnHeight(5)].setColor(Color.Red); System.Diagnostics.Debug.WriteLine(checkWinState(board[5, HEIGHT - 2 - columnHeight(5)])); form.loopBack(false); int winningIndex = 0; if (checkWinState(board[5, HEIGHT - 2 - columnHeight(5)])) { createText("Red"); winningIndex = 1; } Sender.SendGameMsg(0, 5 + "," + (HEIGHT - 2 - columnHeight(5)) + "," + currentPlayer + "," + winningIndex); form.loopBack(true); currentPlayer = 1; break; case 1: form.insertPieces(player2Fill, grid[5, columnHeight(5)]); board[5, HEIGHT - 1 - columnHeight(5)].setColor(Color.Yellow); System.Diagnostics.Debug.WriteLine(checkWinState(board[5, HEIGHT - 2 - columnHeight(5)])); form.loopBack(false); winningIndex = 0; if (checkWinState(board[5, HEIGHT - 2 - columnHeight(5)])) { createText("Yellow"); winningIndex = 1; } Sender.SendGameMsg(0, 5 + "," + (HEIGHT - 2 - columnHeight(5)) + "," + currentPlayer + "," + winningIndex); form.loopBack(true); currentPlayer = 0; break; } } break; case 890: if (columnHeight(6) != -1) { switch (currentPlayer) { case 0: form.insertPieces(player1Fill, grid[6, columnHeight(6)]); board[6, HEIGHT - 1 - columnHeight(6)].setColor(Color.Red); System.Diagnostics.Debug.WriteLine(checkWinState(board[6, HEIGHT - 2 - columnHeight(6)])); form.loopBack(false); int winningIndex = 0; if (checkWinState(board[6, HEIGHT - 2 - columnHeight(6)])) { winningIndex = 1; createText("Red"); } Sender.SendGameMsg(0, 6 + "," + (HEIGHT - 2 - columnHeight(6)) + "," + currentPlayer + "," + winningIndex); form.loopBack(true); currentPlayer = 1; break; case 1: form.insertPieces(player2Fill, grid[6, columnHeight(6)]); board[6, HEIGHT - 1 - columnHeight(6)].setColor(Color.Yellow); System.Diagnostics.Debug.WriteLine(checkWinState(board[6, HEIGHT - 2 - columnHeight(6)])); form.loopBack(false); winningIndex = 0; if (checkWinState(board[6, HEIGHT - 2 - columnHeight(6)])) { createText("Yellow"); winningIndex = 1; } Sender.SendGameMsg(0, 6 + "," + (HEIGHT - 2 - columnHeight(6)) + "," + currentPlayer + "," + winningIndex); form.loopBack(true); currentPlayer = 0; break; } } break; } freezeBoard(false); }