Laden...

[erledigt] Snake-Spiel startet neu, wenn zwei Tasten gleichzeitig gedrückt sind

Erstellt von Jonas007 vor 3 Jahren Letzter Beitrag vor 3 Jahren 1.722 Views
J
Jonas007 Themenstarter:in
37 Beiträge seit 2020
vor 3 Jahren
[erledigt] Snake-Spiel startet neu, wenn zwei Tasten gleichzeitig gedrückt sind

Hallo liebe Community!

Ich habe in Windows Forms mein erstes Snake Spiel programmiert und bereits jetzt, wo das Spiel noch nicht ganz fertig ist, einen Fehler den ich alleine bzw. mit Hilfe des Internets nicht lösen konnte. Und zwar:
Wenn die Schlange sich nach links bewegt und man die Tasten unterer oder oberer Pfeil und rechts benutzt, startet das Spiel neu. Wenn die Schlange sich nach rechts bewegt und man die Tasten unterer oder oberer Pfeil und linksbenutzt, startet das ebenfalls Spiel neu, usw.. Ich finde meinen Fehler nicht und weiß auch nicht woran es liegen könnte. Ich würde mich sehr darüber freuen, wenn mir da jemand weiterhelfen könnte 😃

5.658 Beiträge seit 2006
vor 3 Jahren

Das Projekt habe ich entfernt. Das Forum ist nicht dazu da, daß du hier einfach deinen gesamten Code postest, um ihn von jemand anderem debuggen zu lassen.

Bitte lies dir mal [Hinweis] Wie poste ich richtig? durch.

Wenn du ein Problem hast, dann kannst du das hier beschreiben, und den relevanten Code im Beitrag posten.

Fehler in deiner Software kannst du auch selbst mit dem Debugger oder automatischen Tests finden:
[Artikel] Debugger: Wie verwende ich den von Visual Studio?
[Artikel] Unit-Tests: Einführung in das Unit-Testing mit VisualStudio

Weeks of programming can save you hours of planning

187 Beiträge seit 2009
vor 3 Jahren

Ach schade, dass das Projekt entfernt wurde. Hätte mir das gerne angesehen!

J
Jonas007 Themenstarter:in
37 Beiträge seit 2020
vor 3 Jahren

Ich würde ja das Problem beschreiben und den dazu relevanten Code hochladen, jedoch weiß ich weder was und wo der Fehler ist. Ich dachte mir ich lade das ganze Programm hoch, da es ja "nur" 200 Zeilen Code sind

Hinweis von Abt vor 3 Jahren

Keine Full Quotes: [Hinweis] Wie poste ich richtig?

J
251 Beiträge seit 2012
vor 3 Jahren

Wie sieht denn das Handling aus, wenn man eine Taste drückt?

J
Jonas007 Themenstarter:in
37 Beiträge seit 2020
vor 3 Jahren

So lese ich die Tasten ein. Kann es sein, dass ich eventuell das falsche Event gewählt habe?


        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
                case Keys.W:
                case Keys.Up:
                    if (snakeDirection != SnakeDirection.Down)
                    {
                        snakeDirection = SnakeDirection.Up;
                    }
                    break;
                case Keys.D:
                case Keys.Right:
                    if (snakeDirection != SnakeDirection.Left)
                    {
                        snakeDirection = SnakeDirection.Right;
                    }
                    break;
                case Keys.S:
                case Keys.Down:
                    if (snakeDirection != SnakeDirection.Up)
                    {
                        snakeDirection = SnakeDirection.Down;
                    }
                    break;
                case Keys.A:
                case Keys.Left:
                    if (snakeDirection != SnakeDirection.Right)
                    {
                        snakeDirection = SnakeDirection.Left;
                    }
                    break;
            }
        }

2.298 Beiträge seit 2010
vor 3 Jahren

Viel relevanter ist meines Erachtens nach der Code an dem die Richtung ausgewertet wird.

Du schreibst das Spiel startet neu. Wie ist denn das Standardverhalten, wenn deine Schlange auf sich selbst trifft?

Ich vermute hier nämlich, dass es zu einer Kollision kommt.

Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |

16.835 Beiträge seit 2008
vor 3 Jahren

Ich kann nicht erkennen, wieso der Titel nun "erledigt" ist; aber wenn Du wirklich null Anhaltspunkte hast, was Schief läuft (auch nicht mit [Artikel] Debugger: Wie verwende ich den von Visual Studio?), dann kannst Du das Projekt hochladen.

J
Jonas007 Themenstarter:in
37 Beiträge seit 2020
vor 3 Jahren

Ich kann nicht erkennen, wieso der Titel nun "erledigt" ist; aber wenn Du wirklich null Anhaltspunkte hast, was Schief läuft (auch nicht mit [Artikel] Debugger: Wie verwende ich den von Visual Studio?), dann kannst Du das Projekt hochladen.

Ich bin heute ganz zufällig darauf gekommen was der Fehler war. Es ist schwierig zu erklären aber die Sache hat sich für mich erledigt. Danke an alle die so schnell bereit waren mir zu helfen 😃

2.207 Beiträge seit 2011
vor 3 Jahren

Hallo Jonas007,

super, dass sich das Problem für dich erledigt hat. Aber Hilfesuchende habe somit null Informationen, wie sich das Problem erledigt hat. Kannst du bitte deine Lösung erklären, damit andere auch davon profitieren können?

Gruss

Coffeebean