private async void StartBT_Click(object sender, EventArgs e)
        {
            mylistener = new TcpListener(IPAddress.Parse((ServerHostTB.Text)), Convert.ToInt32(ServerPortTb.Text));
            mylistener.Start(10);
            label4.Text = "Server started";
            chk         = 1;
            timer1.Start();
            while (true)
            {
                TcpClient mytcpclient = await mylistener.AcceptTcpClientAsync();

                client_class tmp = new client_class();


                TcpClient clnt = mytcpclient;
                netStream = clnt.GetStream();
                if (netStream.DataAvailable)
                {
                    byte[] bytes = new byte[256];
                    await netStream.ReadAsync(bytes, 0, 256);

                    string name = Encoding.UTF8.GetString(bytes);

                    int check = 0;
                    foreach (var cln in client_name_list)
                    {
                        if (cln.client_name == name)
                        {
                            check += 1;
                            MessageBox.Show("oops");
                        }
                    }
                    if (check == 0)
                    {
                        tmp.client_name = name;
                        tmp.mytcpclient = mytcpclient;
                        client_name_list.Add(tmp);
                        listBox1.Items.Clear();
                        foreach (var nm in client_name_list)
                        {
                            listBox1.Items.Add(nm.client_name);
                        }
                        //MessageBox.Show(tmp.client_name);

                        //client_list.Add(mytcpclient);
                        label3.Text = client_name_list.Count().ToString();
                    }
                }
            }
        }
Пример #2
0
 private void ClientSendBT_Click(object sender, EventArgs e)
 {
     if (netStream == null)
     {
         return;
     }
     if (netStream.CanWrite)
     {
         client_class tmp = new client_class();
         client_list.Clear();
         tmp.client_name    = ClientNameTB.Text;
         tmp.client_message = ClientChatTB.Text;
         client_list.Add(tmp);
         foreach (var clnt in client_list)
         {
             Byte[] sendBytes = Encoding.UTF8.GetBytes(tmp.client_name + "\r\n" + ClientChatTB.Text + "\r\n");
             netStream.Write(sendBytes, 0, sendBytes.Length);
         }
     }
     ClientChatTB.Text = "";
 }
        private void StartGameBT_Click(object sender, EventArgs e)
        {
            if (chk == 1)
            {
                //StartGameBT.Enabled = false;
                timer1.Stop();
                //timer2.Stop();
                //timer2.Start();
                //timer3.Start();
                client_match.Clear();
                board = new int[board_size, board_size];
                int          turnA;
                int          turnB;
                Random       random = new Random();
                client_class tmp    = new client_class();
                client_class tmp2   = new client_class();
                if (client_name_list.Count >= 2)
                {
                    turnA = random.Next(0, client_name_list.Count());
                    bool check = true;
                    while (check)
                    {
                        turnB = random.Next(0, client_name_list.Count());
                        if (turnA == turnB)
                        {
                        }
                        else
                        {
                            check       = false;
                            ALabel.Text = client_name_list[turnA].client_name;
                            BLabel.Text = client_name_list[turnB].client_name;

                            foreach (var clientt in client_name_list)
                            {
                                if (clientt.client_name == client_name_list[turnA].client_name)
                                {
                                    tmp.client_name = client_name_list[turnA].client_name;
                                    tmp.mytcpclient = client_name_list[turnA].mytcpclient;
                                    tmp.turn        = 1;
                                    client_match.Add(tmp);
                                    netStream = clientt.mytcpclient.GetStream();
                                    Byte[] sendBytes = Encoding.UTF8.GetBytes("A");

                                    netStream.Write(sendBytes, 0, sendBytes.Length);
                                    checkk += 1;
                                }
                                else if (clientt.client_name == client_name_list[turnB].client_name)
                                {
                                    tmp2.client_name = client_name_list[turnB].client_name;
                                    tmp2.mytcpclient = client_name_list[turnB].mytcpclient;
                                    tmp2.turn        = 0;
                                    client_match.Add(tmp2);
                                    netStream = clientt.mytcpclient.GetStream();
                                    Byte[] sendBytes = Encoding.UTF8.GetBytes("B");

                                    netStream.Write(sendBytes, 0, sendBytes.Length);
                                    checkk += 1;
                                }
                                else
                                {
                                    netStream = clientt.mytcpclient.GetStream();
                                    Byte[] sendBytes = Encoding.UTF8.GetBytes("Watcher");

                                    netStream.Write(sendBytes, 0, sendBytes.Length);
                                }
                            }
                        }
                    }
                    MessageBox.Show("Game Started");
                }
                else
                {
                    MessageBox.Show("Not enough player");
                }
                //MessageBox.Show(client_match.Count.ToString());

                start = 1;
            }
            else
            {
                MessageBox.Show("Please start server");
            }
            timer2.Start();
            //timer1.Start();
        }