public SendDataToUsers DataToSendPrepare(Player Enemy) { SendDataToUsers send = new SendDataToUsers(); send.Command = PacketsToServer.SendDataToUsers; send.Player1 = this.clientinf; send.Player2 = Enemy; send.WhoIsFirst = Enemy; return(send); }
public SendDataToUsers DataToSendPrepareEnemy(Player Enemy) { SendDataToUsers send = new SendDataToUsers(); send.Command = PacketsToServer.SendDataToUsers; send.AmIFirst = Enemy.IsHod; send.EnemyHealth = clientinf.Health; send.MyHealth = Enemy.Health; send.MyMana = Enemy.Mana; send.Arena1 = Enemy.CardArena1; send.Arena2 = Enemy.CardArena2; send.EnemyArena1 = clientinf.CardArena1; send.EnemyArena2 = clientinf.CardArena2; return(send); }
public void GameStep(Card EnemyCard, Card MyCard, Player Enemy) { if (EnemyCard == null) { controller.AttackLico(this.clientinf, Enemy, (CardHeroes)MyCard); if (Enemy.Health <= 0) { //пакет вин } } else { controller.AttackCard(this.clientinf, Enemy, (CardHeroes)MyCard, (CardHeroes)EnemyCard); } SendDataToUsers send = new SendDataToUsers(); send = DataToSendPrepare(Enemy); strpacket = JsonConvert.SerializeObject(send); Send(strpacket); }
public void ReciveMessages(string message) { switch (JsonConvert.DeserializeObject <RegPacket>(message).Command) { case PacketsToServer.RegPacket: RegPacket reg = JsonConvert.DeserializeObject <RegPacket>(message); bool flag = ServerMain.Check(reg.Name); ResultRegPacket result = new ResultRegPacket(); if (flag) { result.Command = PacketsToServer.ResultRegPacket; result.StatusOfRegistr = Status.success; clientinf = new Player(reg.Name); ServerMain.gameclients.Add(clientinf); ServerMain.FirstList.Add(reg.Name, client); Console.WriteLine("Имя клиента " + reg.Name); ListOfAllClients list = new ListOfAllClients(); list.Command = PacketsToServer.ListOfAllClients; list.ListAllClients = makelist(); strpacket = JsonConvert.SerializeObject(list); SendToAllPlayersInTheGame(strpacket); } else { result.Command = PacketsToServer.ResultRegPacket; result.StatusOfRegistr = Status.fail; Console.WriteLine("Клиент с таким именем уже существует"); } strpacket = JsonConvert.SerializeObject(result); Send(strpacket); break; case PacketsToServer.AskGamePacket: AskGamePacket stwp = JsonConvert.DeserializeObject <AskGamePacket>(message); StartWindowPacket stgapc = new StartWindowPacket(); //отправляю список клиента при входе в игру stgapc.Command = PacketsToServer.StartWindowPacket; stgapc.ListAllClients = makelist(); strpacket = JsonConvert.SerializeObject(stgapc); Send(strpacket); break; case PacketsToServer.WaitGamePacket: WaitGamePacket waitfg = JsonConvert.DeserializeObject <WaitGamePacket>(message); this.clientinf.Status = StatusGamer.lookforgame; List <Player> listWaitingplayers = MakeReadyForGameListOfPlayers(); ListOfWaitingClients waitcl = new ListOfWaitingClients(); waitcl.Command = PacketsToServer.ListOfWaitingClients; waitcl.ListWaitingClients = makelist(); strpacket = JsonConvert.SerializeObject(waitcl); Send(strpacket); break; case PacketsToServer.ChooseEnemyPacket: ChooseEnemyPacket ch = JsonConvert.DeserializeObject <ChooseEnemyPacket>(message); this.clientinf.Status = StatusGamer.lookforgame; foreach (Player client in ServerMain.gameclients) { if (client.Name == ch.EnemyLogin && client.Status == StatusGamer.lookforgame && CheckMe(clientinf) == StatusGamer.lookforgame) { ResultChooseEnemyPacketSuccess resultchen = new ResultChooseEnemyPacketSuccess(); resultchen.Command = PacketsToServer.ResultChooseEnemyPacketSuccess; resultchen.StatusOfChoseEnemy = Status.success; resultchen.enemylogin = ch.EnemyLogin; var obj = JsonConvert.DeserializeObject <List <Card> >(File.ReadAllText("1.json")); resultchen.listAllCards = obj; strpacket = JsonConvert.SerializeObject(resultchen); Send(strpacket); return; } else { ResultChooseEnemyPacketFailed pack2 = new ResultChooseEnemyPacketFailed(); pack2.Command = PacketsToServer.ResultChooseEnemyPacketFailed; pack2.StatusOfChoseEnemy = Status.fail; strpacket = JsonConvert.SerializeObject(pack2); Send(strpacket); return; } } break; case PacketsToServer.ChoosenCardListPacket: ChoosenCardListPacket kol = JsonConvert.DeserializeObject <ChoosenCardListPacket>(message); ResultChooseCardList packetcheck = new ResultChooseCardList(); packetcheck.Command = PacketsToServer.ResultChooseCardList; if (checkkoloda(kol.Koloda)) { packetcheck.ResultOfChooseCard = Status.success; } else { packetcheck.ResultOfChooseCard = Status.fail; } strpacket = JsonConvert.SerializeObject(packetcheck); Send(strpacket); break; case PacketsToServer.StartGamePacket: StartGamePacket stgapacket = JsonConvert.DeserializeObject <StartGamePacket>(message); stgapacket.Me.Status = StatusGamer.playing; stgapacket.Enemy.Status = StatusGamer.playing; room = new Rooms(); room.Player1 = clientinf; room.Player2 = stgapacket.Enemy; StartGame(this.clientinf, stgapacket.Enemy); break; case PacketsToServer.StepPacket: StepPacket stpac = JsonConvert.DeserializeObject <StepPacket>(message); GameStep(stpac.EnemyCard, stpac.MyCard, stpac.Enemy); break; case PacketsToServer.PacketArenaCardNow: PacketArenaCardNow parcadnow = JsonConvert.DeserializeObject <PacketArenaCardNow>(message); if (parcadnow.MyCard.Price < this.clientinf.Mana) { controller.ToArena(this.clientinf, parcadnow.MyCard); SendDataToUsers send = DataToSendPrepare(room.Player2); strpacket = JsonConvert.SerializeObject(send); SendToAllPlayersInTheRoom(strpacket, room.Player2); } else { Error error = new Error(); error.Command = PacketsToServer.Error; error.ErrorToUser = "******"; } break; } }
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; } }