static void Main(string[] args) { ChannelFactory <WCF_GuessWordServer.Game> myChannelFactory = new ChannelFactory <WCF_GuessWordServer.Game>(new NetTcpBinding(), new EndpointAddress("net.tcp://10.3.60.204:5000/WCF_GuessWordServer")); wcfClient = myChannelFactory.CreateChannel(); Console.WriteLine("Введите логин : "); login = Console.ReadLine(); WCF_GuessWordServer.GameState gs = wcfClient.login(login); if (gs == null) { Console.WriteLine("Подключиться не удалось"); return; } Thread T = new Thread(getGameStateRunMethod); T.IsBackground = true; T.Start(); while (true) { String symbol = Console.ReadLine(); if (symbol == "") { break; //выход из игры по пустйо строке } wcfClient.makeAction(login, symbol[0]); } }
static void getGameStateRunMethod() { ; while (true) { WCF_GuessWordServer.GameState gs = wcfClient.getGameState(login); Console.Clear(); Console.WriteLine("Слово : {0}", gs.curWord); switch (gs.state) { case 0: { Console.WriteLine("Ожидание подключения второго игрока"); break; } case 1: { if (gs.users[0] == login) { Console.WriteLine("Ваш ход"); } else { Console.WriteLine("Ходит {0}", gs.users[1]); } break; } case 2: { if (gs.users[1] == login) { Console.WriteLine("Ваш ход"); } else { Console.WriteLine("Ходит {0}", gs.users[0]); } break; } case 3: { if (gs.users[0] == login) { Console.WriteLine("Вы выиграли"); } else { Console.WriteLine("Выиграл {0}", gs.users[1]); } Console.WriteLine("Конец игры"); return; } case 4: { if (gs.users[1] == login) { Console.WriteLine("Вы выиграли"); } else { Console.WriteLine("Выиграл {0}", gs.users[0]); } Console.WriteLine("Конец игры"); return; } } Thread.Sleep(2000); } }