private void HandleCommand(string command, Client client) { ChatMessagePacket feedback = new ChatMessagePacket(""); switch (command) { case "Q": feedback.message = client.GetName() + " has left the chat!"; SendToAll(feedback); client.Close(); clients.Remove(client); /* * for (int i = 0; i < clients.Count(); i++) * { * if(client == clients[i]) * { * clients.Remove * } * } */ break; } }
private void XO_GameUpdate(Client client, string command) { GamePacket packet = new GamePacket(""); ChatMessagePacket chatpacket = new ChatMessagePacket(""); if (XO_Player1 == null) { packet.message = "P1Q"; SendToAll(packet); } if (XO_Player2 == null) { packet.message = "P2Q"; SendToAll(packet); } switch (command) { case "P1J": if (XO_Player1 == null) { XO_Player1 = client; packet.message = "O - " + XO_Player1.GetName(); SendToAll(packet); chatpacket.message = XO_Player1.GetName() + " has joined the game as Player 1!"; SendToAll(chatpacket); if (XO_Player2 != null) { XO_StartGame(); } } else { chatpacket.message = "Server [X&O] - Someone has already taken this game slot!"; client.Send(chatpacket); packet.message = "X - " + XO_Player1.GetName(); client.Send(packet); } break; case "P1Q": packet.message = "P1Q"; SendToAll(packet); chatpacket.message = XO_Player1.GetName() + " has left the game."; SendToAll(chatpacket); XO_Player1 = null; break; case "P2J": if (XO_Player2 == null) { XO_Player2 = client; packet.message = "X - " + XO_Player2.GetName(); SendToAll(packet); chatpacket.message = XO_Player2.GetName() + " has joined the game as Player 2!"; SendToAll(chatpacket); if (XO_Player1 != null) { XO_StartGame(); } } else { chatpacket.message = "Server [X&O] - Someone has already taken this game slot!"; client.Send(chatpacket); packet.message = "O - " + XO_Player1.GetName(); client.Send(packet); } break; case "P2Q": packet.message = "P2Q"; SendToAll(packet); chatpacket.message = XO_Player2.GetName() + " has left the game."; SendToAll(chatpacket); XO_Player2 = null; break; case "0": if (XO_Player1 == client) { packet.message = "X0"; SendToAll(packet); XO_Grid[0] = 'o'; packet.message = "Turn"; XO_Player2.Send(packet); XO_CheckWin(); } else if (XO_Player2 == client) { packet.message = "O0"; SendToAll(packet); XO_Grid[0] = 'x'; packet.message = "Turn"; XO_Player1.Send(packet); XO_CheckWin(); } break; case "1": if (XO_Player1 == client) { packet.message = "X1"; SendToAll(packet); XO_Grid[1] = 'o'; packet.message = "Turn"; XO_Player2.Send(packet); XO_CheckWin(); } else if (XO_Player2 == client) { packet.message = "O1"; SendToAll(packet); XO_Grid[1] = 'x'; packet.message = "Turn"; XO_Player1.Send(packet); XO_CheckWin(); } break; case "2": if (XO_Player1 == client) { packet.message = "X2"; SendToAll(packet); XO_Grid[2] = 'o'; packet.message = "Turn"; XO_Player2.Send(packet); XO_CheckWin(); } else if (XO_Player2 == client) { packet.message = "O2"; SendToAll(packet); XO_Grid[2] = 'x'; packet.message = "Turn"; XO_Player1.Send(packet); XO_CheckWin(); } break; case "3": if (XO_Player1 == client) { packet.message = "X3"; SendToAll(packet); XO_Grid[3] = 'o'; packet.message = "Turn"; XO_Player2.Send(packet); XO_CheckWin(); } else if (XO_Player2 == client) { packet.message = "O3"; SendToAll(packet); XO_Grid[3] = 'x'; packet.message = "Turn"; XO_Player1.Send(packet); XO_CheckWin(); } break; case "4": if (XO_Player1 == client) { packet.message = "X4"; SendToAll(packet); XO_Grid[4] = 'o'; packet.message = "Turn"; XO_Player2.Send(packet); XO_CheckWin(); } else if (XO_Player2 == client) { packet.message = "O4"; SendToAll(packet); XO_Grid[4] = 'x'; packet.message = "Turn"; XO_Player1.Send(packet); XO_CheckWin(); } break; case "5": if (XO_Player1 == client) { packet.message = "X5"; SendToAll(packet); XO_Grid[5] = 'o'; packet.message = "Turn"; XO_Player2.Send(packet); XO_CheckWin(); } else if (XO_Player2 == client) { packet.message = "O5"; SendToAll(packet); XO_Grid[5] = 'x'; packet.message = "Turn"; XO_Player1.Send(packet); XO_CheckWin(); } break; case "6": if (XO_Player1 == client) { packet.message = "X6"; SendToAll(packet); XO_Grid[6] = 'o'; packet.message = "Turn"; XO_Player2.Send(packet); XO_CheckWin(); } else if (XO_Player2 == client) { packet.message = "O6"; SendToAll(packet); XO_Grid[6] = 'x'; packet.message = "Turn"; XO_Player1.Send(packet); XO_CheckWin(); } break; case "7": if (XO_Player1 == client) { packet.message = "X7"; SendToAll(packet); XO_Grid[7] = 'o'; packet.message = "Turn"; XO_Player2.Send(packet); XO_CheckWin(); } else if (XO_Player2 == client) { packet.message = "O7"; SendToAll(packet); XO_Grid[7] = 'x'; packet.message = "Turn"; XO_Player1.Send(packet); XO_CheckWin(); } break; case "8": if (XO_Player1 == client) { packet.message = "X8"; SendToAll(packet); XO_Grid[8] = 'o'; packet.message = "Turn"; XO_Player2.Send(packet); XO_CheckWin(); } else if (XO_Player2 == client) { packet.message = "O8"; SendToAll(packet); XO_Grid[8] = 'x'; packet.message = "Turn"; XO_Player1.Send(packet); XO_CheckWin(); } break; } }