private void btnStartGame_Click(object sender, EventArgs e) { if (clients.Count > 1) { //stop broadcasting the IP tmrBroadCastIP.Stop(); //generate board for (int i = 0; i < clients.Count; i++) { if (clients[i].Rank != 0) { clients[i].player.Send(Encoding.ASCII.GetBytes(string.Format("numberOfPlayers#{0}#{1}#", clients.Count, clients[i].Rank))); clients[i].player.Send(Encoding.ASCII.GetBytes(string.Format("GameStarted#"))); } } GenerateSnakesAndLadders(); char[,] board = GenerateBoard(snakes, ladders); GamePlayingScreen gpc = new GamePlayingScreen(board, snakes, ladders, clients, clients.Count, 0, currentSocket, true); gpc.Show(); this.Visible = false; } else { MessageBox.Show("there is no enough clients "); } }
private void timerStartGame_Tick(object sender, EventArgs e) { try { if (startGame) { gpc = new GamePlayingScreen(board, snakes, ladders, null, numberOfPlayers, currentSocket, false, null); Console.WriteLine("Game will start"); Thread.Sleep(1000); this.Visible = false; gpc.Show(); timerStartGame.Stop(); Console.WriteLine("Game started"); return; } } catch (Exception ex) { Console.WriteLine("Game not started\n" + ex.Message + '\n' + ex.Data + '\n' + ex.StackTrace); } }
private void btnStartGame_Click(object sender, EventArgs e) { //foreach(Client c in clients) //{ // byte[] numPlayersBytes = new byte[20]; // numPlayersBytes = Encoding.ASCII.GetBytes(numberOfPlayers.ToString()); // c.playerSocket.Send(numPlayersBytes); //} tmrBroadCastIP.Stop(); IPEndPoint endPoint = new IPEndPoint(IPAddress.Broadcast, groupPort); String serverIP = GameStart.GetLocalIPAddress(); byte[] serverIPBytes = Encoding.ASCII.GetBytes("start"); udp.Send(serverIPBytes, serverIPBytes.Length, endPoint); Console.WriteLine("Broadcasted start game"); GenerateSnakesAndLadders(); char[,] board = GenerateBoard(snakes, ladders); gpc = new GamePlayingScreen(board, snakes, ladders, clients, clients.Count, currentSocket, true, udp); this.Visible = false; gpc.Show(); }