Kleines Spiel auf der Konsole
-
Hallo ich bin gerade dabei ein Kleines Spiel für die Konsole zu machen bis hier hin bin ich gekommen.
Aber jetzt weiss ich nicht wie es machen soll das ich meine Figur rauf und runter bewegen kann.
Der Teil zum runter laufen.
Aber die Figur bewegt sich nur ganz schnell nach Links unten in die Ecke ...if (eingabe == key_down) { clrscr(); px = px + px; py = py+ py; cursor_pos( px , py); cout<<"\x1 "; }Das Komplette Programm
#include <iostream> #include <conio> #include <windows> #define key_left 97 #define key_right 100 #define key_up 119 #define key_down 115 using namespace std; void cursor_pos(int pos_x , int pos_y); int main() { int px = 10; int py = 10; int eingabe; cursor_pos( px , py); cout<<"\x1 "; while(1) { eingabe = getch(); if (eingabe == key_left) { clrscr(); px = px - 1; cursor_pos( px , py); cout<<"\x1 "; } if (eingabe == key_right) { clrscr(); px = px +1; cursor_pos( px , py); cout<<"\x1 "; } if (eingabe == key_down) { clrscr(); px = px + px; py = py+ py; cursor_pos( px , py); cout<<"\x1 "; } } } void cursor_pos(int pos_x , int pos_y) { COORD topLeft={pos_x,pos_y}; HANDLE fenster; fenster = GetStdHandle( STD_OUTPUT_HANDLE ); SetConsoleCursorPosition(fenster,topLeft); }
-
blup schrieb:
Hallo ich bin gerade dabei ein Kleines Spiel für die Konsole zu machen bis hier hin bin ich gekommen.
Aber jetzt weiss ich nicht wie es machen soll das ich meine Figur rauf und runter bewegen kann.
Der Teil zum runter laufen.
Aber die Figur bewegt sich nur ganz schnell nach Links unten in die Ecke ...if (eingabe == key_down) { clrscr(); px = px + px; py = py+ py; cursor_pos( px , py); cout<<"\x1 "; }Wenn du hoch oder runter willst musst du nur die y Koordinate verändern. Wenn du x und y veränderst gehst du schräg

Keros
-
Warum erhöhst du px, wenn du dich runter bewegen willst? Das sollte nur py sein, oder? Und wieso "py = py+ py;"? Wieso nicht einfach +1? Du willst doch schließlich ein Zeichen nach unten (bei py==5 springst du nach py==10...).
-
Jo funktioniert ty.
Dann werd ich mich mal am Level bau versuchen^^