Street !
-
Hi !
Ich hab mal eine zufallstraße programmiert und wollte fragen, wie ich da jetzt ein
Auto reinbekommen kann, welches ich steuern kann 1?#include <iostream> #include <ctime> #include <windows.h> #include "conioex.h" using namespace std; int main() { int richtung; int posx=30; int posy=1; int i=0; srand(time(NULL)); for (;;) { richtung=(rand()%3)+1; if (richtung==1) //rechts { posx=posx+1; } if (richtung==2) //links { posx=posx-1; } if (richtung==3) //mitte { posx=posx; } Sleep(20); gotoxy(posx,posy); cout << char(219) <<" " << char(219); cout << " "; posx--; gotoxy(posx,posy); cout << " "; posx++; posy++; if(posx>=50) //R { posx--; } if(posx==1) //L { posx++; } } return 0; }mfg clint
-
wie beendest du eigenzlich die endlosschleife

ich find kein break
-
mmhm, das sollte nachher kommen...
wenn autokoordinate gleich straßenkoordinate ! Das ist es vorbei !
mfg
-
ich würde anstelle der zufallsbestimmten Richtung auf Benutzereingaben reagieren ("char inp=cin.get();switch(inp){...}").
PS: Falls du auf die Pfeiltasten reagieren oder "nicht-blockierend" einlesen willst, empfehle ich einen Blick in die Konsolen-FAQ.
-
naja, aber dann kann man die Strecke aj immer vorraussehen !
Eventuell müsste ich das alle mochmal überarbeiten ! ...
danke
mfg clint
-
Ich würde es ja so machen, daß ich die aktuelle Richtung in regelmäßigen Abständen kontrolliere und den Wagen entsprechend bewege - dazwischen wird mit "if(kbhit())..." abgefragt, ob der Fahrer eine Taste gedrückt hat und die Richtung entsprechend angepasst:
const time_t ftime=25;//Frame-Zeit, hier in ms time_t t0=time();//am besten wäre eine Auflösung in ms while(!crash) { if(kbhit() { char ch=getch(); if(ch==0) ch=getch();//Steuerzeichen = 0/xx update_richtung(ch); } if(time()-t0>ftime) { update_position(); zeichne(); t0=time(); } }
-
ok !
Ich werds probieren ! Werden dem code posten ...