Ejemplo n.º 1
0
        public bool SetSpy(GameAction pDestSpyPosition)
        {
            if (pDestSpyPosition == GameAction.None)
            {
                Console.WriteLine("In Spy state only set spy");
                return(false);
            }

            // Has spy in source if(GetSpyCount()<5)
            // Has money to dest
            for (int i = 0; i < Spies.Count(); i++)
            {
                if (Spies[i] == GameAction.None)
                {
                    switch (pDestSpyPosition)
                    {
                    case GameAction.Spy: break;

                    case GameAction.Invent:
                        if (Coins >= 2)
                        {
                            DropCoins(2);
                        }
                        else
                        {
                            Console.WriteLine("Not enought coins to spy");
                            return(false);
                        }
                        break;

                    case GameAction.Research: break;

                    case GameAction.Work:
                        if (Coins >= 1)
                        {
                            DropCoins(1);
                        }
                        else
                        {
                            Console.WriteLine("Not enought coins to spy");
                            return(false);
                        }
                        break;
                    }
                    Spies[i]      = pDestSpyPosition;
                    CurrentSetSpy = pDestSpyPosition;
                    return(true);
                }
            }
            Console.WriteLine("No spy in source location");
            return(false);
        }
Ejemplo n.º 2
0
 public bool DropSpy(GameAction pSourceSpyPosition)
 {
     for (int i = 0; i < Spies.Count(); i++)
     {
         if (Spies[i] == pSourceSpyPosition)
         {
             Spies[i]       = GameAction.None;
             CurrentDropSpy = pSourceSpyPosition;
             break;
         }
     }
     return(true);
 }