コード例 #1
0
    /// <summary>
    ///  Main Game Loop
    ///  Zeichnet alles was auf der Konsole angezeigt werden soll,
    ///  solange man nicht abgebrochen oder verloren hat
    /// </summary>
    private void Draw()
    {
        // Game Loop
        while (!gameOver && !abbruch)
        {
            gr.ClearBuffer();

            GetKeyInput();
            powerups.SpawnPowerup();

            stars.MoveStars(kryptonite.listPoints);
            kryptonite.MoveKryptonite(stars.listPoints);

            DrawBorder();
            DrawUI();
            DrawLegend();

            stars.Draw();
            kryptonite.Draw();
            powerups.Draw();
            superman.Draw();

            CheckIntersection();

            gr.DrawBufferToConsole();
            Thread.Sleep((int)(1000 / FPS));
        }

        // Nur Game Over Screen zeigen, wenn nicht abgebrochen wurde
        if (gameOver)
        {
            // Spiel vorbei (Egal ob verloren oder gewonnen, selber Screen)
            GameOverScreen();
        }
    }