예제 #1
0
        /// <summary>
        /// Позиционирование игрока на карте
        /// </summary>
        /// <param name="pl">Игрок</param>
        /// <param name="map">Карту</param>
        public static void SetPlayers(ref Player pl, ref Map map)
        {
            while (pl.posX == 0 && pl.posY == 0)
            {
                int posX = Randomaizer.GetRandValue(1, map.sizeRow - 1);
                int posY = Randomaizer.GetRandValue(1, map.sizeCol - 1);

                if (map.map[pl.posX, pl.posY].statusTile != Status.Wall ||
                    map.map[posX, posY].statusTile != Status.Enemy)
                {
                    pl.posX = posX;
                    pl.posY = posY;

                    map.map[pl.posX, pl.posY].statusTile = pl.st;
                    map.map[pl.posX, pl.posY].mapValue   = pl.mv;
                }
            }
        }
예제 #2
0
        /// <summary>
        /// Позиционирование врага на карте
        /// </summary>
        /// <param name="en">Враг</param>
        /// <param name="map">Карта</param>
        private static void InitEnemy(ref Enemy en, ref Map map)
        {
            while (en.posX == 0 && en.posY == 0)
            {
                int posX = Randomaizer.GetRandValue(1, map.sizeRow - 1);
                int posY = Randomaizer.GetRandValue(1, map.sizeCol - 1);

                if (map.map[posX, posY].statusTile != Status.Wall)
                {
                    en.posX = posX;
                    en.posY = posY;

                    map.map[en.posX, en.posY].statusTile = en.st;
                    map.map[en.posX, en.posY].mapValue   = en.mv;
                    map.map[en.posX, en.posY].cc         = en.cc;
                    en.Actualcc = ConsoleColor.Cyan;
                }
            }
        }
예제 #3
0
        static void Main(string[] args)
        {
            Console.WriteLine();
            Player pl = new Player();

            pl.level = Game.SetLevelGame();

            Map map = new Map();

            Game.CreateMap(ref map);
            pl.InitPlayer();

            Initializer.SetPlayers(ref pl, ref map);
            Enemy.level = pl.level;

            Initializer.InitMap(ref map);
            Randomaizer.RandomBlock(ref map);


            Enemy[] enVec = Enemy.CreateEnemy(Enemy.level);
            Initializer.InitVecEnemy(enVec, ref map);

            pl.vec = VectorMove.NoDirection;

            Game.Print(map);

            while (!Logics.endGame)
            {
                if (Console.KeyAvailable)
                {
                    pl.vec = Logics.Move(Game.GetMove());
                    Logics.ChangeVec(ref pl, ref map);
                }

                Enemy.InitVecEnemy(enVec, ref map);


                System.Threading.Thread.Sleep(200);
            }
        }
예제 #4
0
 // Выбор вектора движения
 public static VectorMove Move()
 {
     return((VectorMove)Randomaizer.GetRandValue((int)VectorMove.Up, (int)VectorMove.Right));
 }