Example #1
0
        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]);
            }
        }
Example #2
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);
            }
        }