Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
[erledigt] Snake-Spiel startet neu, wenn zwei Tasten gleichzeitig gedrückt sind
Jonas007
myCSharp.de - Member



Dabei seit:
Beiträge: 33
Herkunft: Österreich

Themenstarter:

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

beantworten | zitieren | melden

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 :)
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Jonas007 am .
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5991
Herkunft: Leipzig

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Caveman
myCSharp.de - Member

Avatar #avatar-3854.jpg


Dabei seit:
Beiträge: 140

beantworten | zitieren | melden

Ach schade, dass das Projekt entfernt wurde. Hätte mir das gerne angesehen!
private Nachricht | Beiträge des Benutzers
Jonas007
myCSharp.de - Member



Dabei seit:
Beiträge: 33
Herkunft: Österreich

Themenstarter:

beantworten | zitieren | melden

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Jonas007 am .

Moderationshinweis von Abt (06.05.2020 - 22:29:44):

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

private Nachricht | Beiträge des Benutzers
Jamikus
myCSharp.de - Member



Dabei seit:
Beiträge: 254
Herkunft: Oberhausen (NRW)

beantworten | zitieren | melden

Wie sieht denn das Handling aus, wenn man eine Taste drückt?
private Nachricht | Beiträge des Benutzers
Jonas007
myCSharp.de - Member



Dabei seit:
Beiträge: 33
Herkunft: Österreich

Themenstarter:

beantworten | zitieren | melden

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;
            }
        }
private Nachricht | Beiträge des Benutzers
inflames2k
myCSharp.de - Experte

Avatar #AARsmmPEUMee0tQa2JoB.png


Dabei seit:
Beiträge: 2361

beantworten | zitieren | melden

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.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von inflames2k am .
Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager | Spielkartenbibliothek
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16204

beantworten | zitieren | melden

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.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Jonas007
myCSharp.de - Member



Dabei seit:
Beiträge: 33
Herkunft: Österreich

Themenstarter:

beantworten | zitieren | melden

Zitat
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 :)
private Nachricht | Beiträge des Benutzers
Coffeebean
myCSharp.de - Team

Avatar #avatar-3295.gif


Dabei seit:
Beiträge: 2461
Herkunft: Deutschland/Schweiz

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers