/// <summary> /// Xử lí dữ liệu /// </summary> /// <param name="client"></param> /// <param name="message"></param> private void ProcessData(Socket client, Message message) { string roomID = ""; Room room; Message mes; int sttPlayer; switch (message.Opcode) { case 101: AddPlayer(client, message); roomID = listPlayer[message.Sender].RoomID; room = listRoom[roomID]; if (room.ListPlayer.Count == 3) { StartGame(room, client); } break; case 111: roomID = listPlayer[message.Sender].RoomID; room = listRoom[roomID]; sttPlayer = room.ListPlayer.IndexOf(listPlayer[message.Sender]) + 1; if (room.Turn == sttPlayer) { mes = new Message(221, message.Sender, message.Payload); server.SendAllRoom(room, mes.ToString()); room.Turn = (room.Turn + 1); if (room.Turn > 3) { room.Turn = 1; } SendTurnPlay(room); } break; case 112: roomID = listPlayer[message.Sender].RoomID; room = listRoom[roomID]; sttPlayer = room.ListPlayer.IndexOf(listPlayer[message.Sender]) + 1; if (room.Turn == sttPlayer) { mes = new Message(222, message.Sender, message.Payload); server.SendAllRoom(room, mes.ToString()); room.Turn = (room.Turn + 1); if (room.Turn > 3) { room.Turn = 1; } SendTurnPlay(room); } break; default: //sai cú pháp break; } }