public void UpdateSpiel(object sender, EventArgs e) { // Wenn das Spiel vorbei ist, wird mit Enter das neue Spiel gestartet if (Spielfeld.GameOver == true) { // logScore verhindert, dass Score mehrfach wegen des Timers geschrieben wird if (logScore == true) { // logScore wird auf false gesetzt, damit es nur 1mal durchläuft logScore = false; // Text für GameOver wird angezeigt sowie das Textfeld zum Namen eingeben und der Button zum weiter kommen string gameOver = " Game Over!\n Score: " + Spielfeld.Score + "\nBitte gib deinen Spielernamen ein\n (genau 3 Zeichen)"; labelGameOver.Text = gameOver; labelGameOver.Visible = true; textBoxSpieler.Visible = true; textBoxSpieler.Enabled = true; buttonWeiter.Visible = true; buttonWeiter.Enabled = true; } } // Während des Spiels ist die entgegengesetzte Richtungen nicht erlaubt, damit die Schlange sich nicht selbst trifft else { if (Steuerung.TasteGedrückt(Keys.W) && Spielfeld.Richtung != 3) { Spielfeld.Richtung = 1; } if (Steuerung.TasteGedrückt(Keys.A) && Spielfeld.Richtung != 4) { Spielfeld.Richtung = 2; } if (Steuerung.TasteGedrückt(Keys.S) && Spielfeld.Richtung != 1) { Spielfeld.Richtung = 3; } if (Steuerung.TasteGedrückt(Keys.D) && Spielfeld.Richtung != 2) { Spielfeld.Richtung = 4; } // Position der Schlange wird aktualisiert UpdateSnake(); } // Spielfeld(PictureBox) wird neu gezeichnet pictureBoxSnake.Invalidate(); }
// Event Taste ist gedrückt ändert den Status private void Form_Snake_KeyDown(object sender, KeyEventArgs e) { Steuerung.ChangeState(e.KeyCode, true); }