C Rennen
-
Moin,
Edit: Danke an Dirk, funktioniert
-
Vorweg:
du solttest dassrand
nur einmal im Programm aufrufen.
Gleich am Anfang vonmain
.Mit
printf("%c \n",BahnIgel[IgelPos]); printf("%c \n",BahnHase[HasePos]);
gibst du auch nur ein Zeichen aus.
Da du die Zeichen vorher gerade frisch gesetzt hast, ist das identisch mitputs("I"); puts("H");
Wenn du das als String behandeln willst, dann musst du die alte Position mit einem Leerzeichen überschreiben und darfst die Nullterminierung nicht vergessen.
Im Augenblick stehen auch Zufallswerte in dem Array.Du kannst auch in einer Schleife Leerzeichen ausgeben und dann das 'H' oder 'I'. So kannst du auf die Arrays verzichten.
-
Nicht einfach alles löschen :
Genesiss schrieb:
int main() { char BahnIgel[70] //Array Laufbahn Igel char BahnIgel[70] //Array Laufbahn Hase int IgelPos=0; //Positionsvariablen int HasePos=0; int IgelZZ; //Zufallszahl Igel int HaseZZ; //Zufallszahl Hase Sleep(3000); printf("Und los geht's!\n"); Sleep(1000); while ((IgelPos<69) && (HasePos<69)) //Schleife Rennen Beginn { printf("---------------------Das Rennen von Hase und Igel---------------------\n"); srand(time(NULL)); //Berechnung der Zufallszahlen //IgelZufallszahl IgelZZ=rand() % 100+1; //HaseZufallszahl HaseZZ=rand() % 100+1; if (IgelZZ>=10 && IgelZZ<=50) //Auswahl der Laufarten Igel IgelPos=IgelPos+3; if (IgelZZ>=60 && IgelZZ<=70) IgelPos=IgelPos-6; if (IgelZZ>70 && IgelZZ<=100) IgelPos=IgelPos+1; if (HaseZZ>=30 && HaseZZ<=40) //Auswahl der Laufarten Hase HasePos=HasePos+9; if (HaseZZ==50) HasePos=HasePos-12; if (HaseZZ>=60 && HaseZZ<=80) HasePos=HasePos+1; if (HaseZZ>=90 && HaseZZ<=100) HasePos=HasePos-2; if (IgelPos<0) //Begrenzung des Rennens IgelPos=0; if (IgelPos>69) IgelPos=69; if (HasePos<0) HasePos=0; if (HasePos>69) IgelPos=69; BahnIgel[IgelPos]='I'; BahnHase[HasePos]='H'; printf("%c \n",BahnIgel[IgelPos]); printf("%c \n",BahnHase[HasePos]); printf("----------------------------------------------------------------------"); printf("\n"); printf("Igel: %i von 69!\n",IgelPos); printf("Hase: %i von 69!\n",HasePos); Sleep(1000); system("cls"); } //Schleife Rennen Ende return 0; }