using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net; //匯入網路通訊協定相關函數
using System.Net.Sockets; //匯入網路插座功能函數
using System.Threading; //匯入多執行緒功能函數
using System.Collections; //匯入集合物件
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int count = 1;
string hint = "";
string Tips = "Tips:AB";
string a_char_is = "A=>";
string b_char_is = "B=>";
string A_num = "", B_num = "";
string word = "";
string A_word = "";
string B_word = "";
string input = "";
int i, n;
string str = "";
Thread Th;//網路監聽執行緒
TcpListener Server; //伺服端網路監聽器(相當於電話總機)
Socket Client; //給客戶用的連線物件(相當於電話分機)
Thread Th_Svr; //伺服器監聽用執行緒(電話總機開放中)
Thread Th_Clt; //客戶用的通話執行緒(電話分機連線中)
Hashtable HT = new Hashtable(); //客戶名稱與通訊物件的集合(雜湊表)(key:Name, Socket)
//開啟 Server:用 Server Thread 來監聽 Client
private void button1_Click(object sender, EventArgs e)
{
//忽略跨執行緒處理的錯誤(允許跨執行緒存取變數)
CheckForIllegalCrossThreadCalls = false;
Th_Svr = new Thread(ServerSub); //宣告監聽執行緒(副程式ServerSub)
Th_Svr.IsBackground = true; //設定為背景執行緒
Th_Svr.Start(); //啟動監聽執行緒
button1.Enabled = false; //讓按鍵無法使用(不能重複啟動伺服器)
}
//接受客戶連線要求的程式(如同電話總機),針對每一客戶會建立一個連線,以及獨立執行緒
private void ServerSub()
{
//Server IP 和 Port
IPEndPoint EP = new IPEndPoint(IPAddress.Parse(textBox1.Text), int.Parse(textBox2.Text));
Server = new TcpListener(EP); //建立伺服端監聽器(總機)
Server.Start(100); //啟動監聽設定允許最多連線數100人
while (true) //無限迴圈監聽連線要求
{
Client = Server.AcceptSocket(); //建立此客戶的連線物件Client
Th_Clt = new Thread(Listen); //建立監聽這個客戶連線的獨立執行緒
Th_Clt.IsBackground = true; //設定為背景執行緒
Th_Clt.Start(); //開始執行緒的運作
}
}
//監聽客戶訊息的程式
private void Listen()
{
Socket Sck = Client; //複製Client通訊物件到個別客戶專用物件Sck
Thread Th = Th_Clt; //複製執行緒Th_Clt到區域變數Th
while (true) //持續監聽客戶傳來的訊息
{
try //用 Sck 來接收此客戶訊息,inLen 是接收訊息的 byte 數目
{
byte[] B = new byte[1023]; //建立接收資料用的陣列,長度須大於可能的訊息
int inLen = Sck.Receive(B); //接收網路資訊(byte陣列)
string Msg = Encoding.Default.GetString(B, 0, inLen); //翻譯實際訊息(長度inLen)
string Cmd = Msg.Substring(0, 1); //取出命令碼 (第一個字)
string Str = Msg.Substring(1); //取出命令碼之後的訊息
switch (Cmd) //依據命令碼執行功能
{
case "0": //有新使用者上線:新增使用者到名單中
HT.Add(Str, Sck); //連線加入雜湊表,Key:使用者,Value:連線物件(Socket)
listBox1.Items.Add(Str); //加入上線者名單
Random rnd = new Random();
int num = rnd.Next(53);
switch (num)
{
case 1:
word = "kobe";
hint = "小飛俠";
break;
case 2:
word = "lebron";
hint = "歷史得分王";
break;
case 3:
word = "jordan";
hint = "籃球之神";
break;
case 4:
word = "hardan";
hint = " 鬍子";
break;
case 5:
word = "oneal";
hint = "ok組合";
break;
case 6:
word = "paul";
hint = "現役太陽頂尖控球後衛";
break;
case 7:
word = "irving";
hint = "猶太人事件";
break;
case 8:
word = "curry";
hint = "歷史三分王";
break;
case 9:
word = "russell";
hint = "歷史冠軍王";
break;
case 10:
word = "chanberlain";
hint = "單場100分";
break;
case 11:
word = "bosh";
hint = "龍王";
break;
case 12:
word = "wade";
hint = "閃電俠";
break;
case 13:
word = "durant";
hint = "死神";
break;
case 14:
word = "butter";
hint = "士官長";
break;
case 15:
word = "caruso";
hint = "禿曼巴";
break;
case 16:
word = "williams";
hint = "白巧克力";
break;
case 17:
word = "rodman";
hint = "小蟲";
break;
case 18:
word = "jokic";
hint = "小丑";
break;
case 19:
word = "howard";
hint = "桃園雲豹球員 ";
break;
case 20:
word = "parker";
hint = "法國小跑車";
break;
case 21:
word = "thompson";
hint = "浪花兄弟";
break;
case 22:
word = "wiggins";
hint = "枸杞哥";
break;
case 23:
word = "booker";
hint = "書人";
break;
case 24:
word = "cousins";
hint = "表弟";
break;
case 25:
word = "iverson";
hint = "戰神";
break;
case 26:
word = "rose";
hint = "最年輕mvp";
break;
case 27:
word = "smith";
hint = "帶刀侍衛";
break;
case 28:
word = "davis";
hint = "濃眉哥";
break;
case 29:
word = "doncic";
hint = "胖七七";
break;
case 30:
word = "gasol";
hint = "紫金王朝鬥牛士";
break;
case 31:
word = "westbrook";
hint = "忍者龜";
break;
case 32:
word = "ibaka";
hint = "nba最長";
break;
case 33:
word = "adams";
hint = "水行俠";
break;
case 34:
word = "allen";
hint = "雷槍";
break;
case 35:
word = "garnett";
hint = "狼王";
break;
case 36:
word = "anthony";
hint = "甜瓜";
break;
case 37:
word = "lowry";
hint = "聯盟翹屁股";
break;
case 38:
word = "mitchell";
hint = "蜘蛛人";
break;
case 39:
word = "green";
hint = "踢蛋綠";
break;
case 40:
word = " antetokounmpo";
hint = "希臘怪獸";
break;
}
textBox3.Clear();
textBox3.Text = word;
Send("Q"+word);
Send("H" +hint);
break;
case "9":
HT.Remove(Str); //移除使用者名稱為Name的連線物件
listBox1.Items.Remove(Str); //自上線者名單移除Name
Th.Abort(); //結束此客戶的監聽執行緒
break;
case "R":
Random r = new Random();
int number = r.Next(53);
switch (number)
{
case 1:
word = "kobe";
hint = "小飛俠";
break;
case 2:
word = "lebron";
hint = "歷史得分王";
break;
case 3:
word = "jordan";
hint = "籃球之神";
break;
case 4:
word = "hardan";
hint = " 鬍子";
break;
case 5:
word = "oneal";
hint = "ok組合";
break;
case 6:
word = "paul";
hint = "現役太陽頂尖控球後衛";
break;
case 7:
word = "irving";
hint = "猶太人事件";
break;
case 8:
word = "curry";
hint = "歷史三分王";
break;
case 9:
word = "russell";
hint = "歷史冠軍王";
break;
case 10:
word = "chanberlain";
hint = "單場100分";
break;
case 11:
word = "bosh";
hint = "龍王";
break;
case 12:
word = "wade";
hint = "閃電俠";
break;
case 13:
word = "durant";
hint = "死神";
break;
case 14:
word = "butter";
hint = "士官長";
break;
case 15:
word = "caruso";
hint = "禿曼巴";
break;
case 16:
word = "williams";
hint = "白巧克力";
break;
case 17:
word = "rodman";
hint = "小蟲";
break;
case 18:
word = "jokic";
hint = "小丑";
break;
case 19:
word = "howard";
hint = "桃園雲豹球員 ";
break;
case 20:
word = "parker";
hint = "法國小跑車";
break;
case 21:
word = "thompson";
hint = "浪花兄弟";
break;
case 22:
word = "wiggins";
hint = "枸杞哥";
break;
case 23:
word = "booker";
hint = "書人";
break;
case 24:
word = "cousins";
hint = "表弟";
break;
case 25:
word = "iverson";
hint = "戰神";
break;
case 26:
word = "rose";
hint = "最年輕mvp";
break;
case 27:
word = "smith";
hint = "帶刀侍衛";
break;
case 28:
word = "davis";
hint = "濃眉哥";
break;
case 29:
word = "doncic";
hint = "胖七七";
break;
case 30:
word = "gasol";
hint = "紫金王朝鬥牛士";
break;
case 31:
word = "westbrook";
hint = "忍者龜";
break;
case 32:
word = "ibaka";
hint = "nba最長";
break;
case 33:
word = "adams";
hint = "水行俠";
break;
case 34:
word = "allen";
hint = "雷槍";
break;
case 35:
word = "garnett";
hint = "狼王";
break;
case 36:
word = "anthony";
hint = "甜瓜";
break;
case 37:
word = "lowry";
hint = "聯盟翹屁股";
break;
case 38:
word = "mitchell";
hint = "蜘蛛人";
break;
case 39:
word = "green";
hint = "踢蛋綠";
break;
case 40:
word = " antetokounmpo";
hint = "希臘怪獸";
break;
}
textBox3.Clear();
textBox3.Text = word;
Send("Q" + word);
Send("H" + hint);
break;
case "A":
string none = "";
textBox5.Clear();
textBox6.Clear();
textBox7.Clear();
int a = 0, b = 0;
input = Str;
textBox4.Text = input;
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
if (input[i] == word[j])
{
if (i == j)
{
a++;
A_word += input[i];
textBox6.Text += input[i];
}
else
{
b++;
B_word += input[i];
textBox7.Text += input[i];
}
}
none += input[i];
}
}
string A_num = Convert.ToString(a);
string B_num = Convert.ToString(b);
textBox5.Text = A_num + "A";
textBox5.Text += B_num + "B";
Send("C" + none);
Thread.Sleep(200);
Send("N"+textBox5.Text);
Thread.Sleep(200);
Send("A" + textBox6.Text);
Thread.Sleep(200);
Send("B" + textBox7.Text);
if (a == 5)
{
Send("p");
}
break;
}
}
catch (Exception)
{
//有錯誤時忽略,通常是客戶端無預警強制關閉程式,測試階段常發生
}
}
}
//關閉視窗時
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
Application.ExitThread(); //關閉所有執行緒
}
private void button2_Click(object sender, EventArgs e)
{
BroadcastMessage(textBox8.Text, 2021);
textBox8.Text = "";
}
private static void BroadcastMessage(string message, int port)
{
BroadcastMessage(Encoding.Default.GetBytes(message), port);
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void label5_Click(object sender, EventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
}
private static void BroadcastMessage(byte[] message, int port)
{
using (var sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram,
ProtocolType.Udp))
{
sock.EnableBroadcast = true;
sock.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, true);
var iep = new IPEndPoint(IPAddress.Broadcast, port);
sock.SendTo(message, iep);
}
}
private void Send(string Str)
{
byte[] B = Encoding.Default.GetBytes(Str);//翻譯字串Str為Byte陣列B
foreach (Socket s in HT.Values)
s.Send(B, 0, B.Length, SocketFlags.None); //使用連線物件傳送資料
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net; //匯入網路通訊協定相關函數
using System.Net.Sockets; //匯入網路插座功能函數
using System.Threading; //匯入多執行緒功能函數
using System.Collections; //匯入集合物件
using System.Media;
using WMPLib;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
WMPLib.WindowsMediaPlayer wplayer = new WMPLib.WindowsMediaPlayer();
System.Media.SoundPlayer sp = new System.Media.SoundPlayer();
System.Media.SoundPlayer sp2 = new System.Media.SoundPlayer();
bool p2 = false;
int count=1;
string remember = "";//A
string remember2 = "";//B
string remember3 = "";//沒有
string title = "";
string sum = "";
string hint = "";
Socket T; //通訊物件
Thread TH;
string User; //使用者
//登入伺服器
private void button1_Click(object sender, EventArgs e)
{
string IP = textBox1.Text; //伺服器IP
int Port = int.Parse(textBox2.Text); //伺服器Port
IPEndPoint EP = new IPEndPoint(IPAddress.Parse(IP), Port); //伺服器的連線端點資訊
//建立可以雙向通訊的TCP連線
T = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
User = textBox3.Text; //使用者名稱
try
{
CheckForIllegalCrossThreadCalls = false;
T.Connect(EP); //連上伺服器的端點EP(類似撥號給電話總機)
Send("0" + User); //連線後隨即傳送自己的名稱給伺服器
string sum = Convert.ToString(count);
textBox8.Text = sum;
TH = new Thread(Listen);
TH.IsBackground = true;
TH.Start();
}
catch (Exception)
{
MessageBox.Show("無法連上伺服器!"); //連線失敗時顯示訊息
return;
}
button1.Enabled = false; //讓連線按鍵失效,避免重複連線
}
//傳送訊息給 Server (Send Message to the Server)
private void Send(string Str)
{
byte[] B = Encoding.Default.GetBytes(Str);//翻譯字串Str為Byte陣列B
T.Send(B, 0, B.Length, SocketFlags.None); //使用連線物件傳送資料
}
//關閉視窗代表離線登出
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (button1.Enabled == false)
{
Send("9" + User); //傳送自己的離線訊息給伺服器
T.Close(); //關閉網路通訊器T
}
}
private void Listen()
{
EndPoint ServerEP = (EndPoint)T.RemoteEndPoint;
byte[] B = new byte[1023];
int inLen = 0;
string MSG;
string St;
string Str;
while(true)
{
try
{
inLen = T.ReceiveFrom(B, ref ServerEP);
}
catch(Exception)
{
Send("9" + User); //傳送自己的離線訊息給伺服器
T.Close();
MessageBox.Show("伺服器斷線");
}
MSG = Encoding.Default.GetString(B, 0, inLen);
St = MSG.Substring(0, 1);
Str = MSG.Substring(1);
switch(St)
{
case "Q":
title = Str;
break;
case "H":
hint = Str;
textBox5.Text = hint;
break;
case "N":
string p2_a;
textBox10.Text = "";
textBox10.Text = Str;
p2_a = Str.Substring(0, 1);
if (p2_a != "5" && p2 == true)
{
button4.Visible = true;
pictureBox2.Location = new Point(336, 400);
sp2.Play();
}
break;
case "A":
textBox7.Text = "";
textBox7.Text = Str;
remember = Str;
for (int i = 0; i < remember.Length; i++)
{
if (remember[i] == 'a')
{
label10.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'b')
{
label17.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'c')
{
label16.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'd')
{
label15.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'e')
{
label14.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'f')
{
label13.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'g')
{
label12.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'h')
{
label11.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'i')
{
label18.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'j')
{
label27.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'k')
{
label20.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'l')
{
label21.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'm')
{
label22.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'n')
{
label23.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'o')
{
label24.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'p')
{
label25.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'q')
{
label26.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'r')
{
label19.BackColor = Color.YellowGreen;
}
else if (remember[i] == 's')
{
label36.BackColor = Color.YellowGreen;
}
else if (remember[i] == 't')
{
label29.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'u')
{
label30.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'v')
{
label31.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'w')
{
label32.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'x')
{
label33.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'y')
{
label34.BackColor = Color.YellowGreen;
}
else if (remember[i] == 'z')
{
label35.BackColor = Color.YellowGreen;
}
}
break;
case "B":
textBox9.Text = "";
textBox9.Text = Str;
remember2 = Str;
for (int i = 0; i < remember2.Length; i++)
{
if (remember2[i] == 'a')
{
label10.BackColor = Color.Gold;
}
else if (remember2[i] == 'b')
{
label17.BackColor = Color.Gold;
}
else if (remember2[i] == 'c')
{
label16.BackColor = Color.Gold;
}
else if (remember2[i] == 'd')
{
label15.BackColor = Color.Gold;
}
else if (remember2[i] == 'e')
{
label14.BackColor = Color.Gold;
}else if (remember2[i] == 'f')
{
label13.BackColor = Color.Gold;
}
else if (remember2[i] == 'g')
{
label12.BackColor = Color.Gold;
}
else if (remember2[i] == 'h')
{
label11.BackColor = Color.Gold;
}
else if (remember2[i] == 'i')
{
label18.BackColor = Color.Gold;
}
else if (remember2[i] == 'j')
{
label27.BackColor = Color.Gold;
}
else if (remember2[i] == 'k')
{
label20.BackColor = Color.Gold;
}
else if (remember2[i] == 'l')
{
label21.BackColor = Color.Gold;
}
else if (remember2[i] == 'm')
{
label22.BackColor = Color.Gold;
}
else if (remember2[i] == 'n')
{
label23.BackColor = Color.Gold;
}
else if (remember2[i] == 'o')
{
label24.BackColor = Color.Gold;
}
else if (remember2[i] == 'p')
{
label25.BackColor = Color.Gold;
}
else if (remember2[i] == 'q')
{
label26.BackColor = Color.Gold;
}
else if (remember2[i] == 'r')
{
label19.BackColor = Color.Gold;
}
else if (remember2[i] == 's')
{
label36.BackColor = Color.Gold;
}
else if (remember2[i] == 't')
{
label29.BackColor = Color.Gold;
}
else if (remember2[i] == 'u')
{
label30.BackColor = Color.Gold;
}
else if (remember2[i] == 'v')
{
label31.BackColor = Color.Gold;
}
else if (remember2[i] == 'w')
{
label32.BackColor = Color.Gold;
}
else if (remember2[i] == 'x')
{
label33.BackColor = Color.Gold;
}
else if (remember2[i] == 'y')
{
label34.BackColor = Color.Gold;
}
else if (remember2[i] == 'z')
{
label35.BackColor = Color.Gold;
}
}
break;
case "p":
Pass();
break;
case "C":
remember3 = Str;
for(int i = 0; i < remember3.Length; i++)
{
if (remember3[i] == 'a')
{
label10.BackColor = Color.DimGray;
}else if(remember3[i] == 'b')
{
label17.BackColor = Color.DimGray;
}else if (remember3[i] == 'c')
{
label16.BackColor = Color.DimGray;
}
else if (remember3[i] == 'd')
{
label15.BackColor = Color.DimGray;
}
else if (remember3[i] == 'e')
{
label14.BackColor = Color.DimGray;
}
else if (remember3[i] == 'f')
{
label13.BackColor = Color.DimGray;
}
else if (remember3[i] == 'g')
{
label12.BackColor = Color.DimGray;
}
else if (remember3[i] == 'h')
{
label11.BackColor = Color.DimGray;
}
else if (remember3[i] == 'i')
{
label18.BackColor = Color.DimGray;
}
else if (remember3[i] == 'j')
{
label27.BackColor = Color.DimGray;
}
else if (remember3[i] == 'k')
{
label20.BackColor = Color.DimGray;
}
else if (remember3[i] == 'l')
{
label21.BackColor = Color.DimGray;
}
else if (remember3[i] == 'm')
{
label22.BackColor = Color.DimGray;
}
else if (remember3[i] == 'n')
{
label23.BackColor = Color.DimGray;
}
else if (remember3[i] == 'o')
{
label24.BackColor = Color.DimGray;
}
else if (remember3[i] == 'p')
{
label25.BackColor = Color.DimGray;
}
else if (remember3[i] == 'q')
{
label26.BackColor = Color.DimGray;
}
else if (remember3[i] == 'r')
{
label19.BackColor = Color.DimGray;
}
else if (remember3[i] == 's')
{
label36.BackColor = Color.DimGray;
}
else if (remember3[i] == 't')
{
label29.BackColor = Color.DimGray;
}
else if (remember3[i] == 'u')
{
label30.BackColor = Color.DimGray;
}
else if (remember3[i] == 'v')
{
label31.BackColor = Color.DimGray;
}
else if (remember3[i] == 'w')
{
label32.BackColor = Color.DimGray;
}
else if (remember3[i] == 'x')
{
label33.BackColor = Color.DimGray;
}
else if (remember3[i] == 'y')
{
label34.BackColor = Color.DimGray;
}
else if (remember3[i] == 'z')
{
label35.BackColor = Color.DimGray;
}
}
break;
}
}
}
private void Pass()
{
sp.Play(); // 撥放
button4.Visible = true;
pictureBox1.Visible = true;
button2.Enabled = false;
}
private void Form1_Load(object sender, EventArgs e)
{
backgroundWorker1.RunWorkerAsync();
button4.Visible = false;
pictureBox1.Visible = false;
textBox5.Visible = false;
panel1.Visible = false;
wplayer.URL = "01.mp3";
wplayer.settings.playCount = 1000;
wplayer.controls.play();
sp.SoundLocation = @"03.wav";
sp2.SoundLocation = @"04.wav";
}
private void ReceiveBroadcastMessage(Action<EndPoint, string> receivedAction, int port)
{
ReceiveBroadcastMessage((ep, data) =>
{
var stringData = Encoding.Default.GetString(data);
receivedAction(ep, stringData);
}, port);
}
private void ReceiveBroadcastMessage(Action<EndPoint, byte[]> receivedAction, int port)
{
using (var sock = new Socket(AddressFamily.InterNetwork,
SocketType.Dgram, ProtocolType.Udp))
{
var ep = new IPEndPoint(IPAddress.Any, port) as EndPoint;
sock.Bind(ep);
while (true)
{
var buffer = new byte[1024];
var recv = sock.ReceiveFrom(buffer, ref ep);
var data = new byte[recv];
Array.Copy(buffer, 0, data, 0, recv);
receivedAction(ep, data);
Thread.Sleep(500);
Application.DoEvents();
}
}
}
private void button2_Click(object sender, EventArgs e)
{
count++;
if (count>=4)
{
textBox5.Visible = true;
}
if(count>=6)
{
p2 = true;
button2.Enabled = false;
}
string sum = Convert.ToString(count);
textBox8.Text = sum;
if (textBox6.Text == "") return;
Send("A"+textBox6.Text);
if (count == 2)
{
textBox4.Text = textBox6.Text;
}else if(count == 3)
{
textBox11.Text = textBox6.Text;
}else if(count == 4)
{
textBox12.Text = textBox6.Text;
}else if(count == 5)
{
textBox13.Text = textBox6.Text;
}else if(count == 6)
{
textBox14.Text = textBox6.Text;
}
textBox6.Text = "";
}
private void button4_Click(object sender, EventArgs e)
{
Send("R");
count = 1;
sum = "";
sum=Convert.ToString(count);
textBox8.Text = sum;
button4.Visible = false;
button2.Enabled = true; ;
pictureBox1.Visible = false;
textBox5.Visible = false;
textBox5.Text = "";
textBox10.Text = "";
textBox7.Text = "";
textBox9.Text = "";
textBox4.Text = "";
textBox11.Text = "";
textBox12.Text = "";
textBox13.Text = "";
textBox14.Text = "";
p2 = false;
pictureBox2.Location = new Point(1314, 649);
label10.BackColor = Color.DarkGray;
label17.BackColor = Color.DarkGray;
label16.BackColor = Color.DarkGray;
label15.BackColor = Color.DarkGray;
label14.BackColor = Color.DarkGray;
label13.BackColor = Color.DarkGray;
label12.BackColor = Color.DarkGray;
label11.BackColor = Color.DarkGray;
label18.BackColor = Color.DarkGray;
label27.BackColor = Color.DarkGray;
label20.BackColor = Color.DarkGray;
label21.BackColor = Color.DarkGray;
label22.BackColor = Color.DarkGray;
label23.BackColor = Color.DarkGray;
label24.BackColor = Color.DarkGray;
label25.BackColor = Color.DarkGray;
label26.BackColor = Color.DarkGray;
label19.BackColor = Color.DarkGray;
label36.BackColor = Color.DarkGray;
label29.BackColor = Color.DarkGray;
label30.BackColor = Color.DarkGray;
label31.BackColor = Color.DarkGray;
label32.BackColor = Color.DarkGray;
label33.BackColor = Color.DarkGray;
label34.BackColor = Color.DarkGray;
label35.BackColor = Color.DarkGray;
}
private void button3_Click(object sender, EventArgs e)
{
panel1.Visible = true;
pictureBox9.Visible = false;
pictureBox7.Visible = false;
pictureBox6.Visible = false;
pictureBox8.Visible = false;
pictureBox4.Visible = true;
pictureBox3.Visible = false;
label4.Visible = false;
label5.Visible = false;
label37.Visible = false;
label38.Visible = false;
label39.Visible = false;
label40.Visible = false;
label41.Visible = false;
label6.Visible = false;
label7.Visible = false;
label9.Visible = false;
label28.Visible = false;
textBox5.Visible = false;
textBox6.Visible = false;
textBox11.Visible = false;
textBox12.Visible = false;
textBox13.Visible = false;
textBox14.Visible = false;
textBox4.Visible = false;
textBox7.Visible = false;
textBox9.Visible = false;
textBox10.Visible = false;
label10.Visible = false;
label17.Visible = false;
label16.Visible = false;
label15.Visible = false;
label14.Visible = false;
label13.Visible = false;
label12.Visible = false;
label11.Visible = false;
label18.Visible = false;
label27.Visible = false;
label20.Visible = false;
label21.Visible = false;
label22.Visible = false;
label23.Visible = false;
label24.Visible = false;
label25.Visible = false;
label26.Visible = false;
label19.Visible = false;
label36.Visible = false;
label29.Visible = false;
label30.Visible = false;
label31.Visible = false;
label32.Visible = false;
label33.Visible = false;
label34.Visible = false;
label35.Visible = false;
button2.Visible = false;
listBox1.Visible = false;
}
private void pictureBox4_Click(object sender, EventArgs e)
{
panel1.Visible = false;
pictureBox4.Visible = false;
pictureBox3.Visible = true;
pictureBox7.Visible = true;
pictureBox6.Visible = true;
pictureBox8.Visible = true;
pictureBox9.Visible = true;
listBox1.Visible = true;
label4.Visible = true;
label5.Visible = true;
label37.Visible = true;
label38.Visible = true;
label39.Visible = true;
label40.Visible = true;
label41.Visible = true;
label6.Visible = true;
label7.Visible = true;
label9.Visible = true;
label28.Visible = true;
if (count >= 4)
{
textBox5.Visible = true;
}
textBox6.Visible = true;
textBox11.Visible = true;
textBox12.Visible = true;
textBox13.Visible = true;
textBox14.Visible = true;
textBox4.Visible = true;
textBox7.Visible = true;
textBox9.Visible = true;
textBox10.Visible = true;
label10.Visible = true;
label17.Visible = true;
label16.Visible = true;
label15.Visible = true;
label14.Visible = true;
label13.Visible = true;
label12.Visible = true;
label11.Visible = true;
label18.Visible = true;
label27.Visible = true;
label20.Visible = true;
label21.Visible = true;
label22.Visible = true;
label23.Visible = true;
label24.Visible = true;
label25.Visible = true;
label26.Visible = true;
label19.Visible = true;
label36.Visible = true;
label29.Visible = true;
label30.Visible = true;
label31.Visible = true;
label32.Visible = true;
label33.Visible = true;
label34.Visible = true;
label35.Visible = true;
button2.Visible = true;
}
private void backgroundWorker1_DoWork_1(object sender, DoWorkEventArgs e)
{
ReceiveBroadcastMessage((EndPoint ep, string data) =>
{
this.Invoke((MethodInvoker)delegate ()
{
listBox1.Items.Add(string.Format("received: {0} from: {1}",
data, ep.ToString()));
});
}, 2021);
}
}
}