예제 #1
0
        /// <summary>
        /// Функция отрисовки экрана (вызывает 5 раз в секунду)
        /// </summary>
        /// <param name="screen"></param>
        public void Draw(Screen screen)
        {
            DrawBorder(screen);
            if (!_isGameOver)
            {
                // Рисуем игрока
                screen.SetPixel(_player.X, _player.Y, '■');

                for (int i = 0; i < _opponents.Count; i++)
                {
                    _opponents[i].Position.Move(_opponents[i].Speed);
                    if (CheckOpp(_opponents[i]))
                    {
                        _opponents[i] = GameObject.CreateOpponent(_random, _maxWidth, _maxHeight);
                    }
                    // Рисуем оппонента
                    screen.SetPixel(_opponents[i].Position.X, _opponents[i].Position.Y, '@');
                    if (_opponents[i].Position.Equals(_player))
                    {
                        _isGameOver = true;
                    }
                }
                _result++;
                if (_result % 30 == 0)
                {
                    _opponents.Add(GameObject.CreateOpponent(_random, _maxWidth, _maxHeight));
                }
            }
            else
            {
                GameOver(screen);
            }
        }
예제 #2
0
        private void DrawBorder(Screen screen)
        {
            // Рисуем вертикальные границы экрана
            for (int i = 0; i < screen.Height; i++)
            {
                screen.SetPixel(0, i, '|');
                screen.SetPixel(screen.Width - 1, i, '|');
            }

            // Рисуем горизонтальные границы экрана
            for (int i = 0; i < screen.Width; i++)
            {
                screen.SetPixel(i, 0, '-');
                screen.SetPixel(i, screen.Height - 1, '-');
            }
            screen.SetPixel(0, 0, '┌');
            screen.SetPixel(_maxWidth - 1, 0, '┐');
            screen.SetPixel(0, _maxHeight - 1, '└');
            screen.SetPixel(_maxWidth - 1, _maxHeight - 1, '┘');
        }