public void StartGame(Player Player2) { controller = new Controller(); Player FirstPlayer = controller.GameStart(clientinf, Player2); lock (_locker) { try { if (ServerMain.rooms[clientinf.NumRoom].playerFirst.Name == null) { ServerMain.rooms[clientinf.NumRoom].playerFirst = FirstPlayer; } else { FirstPlayer = ServerMain.rooms[clientinf.NumRoom].playerFirst; } } catch { ServerMain.rooms[clientinf.NumRoom].playerFirst = FirstPlayer; } } SendDataToUsersFirstTime send = new SendDataToUsersFirstTime(); send.Command = PacketsToServer.SendDataToUserFirstTime; send.EnemyName = Player2.Name; send.EnemyHealth = Player2.Health; send.MyHealth = clientinf.Health; send.MyMana = clientinf.Mana; send.StartKoloda = clientinf.Deck; send.ListCardInAHandFirst = clientinf.CardHand; bool whosfirst; if (ServerMain.rooms[clientinf.NumRoom].playerFirst.Name == clientinf.Name) { whosfirst = true; } else { whosfirst = false; } send.AmIFirst = whosfirst; strpacket = JsonConvert.SerializeObject(send) + "$"; Send(strpacket); }
public void StartGame(Player Player1, Player Player2) { controller = new Controller(); controller.GameStart(Player1, Player2); SendDataToUsersFirstTime send = new SendDataToUsersFirstTime(); send.Command = PacketsToServer.SendDataToUsers; send.Player1 = Player1; send.Player2 = Player2; var obj = JsonConvert.DeserializeObject <List <Card> >(File.ReadAllText("Heroes.json")); send.ListCard = obj; send.WhoIsFirst = controller.First(Player1, Player2); strpacket = JsonConvert.SerializeObject(send); Send(strpacket); }
public void ReciveMesFromServ(string message) { switch (JsonConvert.DeserializeObject <ResultRegPacket>(message).Command) { case PacketsToServer.ResultRegPacket: ResultRegPacket result = JsonConvert.DeserializeObject <ResultRegPacket>(message); ChangeForm(); ChangeForm1(result.ListAllClients); //SendQAFORstWindow(); break; case PacketsToServer.ResultRegPacketFailed: ResultRegPacket resultf = JsonConvert.DeserializeObject <ResultRegPacket>(message); SendMessage(string.Format("Это имя уже занято!Введите другое имя.")); break; case PacketsToServer.StartWindowPacket: StartWindowPacket resultWindow = JsonConvert.DeserializeObject <StartWindowPacket>(message); ChangeForm1(resultWindow.ListAllClients); break; case PacketsToServer.ListOfAllClients: ListOfAllClients list = JsonConvert.DeserializeObject <ListOfAllClients>(message); ChangeForm1(list.ListAllClients); break; case PacketsToServer.ListOfWaitingClients: ListOfWaitingClients waitgapacket = JsonConvert.DeserializeObject <ListOfWaitingClients>(message); ChangeForm2(waitgapacket.ListWaitingClients); break; case PacketsToServer.AskGamePacket: AskGamePacket gameasktpacket = JsonConvert.DeserializeObject <AskGamePacket>(message); MessForME(gameasktpacket.login); break; case PacketsToServer.ResultChooseEnemyPacketSuccess: ResultChooseEnemyPacketSuccess gamepaket = JsonConvert.DeserializeObject <ResultChooseEnemyPacketSuccess>(message); ChangeFormToNewForm(); MakeCards(gamepaket.listAllCards); break; case PacketsToServer.ResultChooseEnemyPacketFailed: // ChangeFormToNewForm(); SendMessage("Противник отклонил игру"); break; case PacketsToServer.ResultChooseCardList: ResultChooseCardList anscard = JsonConvert.DeserializeObject <ResultChooseCardList>(message); if (anscard.ResultOfChooseCard == Status.fail) { ISCardRight = false; // ChangeFormCard();//добавить обработчик } else { ISCardRight = true; } if (ISCardRightEnemy == true && ISCardRight == true) { ChangeToFormGame(); SendStart(enemyName); } break; case PacketsToServer.ISErrorOfEnemy: ISErrorOfEnemy errEnemy = JsonConvert.DeserializeObject <ISErrorOfEnemy>(message); if (errEnemy.ISErr == false) { ISCardRightEnemy = true; } else if (errEnemy.ISErr != false && ISCardRight == true) { ISCardRightEnemy = false; MessForMEWait("подождите, ваш противник еще выбирает карты"); // CardClose();//добавить обработчик } if (ISCardRightEnemy == true && ISCardRight == true) { ChangeToFormGame(); SendStart(enemyName); } break; case PacketsToServer.SendDataToUserFirstTime: SendDataToUsersFirstTime DataFirst = JsonConvert.DeserializeObject <SendDataToUsersFirstTime>(message); ChangeGameForm(DataFirst.AmIFirst, DataFirst.EnemyHealth, DataFirst.EnemyName, DataFirst.MyHealth, DataFirst.MyMana, DataFirst.StartKoloda, name, DataFirst.ListCardInAHandFirst); break; case PacketsToServer.Error: Error carder = JsonConvert.DeserializeObject <Error>(message); if (carder.ErrorToUser == MessagesToClientErrors.NotEnouthMana) { MessForME("У вас не хватает маны"); } break; case PacketsToServer.CardOnABoard: CardOnABoard card = JsonConvert.DeserializeObject <CardOnABoard>(message); if (card.login == name) { CardOnABoard(card.card); } else { CardOnOtherABoard(card.card); } break; case PacketsToServer.SendDataToUsers: SendDataToUsers Data = JsonConvert.DeserializeObject <SendDataToUsers>(message); ChangeAftepStep(Data.AmIFirst, Data.EnemyHealth, enemyName, Data.MyHealth, Data.MyMana, Data.Arena1, Data.Arena2, Data.EnemyArena1, Data.EnemyArena2); break; case PacketsToServer.EnemyLeftGamePacket: IfEnemyLeft("Ваш противник сдался! Вы выйграли!"); break; } }