コード例 #1
0
ファイル: Program.cs プロジェクト: kourouklides/Coinche
 private static void CheckBidding(string received)
 {
     if (received.Equals("BID"))
     {
         BiddingChoice(_player);
     }
     else if (received.Equals("BID KO"))
     {
         if (_isAi)
         {
             _player.SendMessage("BID N");
         }
         else
         {
             Console.Write("Invalid bid!\n");
             BiddingChoice(_player);
         }
     }
     else if (received.Equals("BID RESET"))
     {
         _player.EmptyDeck();
     }
 }
コード例 #2
0
ファイル: Program.cs プロジェクト: kourouklides/Coinche
 public static int Main(string[] args)
 {
     try
     {
         var client = new TcpClient();
         var ip     = GetIp();
         var port   = GetPort();
         client.Connect(ip, port);
         Console.Write("Connection successful! Waiting for more players...\n");
         var received = "";
         ModelDeck.Generate32CardDeck();
         _player = new Player(client);
         if (args.Length == 1 && args[0].ToUpper().Equals("AI"))
         {
             _isAi = true;
         }
         while (!received.Equals("END"))
         {
             var buffer = "";
             while (buffer.IndexOf('\n') < 0)
             {
                 var stream  = client.GetStream();
                 var buff    = new byte[1];
                 var readStr = stream.Read(buff, 0, 1);
                 if (readStr == 0)
                 {
                     Console.Write("Cannot reach server!\n");
                     return(84);
                 }
                 for (var i = 0; i < readStr; i++)
                 {
                     buffer += Convert.ToChar(buff[i]);
                 }
             }
             received = buffer.Substring(0, buffer.IndexOf('\n'));
             if (received.StartsWith("MSG "))
             {
                 Console.Write(received.Substring(4, received.Length - 4) + "\n");
             }
             else if (received.StartsWith("DECK "))
             {
                 _player.EmptyDeck();
                 var cardsId = received.Substring(5, received.Length - 5).Split();
                 for (var idx = 0; idx < cardsId.Length; idx += 1)
                 {
                     _player.GetDeck().AddCard(ModelDeck.GetCardById(int.Parse(cardsId[idx])));
                 }
                 Console.Write("Your cards:");
                 _player.GetDeck().PrintDeck();
             }
             else if (received.StartsWith("BID"))
             {
                 CheckBidding(received);
             }
             else if (received.StartsWith("PLAY"))
             {
                 CheckPlay(received);
             }
         }
         Console.Write("The game is over. See you soon! :)\n");
         client.Close();
     } catch (SocketException) {
         Console.Write("Cannot reach server!\n");
         return(84);
     } catch (Exception) {
         Console.Write("An error occurred!\n");
         return(84);
     }
     return(0);
 }