Esempio n. 1
0
        public MainForm()
        {
            PointF pt = new PointF();
            float  offset;

            InitializeComponent();

            offset = (float)gamePanel.Width * 0.25f;   // Divide by quarter

            _back = new Bitmap(GetType(), "back_01.png");

            // Add the bases along bottom of window
            pt.X = 0;
            pt.Y = (float)gamePanel.Height * 0.9f; // All bases at same height
            for (int i = 0; i < 3; i++)
            {
                pt.X      = pt.X + offset; // Move along in x-direction
                _bases[i] = new MissileBase(pt, 20);
            }

            _activeBase        = _bases[0];
            _bases[0].IsActive = true;

            // Double buffering
            DoubleBuffered = false;
            _backContext   = new BufferedGraphicsContext();
            _backBuffer    = _backContext.Allocate(gamePanel.CreateGraphics(), gamePanel.DisplayRectangle);
        }
Esempio n. 2
0
        private void MainForm_KeyPress(object sender, KeyPressEventArgs e)
        {
            switch (e.KeyChar)
            {
            case '1':
                _activeBase.IsActive = false;
                _activeBase          = _bases[0];
                _bases[0].IsActive   = true;
                break;

            case '2':
                _activeBase.IsActive = false;
                _activeBase          = _bases[1];
                _bases[1].IsActive   = true;
                break;

            case '3':
                _activeBase.IsActive = false;
                _activeBase          = _bases[2];
                _bases[2].IsActive   = true;
                break;

            case '7':
                _score -= 5;
                break;

            case '8':
                _score += 5;
                break;

            case '9':
                _activeBase.RemoveHealth(5);
                break;

            case '0':
                _activeBase.AddHealth(5);
                break;

            case '-':
                _activeBase.RemoveAmmo(1);
                break;

            case '=':
                _activeBase.AddAmmo(1);
                break;

            case 'K':
            case 'k':
                _bases[0].RemoveHealth(100);
                _bases[1].RemoveHealth(100);
                _bases[2].RemoveHealth(100);
                break;

            default:
                break;
            }
        }