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();
        }