Пример #1
0
        public void MoveGun()   //Move
        {
            switch (_directionGun)
            {
            case DirectionEnum.Up:
            {
                for (int i = _arrayGan[1]; i > Karta.MinTop; i--)
                {
                    _arrayGan[1] -= 1;
                    Karta.ClearKartaFromGun();
                    Karta.GlobalCoordinate[_arrayGan[0], _arrayGan[1]] = Karta.GunView;
                    Karta.DrawGun();
                }
                break;
            }

            case DirectionEnum.Right:
            {
                for (int i = _arrayGan[0]; i < Karta.MaxLeft - 1; i++)
                {
                    _arrayGan[0] += 1;
                    Karta.ClearKartaFromGun();
                    Karta.GlobalCoordinate[_arrayGan[0], _arrayGan[1]] = Karta.GunView;
                    Karta.DrawGun();
                }

                break;
            }

            case DirectionEnum.Down:
            {
                for (int i = _arrayGan[1]; i < Karta.MaxTop - 1; i++)
                {
                    _arrayGan[1] += 1;
                    Karta.ClearKartaFromGun();
                    Karta.GlobalCoordinate[_arrayGan[0], _arrayGan[1]] = Karta.GunView;
                    Karta.DrawGun();
                }
                break;
            }

            case DirectionEnum.Left:
            {
                for (int i = _arrayGan[0]; i > Karta.MinLeft; i--)
                {
                    _arrayGan[0] -= 1;
                    Karta.ClearKartaFromGun();
                    Karta.GlobalCoordinate[_arrayGan[0], _arrayGan[1]] = Karta.GunView;
                    Karta.DrawGun();
                }

                break;
            }
            }

            Karta.ClearKartaFromGun();
            Karta.DrawGun();
        }
Пример #2
0
        public void OpenFile()
        {
            FileStream fin;
            string     s;

            try
            {
                fin = new FileStream("Test.txt", FileMode.Open);
            }
            catch (FileNotFoundException exc)
            {
                Console.SetCursorPosition(0, Karta.MaxTop);
                Console.WriteLine("you must put file Test.txt in folder" +
                                  " near with *.exe file please do it and restart program");
                Console.WriteLine("I create random Walls");

                //  Wall w1 = new Wall(1, 1, 1, 2);
                //  Wall w2 = new Wall(15, 10, 16, 14);
                Karta.CreateRandomOneWall();
                Thread.Sleep(1);
                Karta.CreateRandomOneWall();

                return;
            }
            StreamReader fstrIn = new StreamReader(fin);

            // Считываем файл построчно.
            for (int i = 0; (i < Karta.MaxTop); i++)
            {
                char[] arrayChar = new char[Karta.MaxLeft];

                s = fstrIn.ReadLine();
                if (s != null)
                {
                    arrayChar = s.ToCharArray();
                    for (int j = 0; (j < arrayChar.Length && j < Karta.MaxLeft); j++)
                    {
                        if (arrayChar[j] == '*' || arrayChar[j] == '1' || arrayChar[j] == '2' ||
                            arrayChar[j] == '3' || arrayChar[j] == '4' || arrayChar[j] == '5' ||
                            arrayChar[j] == '6' || arrayChar[j] == '7' || arrayChar[j] == '8' ||
                            arrayChar[j] == '9' || arrayChar[j] == '*')

                        {
                            Wall w = new Wall(j, i, j, i);
                        }
                        Karta.DrawWall();
                    }
                }
            }

            fstrIn.Close();
        }
Пример #3
0
        public Gun(DirectionEnum directionGun, int left, int top)
        {
            this._directionGun = directionGun;
            _arrayGan[0]       = left;
            _arrayGan[1]       = top;
            CountShot--;

            MoveGun();///////////////////// in Move

            if (CountShot == 0 | !Karta.KartaHaveWall())
            {
                TankMainClass.FlagWeInProgram = false;
            }
        }
Пример #4
0
        public void Draw()
        {
            Karta.ClearKartaFromTank();

            int k = 0;

            //   Karta.ClearKarta();

            for (var i = 1; i < 10; i++)
            {
                if (Karta.GlobalCoordinate[CoordinateLeft[i], CoordinateTop[i]] == Karta.WallView)
                {
                    k++;
                }
            }

            if (k == 0)
            {
                Karta.GlobalCoordinate[CoordinateLeft[1], CoordinateTop[1]] = '-';
                Karta.GlobalCoordinate[CoordinateLeft[2], CoordinateTop[2]] = '*';
                Karta.GlobalCoordinate[CoordinateLeft[3], CoordinateTop[3]] = '-';
                Karta.GlobalCoordinate[CoordinateLeft[4], CoordinateTop[4]] = '0';
                Karta.GlobalCoordinate[CoordinateLeft[5], CoordinateTop[5]] = '*';
                Karta.GlobalCoordinate[CoordinateLeft[6], CoordinateTop[6]] = '0';
                Karta.GlobalCoordinate[CoordinateLeft[7], CoordinateTop[7]] = '#';
                Karta.GlobalCoordinate[CoordinateLeft[8], CoordinateTop[8]] = '#';
                Karta.GlobalCoordinate[CoordinateLeft[9], CoordinateTop[9]] = '#';
            }
            else
            {
                for (int i = 1; i < 10; i++)  //retyrn Array
                {
                    CoordinateLeft[i] = _beforeCoordinateLeft[i];
                    CoordinateTop[i]  = _beforeСoordinateTop[i];
                    _direction        = _beforeDirection;
                }

                Karta.GlobalCoordinate[CoordinateLeft[1], CoordinateTop[1]] = '-';
                Karta.GlobalCoordinate[CoordinateLeft[2], CoordinateTop[2]] = '*';
                Karta.GlobalCoordinate[CoordinateLeft[3], CoordinateTop[3]] = '-';
                Karta.GlobalCoordinate[CoordinateLeft[4], CoordinateTop[4]] = '0';
                Karta.GlobalCoordinate[CoordinateLeft[5], CoordinateTop[5]] = '*';
                Karta.GlobalCoordinate[CoordinateLeft[6], CoordinateTop[6]] = '0';
                Karta.GlobalCoordinate[CoordinateLeft[7], CoordinateTop[7]] = '#';
                Karta.GlobalCoordinate[CoordinateLeft[8], CoordinateTop[8]] = '#';
                Karta.GlobalCoordinate[CoordinateLeft[9], CoordinateTop[9]] = '#';
            }
            Karta.DrawTank();
        }