private void btnDan_Click_1(object sender, EventArgs e) { btnRut.Visible = false; btnDan.Visible = false; Card card = new Card(); DrawCard(card, 0, 0); while (com.getSum() <= 16) { card = boBai.getCard(); com.addCard(card); DrawCard(card, 0, com.getNumberCard(1)); if (com.getSum() <= 16 && card.getIdCard().Substring(0, card.getIdCard().Length == 2 ? 1 : 2) == "1") { com.getSum(1); } } KetQua(com.getSum(), user.getSum(0), com.getNumberCard(), user.getNumberCard()); }
private void DrawCard(Card card, int type, int num) { PictureBox pb = new PictureBox(); pb.Visible = false; switch (card.getIdCard()) { case "1C": pb.Image = BlackJack.Properties.Resources._1C; break; case "1R": pb.Image = BlackJack.Properties.Resources._1R; break; case "1H": pb.Image = BlackJack.Properties.Resources._1H; break; case "1B": pb.Image = BlackJack.Properties.Resources._1B; break; case "2C": pb.Image = BlackJack.Properties.Resources._2C; break; case "2R": pb.Image = BlackJack.Properties.Resources._2R; break; case "2H": pb.Image = BlackJack.Properties.Resources._2H; break; case "2B": pb.Image = BlackJack.Properties.Resources._2B; break; case "3C": pb.Image = BlackJack.Properties.Resources._3C; break; case "3R": pb.Image = BlackJack.Properties.Resources._3R; break; case "3H": pb.Image = BlackJack.Properties.Resources._3H; break; case "3B": pb.Image = BlackJack.Properties.Resources._3B; break; case "4C": pb.Image = BlackJack.Properties.Resources._4C; break; case "4R": pb.Image = BlackJack.Properties.Resources._4R; break; case "4H": pb.Image = BlackJack.Properties.Resources._4H; break; case "4B": pb.Image = BlackJack.Properties.Resources._4B; break; case "5C": pb.Image = BlackJack.Properties.Resources._5C; break; case "5R": pb.Image = BlackJack.Properties.Resources._5R; break; case "5H": pb.Image = BlackJack.Properties.Resources._5H; break; case "5B": pb.Image = BlackJack.Properties.Resources._5B; break; case "6C": pb.Image = BlackJack.Properties.Resources._6C; break; case "6R": pb.Image = BlackJack.Properties.Resources._6R; break; case "6H": pb.Image = BlackJack.Properties.Resources._6H; break; case "6B": pb.Image = BlackJack.Properties.Resources._6B; break; case "7C": pb.Image = BlackJack.Properties.Resources._7C; break; case "7R": pb.Image = BlackJack.Properties.Resources._7R; break; case "7H": pb.Image = BlackJack.Properties.Resources._7H; break; case "7B": pb.Image = BlackJack.Properties.Resources._7B; break; case "8C": pb.Image = BlackJack.Properties.Resources._8C; break; case "8R": pb.Image = BlackJack.Properties.Resources._8R; break; case "8H": pb.Image = BlackJack.Properties.Resources._8H; break; case "8B": pb.Image = BlackJack.Properties.Resources._8B; break; case "9C": pb.Image = BlackJack.Properties.Resources._9C; break; case "9R": pb.Image = BlackJack.Properties.Resources._9R; break; case "9H": pb.Image = BlackJack.Properties.Resources._9H; break; case "9B": pb.Image = BlackJack.Properties.Resources._9B; break; case "10C": pb.Image = BlackJack.Properties.Resources._10C; break; case "10R": pb.Image = BlackJack.Properties.Resources._10R; break; case "10H": pb.Image = BlackJack.Properties.Resources._10H; break; case "10B": pb.Image = BlackJack.Properties.Resources._10B; break; case "JC": pb.Image = BlackJack.Properties.Resources.JC; break; case "JR": pb.Image = BlackJack.Properties.Resources.JR; break; case "JH": pb.Image = BlackJack.Properties.Resources.JH; break; case "JB": pb.Image = BlackJack.Properties.Resources.JB; break; case "QC": pb.Image = BlackJack.Properties.Resources.QC; break; case "QR": pb.Image = BlackJack.Properties.Resources.QR; break; case "QH": pb.Image = BlackJack.Properties.Resources.QH; break; case "QB": pb.Image = BlackJack.Properties.Resources.QB; break; case "KC": pb.Image = BlackJack.Properties.Resources.KC; break; case "KR": pb.Image = BlackJack.Properties.Resources.KR; break; case "KH": pb.Image = BlackJack.Properties.Resources.KH; break; case "KB": pb.Image = BlackJack.Properties.Resources.KB; break; default: pb.Image = BlackJack.Properties.Resources.PP; break; } if (type == 0) { switch (num) { case 1: pictureBox1.Image = pb.Image; pictureBox1.Visible = true; break; case 2: pictureBox2.Image = pb.Image; pictureBox2.Visible = true; break; case 3: pictureBox3.Image = pb.Image; pictureBox3.Visible = true; break; case 4: pictureBox4.Image = pb.Image; pictureBox4.Visible = true; break; case 5: pictureBox5.Image = pb.Image; pictureBox5.Visible = true; break; } } else { switch (num) { case 1: if (card.getIdCard().Substring(0, card.getIdCard().Length == 2 ? 1 : 2) == "1") { radioButton1.Visible = true; radioButton2.Visible = true; } pictureBox6.Image = pb.Image; pictureBox6.Visible = true; break; case 2: if (card.getIdCard().Substring(0, card.getIdCard().Length == 2 ? 1 : 2) == "1") { radioButton3.Visible = true; radioButton4.Visible = true; } pictureBox7.Image = pb.Image; pictureBox7.Visible = true; break; case 3: if (card.getIdCard().Substring(0, card.getIdCard().Length == 2 ? 1 : 2) == "1") { radioButton5.Visible = true; radioButton6.Visible = true; } pictureBox8.Image = pb.Image; pictureBox8.Visible = true; break; case 4: if (card.getIdCard().Substring(0, card.getIdCard().Length == 2 ? 1 : 2) == "1") { radioButton7.Visible = true; radioButton8.Visible = true; } pictureBox9.Image = pb.Image; pictureBox9.Visible = true; break; case 5: if (card.getIdCard().Substring(0, card.getIdCard().Length == 2 ? 1 : 2) == "1") { radioButton9.Visible = true; radioButton10.Visible = true; } pictureBox10.Image = pb.Image; pictureBox10.Visible = true; break; } } }
//nhận tin void Receive(object obj) { Socket client = obj as Socket; while (true) { try { byte[] data = new byte[1024 * 5000]; client.Receive(data); string message = Deserialize(data).ToString(); string IP = client.RemoteEndPoint.ToString(); //00: start //01: Mess //02: đợi //03: Đã rút //04: Rut //05: Dan //06: Xet bai //07:Số lượng người chơi vidu: 7:20213 --->2 người chơi 1-> có 2 lá 2-> có 2 lá //08: Server hỏi client //09: nhà cái //30: Xét bài //11: udate numbercard //2*: Get vào SQLServer //20: Get số lượng người chơi //21: Lấy số lượng người chơi //22: Lấy IP người chơi 1 21:1 // 2 Lấy IP người chơi 2 // 3 Lấy IP người chơi 3 // 4 Lấy IP người chơi 4 // 5 Lấy IP người chơi 5 //20: Truy xuất SQL Server switch (message.Substring(0, 3)) { case "00:": { tempSL++; if (tempSL == clientList.Count()) { foreach (Socket item in clientList) { if (item != null) { message = "00:Start"; AddMessage(item.RemoteEndPoint.ToString() + ": " + message); item.Send(Serialize(message)); } Thread.Sleep(100); } for (int i = 0; i < 2; i++) { foreach (Socket item in clientList) { if (item != null) { Card card = new Card(); card = boBai.getCard(); AddMessage("94:" + card.getIdCard()); item.Send(Serialize("94:" + card.getIdCard())); } } Thread.Sleep(100); } foreach (Socket item in clientList) //đợi { item.Send(Serialize("02:")); } Thread.Sleep(100); clientList[0].Send(Serialize("09: Bạn là cái ---> Rút cuoi")); /// thang 0 đc rút } break; } case "01:": { AddMessage(client.RemoteEndPoint.ToString() + ": " + message); foreach (Socket item in clientList) { if (item != null && item != client) { item.Send(Serialize(message)); } } break; } case "04:": { AddMessage("04:" + client.RemoteEndPoint.ToString()); foreach (Socket item in clientList) { if (item != null) { if (item == client) { Card card = new Card(); card = boBai.getCard(); AddMessage("04:" + card.getIdCard()); item.Send(Serialize("04:" + card.getIdCard())); } } } break; } case "05:": { AddMessage("05:" + client.RemoteEndPoint.ToString()); var dap = new SqlDataAdapter("update CLIENT SET SUMCARD = " + message.Substring(3) + " WHERE IP='" + IP + "'", conn); var table = new DataTable(); dap.Fill(table); tempPlayer++; if (tempPlayer < clientList.Count()) { clientList[tempPlayer].Send(Serialize("03:")); } else { clientList[0].Send(Serialize("01:Tới lượt bạn")); } break; } case "11:": { AddMessage("update CLIENT SET NUMOFCARD = " + message.Substring(3) + " WHERE IP='" + IP + "'"); var dap = new SqlDataAdapter("update CLIENT SET NUMOFCARD = " + message.Substring(3) + " WHERE IP='" + IP + "'", conn); var table = new DataTable(); dap.Fill(table); AddMessage("UPDATE CLIENT SET NUMOFCARD = " + message.Substring(3) + " WHERE IP='" + IP + "'"); foreach (Socket item in clientList) { if (item != null && item != client) { AddMessage("21:" + IP + message.Substring(3, 1)); item.Send(Serialize("21:" + IP + message.Substring(3, 1))); } } break; } case "12:": { AddMessage("update CLIENT SET DAN = 1 WHERE IP='" + IP + "'"); var dap = new SqlDataAdapter("update CLIENT SET DAN = 1 WHERE IP='" + IP + "'", conn); var table = new DataTable(); dap.Fill(table); //CHECK DAN HET CHUA AddMessage("SELECT COUNT(*) FROM Client WHERE DAN=1"); dap = new SqlDataAdapter("SELECT COUNT(*) FROM Client WHERE DAN=1", conn); table = new DataTable(); dap.Fill(table); if (Int32.Parse(table.Rows[0][0].ToString()) == clientList.Count()) { foreach (Socket item in clientList) { if (item != null) { AddMessage("01:"); item.Send(Serialize("01: Xét bài")); } } AddMessage("30:"); clientList[0].Send(Serialize("30:")); } break; } case "20:": { //get so luong người chơi database foreach (Socket item in clientList) { string temp = ""; foreach (Socket i in clientList) { if (i != null && item != i) { temp += i.RemoteEndPoint.ToString() + "2"; } } AddMessage("20:" + (tempSL).ToString() + temp); item.Send(Serialize("20:" + (tempSL).ToString() + temp)); Thread.Sleep(100); } Thread.Sleep(100); foreach (Socket item in clientList) { string temp = clientList[0].RemoteEndPoint.ToString(); AddMessage("98:" + temp); item.Send(Serialize("98:" + temp)); } break; } case "31:": { int sumCai = 0; int slCardCai = 0; int sumUser = 0; int slCardUser = 0; AddMessage("SELECT SUMCARD FROM Client WHERE IP='" + IP + "'"); var dap = new SqlDataAdapter("SELECT SUMCARD FROM Client WHERE IP='" + IP + "'", conn); var table = new DataTable(); dap.Fill(table); sumCai = Int32.Parse(table.Rows[0][0].ToString()); AddMessage("SELECT NUMOFCARD FROM Client WHERE IP='" + IP + "'"); dap = new SqlDataAdapter("SELECT NUMOFCARD FROM Client WHERE IP='" + IP + "'", conn); table = new DataTable(); dap.Fill(table); slCardCai = Int32.Parse(table.Rows[0][0].ToString()); AddMessage("SELECT SUMCARD FROM Client WHERE IP='" + message.Substring(3) + "'"); dap = new SqlDataAdapter("SELECT SUMCARD FROM Client WHERE IP='" + message.Substring(3) + "'", conn); table = new DataTable(); dap.Fill(table); sumUser = Int32.Parse(table.Rows[0][0].ToString()); AddMessage("SELECT NUMOFCARD FROM Client WHERE IP='" + message.Substring(3) + "'"); dap = new SqlDataAdapter("SELECT NUMOFCARD FROM Client WHERE IP='" + message.Substring(3) + "'", conn); table = new DataTable(); dap.Fill(table); slCardUser = Int32.Parse(table.Rows[0][0].ToString()); int ketQua = (KetQua(sumCai, sumUser, slCardCai, slCardUser)); if (ketQua == 1) { AddMessage("61:01"); client.Send(Serialize("61:01")); foreach (Socket item in clientList) { if (item != null && item.RemoteEndPoint.ToString() == message.Substring(3)) { AddMessage("31:-1"); item.Send(Serialize("31:-1")); } } } if (ketQua == 0) { client.Send(Serialize("61:00")); foreach (Socket item in clientList) { if (item != null && item.RemoteEndPoint.ToString() == message.Substring(3)) { AddMessage("31:00"); item.Send(Serialize("31:00")); } } } if (ketQua == -1) { AddMessage("61:-1"); client.Send(Serialize("61:-1")); foreach (Socket item in clientList) { if (item != null && item.RemoteEndPoint.ToString() == message.Substring(3)) { AddMessage("31:01"); item.Send(Serialize("31:01")); } } } Thread.Sleep(100); foreach (Socket item in clientList) { if (item != null && item.RemoteEndPoint.ToString() == message.Substring(3)) { AddMessage("41:"); item.Send(Serialize("41:")); } } Thread.Sleep(130); break; } case "32:": { int sumCai = 0; int slCardCai = 0; int sumUser = 0; int slCardUser = 0; AddMessage("SELECT SUMCARD FROM Client WHERE IP='" + IP + "'"); var dap = new SqlDataAdapter("SELECT SUMCARD FROM Client WHERE IP='" + IP + "'", conn); var table = new DataTable(); dap.Fill(table); sumCai = Int32.Parse(table.Rows[0][0].ToString()); AddMessage("SELECT NUMOFCARD FROM Client WHERE IP='" + IP + "'"); dap = new SqlDataAdapter("SELECT NUMOFCARD FROM Client WHERE IP='" + IP + "'", conn); table = new DataTable(); dap.Fill(table); slCardCai = Int32.Parse(table.Rows[0][0].ToString()); AddMessage("SELECT SUMCARD FROM Client WHERE IP='" + message.Substring(3) + "'"); dap = new SqlDataAdapter("SELECT SUMCARD FROM Client WHERE IP='" + message.Substring(3) + "'", conn); table = new DataTable(); dap.Fill(table); sumUser = Int32.Parse(table.Rows[0][0].ToString()); AddMessage("SELECT NUMOFCARD FROM Client WHERE IP='" + message.Substring(3) + "'"); dap = new SqlDataAdapter("SELECT NUMOFCARD FROM Client WHERE IP='" + message.Substring(3) + "'", conn); table = new DataTable(); dap.Fill(table); slCardUser = Int32.Parse(table.Rows[0][0].ToString()); int ketQua = (KetQua(sumCai, sumUser, slCardCai, slCardUser)); if (ketQua == 1) { AddMessage("62:01"); client.Send(Serialize("62:01")); foreach (Socket item in clientList) { if (item != null && item.RemoteEndPoint.ToString() == message.Substring(3)) { AddMessage("31:-1"); item.Send(Serialize("31:-1")); } } } if (ketQua == 0) { AddMessage("64:00"); client.Send(Serialize("62:00")); foreach (Socket item in clientList) { if (item != null && item.RemoteEndPoint.ToString() == message.Substring(3)) { AddMessage("31:00"); item.Send(Serialize("31:00")); } } } if (ketQua == -1) { AddMessage("62:-1"); client.Send(Serialize("62:-1")); foreach (Socket item in clientList) { if (item != null && item.RemoteEndPoint.ToString() == message.Substring(3)) { AddMessage("31:01"); item.Send(Serialize("31:01")); } } } Thread.Sleep(100); foreach (Socket item in clientList) { if (item != null && item.RemoteEndPoint.ToString() == message.Substring(3)) { AddMessage("42:"); item.Send(Serialize("42:")); } } Thread.Sleep(130); break; } case "33:": { int sumCai = 0; int slCardCai = 0; int sumUser = 0; int slCardUser = 0; AddMessage("SELECT SUMCARD FROM Client WHERE IP='" + IP + "'"); var dap = new SqlDataAdapter("SELECT SUMCARD FROM Client WHERE IP='" + IP + "'", conn); var table = new DataTable(); dap.Fill(table); sumCai = Int32.Parse(table.Rows[0][0].ToString()); AddMessage("SELECT NUMOFCARD FROM Client WHERE IP='" + IP + "'"); dap = new SqlDataAdapter("SELECT NUMOFCARD FROM Client WHERE IP='" + IP + "'", conn); table = new DataTable(); dap.Fill(table); slCardCai = Int32.Parse(table.Rows[0][0].ToString()); AddMessage("SELECT SUMCARD FROM Client WHERE IP='" + message.Substring(3) + "'"); dap = new SqlDataAdapter("SELECT SUMCARD FROM Client WHERE IP='" + message.Substring(3) + "'", conn); table = new DataTable(); dap.Fill(table); sumUser = Int32.Parse(table.Rows[0][0].ToString()); AddMessage("SELECT NUMOFCARD FROM Client WHERE IP='" + message.Substring(3) + "'"); dap = new SqlDataAdapter("SELECT NUMOFCARD FROM Client WHERE IP='" + message.Substring(3) + "'", conn); table = new DataTable(); dap.Fill(table); slCardUser = Int32.Parse(table.Rows[0][0].ToString()); int ketQua = (KetQua(sumCai, sumUser, slCardCai, slCardUser)); if (ketQua == 1) { AddMessage("63:01"); client.Send(Serialize("63:01")); foreach (Socket item in clientList) { if (item != null && item.RemoteEndPoint.ToString() == message.Substring(3)) { AddMessage("31:-1"); item.Send(Serialize("31:-1")); } } } if (ketQua == 0) { AddMessage("63:00"); client.Send(Serialize("63:00")); foreach (Socket item in clientList) { if (item != null && item.RemoteEndPoint.ToString() == message.Substring(3)) { AddMessage("31:00"); item.Send(Serialize("31:00")); } } } if (ketQua == -1) { AddMessage("63:-1"); client.Send(Serialize("63:-1")); foreach (Socket item in clientList) { if (item != null && item.RemoteEndPoint.ToString() == message.Substring(3)) { AddMessage("31:01"); item.Send(Serialize("31:01")); } } } Thread.Sleep(100); foreach (Socket item in clientList) { if (item != null && item.RemoteEndPoint.ToString() == message.Substring(3)) { AddMessage("43:"); item.Send(Serialize("43:")); } } Thread.Sleep(130); break; } case "34:": { int sumCai = 0; int slCardCai = 0; int sumUser = 0; int slCardUser = 0; AddMessage("SELECT SUMCARD FROM Client WHERE IP='" + IP + "'"); var dap = new SqlDataAdapter("SELECT SUMCARD FROM Client WHERE IP='" + IP + "'", conn); var table = new DataTable(); dap.Fill(table); sumCai = Int32.Parse(table.Rows[0][0].ToString()); AddMessage("SELECT NUMOFCARD FROM Client WHERE IP='" + IP + "'"); dap = new SqlDataAdapter("SELECT NUMOFCARD FROM Client WHERE IP='" + IP + "'", conn); table = new DataTable(); dap.Fill(table); slCardCai = Int32.Parse(table.Rows[0][0].ToString()); AddMessage("SELECT SUMCARD FROM Client WHERE IP='" + message.Substring(3) + "'"); dap = new SqlDataAdapter("SELECT SUMCARD FROM Client WHERE IP='" + message.Substring(3) + "'", conn); table = new DataTable(); dap.Fill(table); sumUser = Int32.Parse(table.Rows[0][0].ToString()); AddMessage("SELECT NUMOFCARD FROM Client WHERE IP = '" + message.Substring(3) + "'"); dap = new SqlDataAdapter("SELECT NUMOFCARD FROM Client WHERE IP='" + message.Substring(3) + "'", conn); table = new DataTable(); dap.Fill(table); slCardUser = Int32.Parse(table.Rows[0][0].ToString()); int ketQua = (KetQua(sumCai, sumUser, slCardCai, slCardUser)); if (ketQua == 1) { AddMessage("64:01"); client.Send(Serialize("64:01")); foreach (Socket item in clientList) { if (item != null && item.RemoteEndPoint.ToString() == message.Substring(3)) { AddMessage("31:-1"); item.Send(Serialize("31:-1")); } } } if (ketQua == 0) { AddMessage("64:00"); client.Send(Serialize("64:00")); foreach (Socket item in clientList) { if (item != null && item.RemoteEndPoint.ToString() == message.Substring(3)) { AddMessage("31:00"); item.Send(Serialize("31:00")); } } } if (ketQua == -1) { AddMessage("64:-1"); client.Send(Serialize("64:-1")); foreach (Socket item in clientList) { if (item != null && item.RemoteEndPoint.ToString() == message.Substring(3)) { AddMessage("31:01"); item.Send(Serialize("31:01")); } } } Thread.Sleep(100); foreach (Socket item in clientList) { if (item != null && item.RemoteEndPoint.ToString() == message.Substring(3)) { AddMessage("44:"); item.Send(Serialize("44:")); } } Thread.Sleep(130); break; } case "35:": { tempCai = message.Substring(3); AddMessage(tempCai); break; } case "36:": { client.Send(Serialize("36:" + tempCai)); string temp = IP + message.Substring(3); foreach (Socket item in clientList) { if (item != null && item != clientList[0] && item != client) { item.Send(Serialize("55:" + temp)); } } break; } case "41:": { AddMessage("51:" + message.Substring(3)); clientList[0].Send(Serialize("51:" + message.Substring(3))); break; } case "42:": { AddMessage("51:" + message.Substring(3)); clientList[0].Send(Serialize("52:" + message.Substring(3))); break; } case "43:": { AddMessage("51:" + message.Substring(3)); clientList[0].Send(Serialize("53:" + message.Substring(3))); break; } case "44:": { AddMessage("51:" + message.Substring(3)); clientList[0].Send(Serialize("54:" + message.Substring(3))); break; } default: break; } } catch { clientList.Remove(client); client.Close(); } } }