Exemple #1
0
        public void MakeGameLoop()
        {
            string receivedFromUser;

            int[] result = new int[k_Two];
            if (m_GameEngineInstance.GetCurrentPlayer().m_IsHuman)
            {
                Console.WriteLine("Player" + m_GameEngineInstance.GetCurrentPlayer().m_Sign + ", Please enter coordinates as (x,y):");

                receivedFromUser = Console.ReadLine();
                while (!CheckReceivedValues(receivedFromUser) && !m_IsEndOfGame)
                {
                    Console.WriteLine("Invalid input! Please enter coordinates as (x,y):"); // We need to check coordinates format to avoid exeptions.

                    receivedFromUser = Console.ReadLine();
                }

                if (!m_IsEndOfGame)
                {
                    m_CurrX = int.Parse(receivedFromUser.Split(',')[k_Zero]) - k_One;
                    m_CurrY = int.Parse(receivedFromUser.Split(',')[k_One]) - k_One;
                }
            }
            else
            {
                // AI turn generation
                result  = m_GameEngineInstance.GenerateCoordinates();
                m_CurrX = result[k_Zero];
                m_CurrY = result[k_One];
            }

            if ((!m_IsEndOfGame) && (m_GameEngineInstance.IsLegalCoordinates(m_CurrX, m_CurrY) && m_GameEngineInstance.IsEmptyCell(m_CurrX, m_CurrY)))
            {
                m_GameEngineInstance.MakeTurn(m_CurrX, m_CurrY);
                m_GameEngineInstance.SwitchPlayer();
            }
        }