• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Jak moge zrobic by snake szedł w kierunku ostaniego klawisza?Sfml,c++

Aruba Cloud - Virtual Private Server VPS
0 głosów
659 wizyt
pytanie zadane 20 października 2021 w C i C++ przez pawel_000 Początkujący (450 p.)
zamknięte 22 października 2021 przez pawel_000

if (event.type == sf::Event::KeyPressed) {
switch (event.key.code) {
case Keyboard::D: {
snake.setPosition(snake_pozycja.x + 20.f, snake_pozycja.y);
cout << "x: " << snake_pozycja.x << " y: " << snake_pozycja.y << endl;
break;
}
case Keyboard::A: {
snake.setPosition(abs(snake_pozycja.x - 20.f), snake_pozycja.y);
cout << "x: " << snake_pozycja.x << " y: " << snake_pozycja.y << endl;
break;
}
case Keyboard::S: {
snake.setPosition(snake_pozycja.x, snake_pozycja.y + 20);
cout << "x: " << snake_pozycja.x << " y: " << snake_pozycja.y << endl;
break;
}
case Keyboard::W: {
snake.setPosition(snake_pozycja.x, snake_pozycja.y - 20);
cout << "x: " << snake_pozycja.x << " y: " << snake_pozycja.y << endl;
break;
}
}
}

 

komentarz zamknięcia: Problem został rozwiązany

1 odpowiedź

+1 głos
odpowiedź 21 października 2021 przez Jakub 0 Pasjonat (23,120 p.)
wybrane 22 października 2021 przez pawel_000
 
Najlepsza

Teraz aktualizujesz pozycje snake'a w momencie przechwycenia eventu.

Powinieneś robić to w "każdym" obiegu pętli, a podczas wciśnięcia odpowiedniego klawisza jedynie ustawić odpowiednią flagę opisującą kierunek jego ruchu (na podstawie tej flagi aktualizujesz pozycje węża w określony sposób).

Polecam dość znaną metodę do zaprogramowania ruchu snake'a. Za każdym razem usuwasz ostatni jego człon (ogon), a dodajesz nowy przed aktualną głową. Nowy człon ustawiasz z odpowiedniej strony w odniesieniu do aktualnego kierunku poruszania się węża (flagi którą zmieniasz po wciśnięciu odpowiedniego klawisza).

 

Podobne pytania

+1 głos
2 odpowiedzi 501 wizyt
+1 głos
1 odpowiedź 658 wizyt
pytanie zadane 25 stycznia 2017 w C i C++ przez BeSSeSSt Obywatel (1,190 p.)
0 głosów
2 odpowiedzi 656 wizyt
pytanie zadane 13 maja 2015 w C i C++ przez figorin Bywalec (2,040 p.)

93,337 zapytań

142,332 odpowiedzi

322,424 komentarzy

62,677 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...