예제 #1
0
 protected Base(BackendBuki preferredBackendBuki,
                FrontendBuki firstPreferredFrontendBuki,
                FrontendBuki secondPreferredFrontendBuki,
                string name,
                int hidingTurnCount)
 {
     PreferredBackendBuki        = preferredBackendBuki;
     FirstPreferredFrontendBuki  = firstPreferredFrontendBuki;
     SecondPreferredFrontendBuki = secondPreferredFrontendBuki;
     Name            = name;
     HidingTurnCount = hidingTurnCount;
     _turnCount      = new TurnCount();
 }
예제 #2
0
        static void Main(string[] args)
        {
            IConfigProvider iConfigProvider = new AppConfigReader();

            LoadConfigs(iConfigProvider);
            _gridSize  = new GridSize(iConfigProvider);
            _turnCount = new TurnCount(iConfigProvider);
            Intro.Play();

            // generate game id
            _gameId = RandomWrapper.RandomNumber(1, 10000).ToString();              // I will need this, but don't need it yet

            Console.CursorVisible = true;

            string userInput;

            do
            {
                userInput = DisplayMenu();

                switch (userInput)
                {
                case "1":
                    AddPlayer();
                    break;

                case "2":
                    DisplayShips();
                    break;

                case "3":
                    GridSize();
                    break;

                case "4":
                    TurnCount();
                    break;

                case "5":
                    //DeletePlayer();
                    break;

                case "6":
                    RunGame();
                    break;
                }
            } while (userInput != "7");
        }
예제 #3
0
        public static GameState MakeInitialGameState(List <Player> players, TurnCount totalRounds, GridSize gridSize, ICollisions iCollisions, IEndGame iEndGame)
        {
            var gameState = new GameState()
            {
                Round       = 1,
                TotalRounds = totalRounds,
                GameOver    = false,
                GridSize    = gridSize,
                Players     = new List <Player>(),
                Collisions  = iCollisions,
                EndGame     = iEndGame
            };

            foreach (var player in players)
            {
                int x = RandomWrapper.RandomNumber(0, gameState.GridSize.Cols);
                int y = RandomWrapper.RandomNumber(0, gameState.GridSize.Rows);
                player.Destroyed = false;
                player.Position  = new Position(x, y);
                gameState.Players.Add(player);
            }
            return(gameState);
        }
예제 #4
0
        public void Log(string msg)
        {
            if (TurnCount > 40)
            {
                return;
            }
            StreamWriter sw = new StreamWriter(CurrentFolder + "" + Path.DirectorySeparatorChar + "Turn" + TurnCount.ToString() + ".log", true);

            sw.WriteLine(msg);
            sw.Close();
        }
예제 #5
0
        public void SerializeRoot()
        {
            if (TurnCount > 40)
            {
                return;
            }
            Stream stream = new FileStream(CurrentFolder + "" + Path.DirectorySeparatorChar + "Turn" + TurnCount.ToString() + "_" + SimuCount.ToString() + ".seed", FileMode.Create, FileAccess.Write, FileShare.None);

            byte[] mem = Debugger.Serialize(root);
            stream.Write(mem, 0, mem.GetLength(0));
            stream.Close();
        }
예제 #6
0
 public override string ToString()
 {
     return(ChapterID.ToString() + " / Turns: " + TurnCount.ToString() + " / Heroes: " + HeroCharacterID_1.ToString() + ", " + HeroCharacterID_2.ToString());
 }