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); }
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; } }