einfaches spiel
-
*g*
schade dass es nicht in c ist
aber so langsam verstehe ich dass prinzip
-
C-Progger schrieb:
schade dass es nicht in c ist
//c++ cout << "EinString" << endl; //c printf ("%s\n", "EinString"); //endl ist '\n' //c++: Referenz int &Done; Done++; //c int *Done; //und dann halt immer *Done++; //und natürlich nicht Done++;
-
ah. danke.
ich habe noch ein problem. (nerv ich schon
)
int main()
{
bool Field[20][40];
for (int i=0; i<20; i++)
for (int x=0; x<40; x++)
Field[i][x]=false;
Field[0][0]=true;was ist true und false in c. kennt mein compiler nämlich nicht
-
echt? AFAIK gibt auch in c bool, true und false...
Naja, dann ersetze bool durch int und true durch 1 und false durch 0.
-
bin im moment immer noch damit beschäftigt es umzuschreiben(in c). klappt aber irgendwie nicht so wirklich*g*. naja, es mir wohl etwas genauer ansehen.
dann sag ich aber mal danke für die ganze hilfe und geh dann mal. =>Nacht
-
Hier noch schnell der code, bevor ich auch schlafen gehe
void Go (bool Field[20][40], char Inp, int *Done) { static int CurPosX=0; static int CurPosY=0; if (Inp=='w') if (CurPosY>0) { Field[CurPosY][CurPosX]=false; CurPosY--; Field[CurPosY][CurPosX]=true; *Done++; } if (Inp=='s') if (CurPosY<19) { Field[CurPosY][CurPosX]=false; CurPosY++; Field[CurPosY][CurPosX]=true; *Done++; } if (Inp=='a') if (CurPosX>0) { Field[CurPosY][CurPosX]=false; CurPosX--; Field[CurPosY][CurPosX]=true; *Done++; } if (Inp=='d') if (CurPosX<39) { Field[CurPosY][CurPosX]=false; CurPosX++; Field[CurPosY][CurPosX]=true; *Done++; } if (Inp=='e') exit (0); } int main() { bool Field[20][40]; for (int i=0; i<20; i++) for (int x=0; x<40; x++) Field[i][x]=false; Field[0][0]=true; char Inp; printf ("Sie haben 2 Minuten, um alle Felder zu begehen!\n\n"); printf ("Zum Starten Taste drücken!\n"); char dummy; scanf ("%c", &dummy); time_t Time=time (0); time_t Start=Time; time_t CurTime=0; int Done=0; while (true) { for (int i=0; i<20; i++) { for (int x=0; x<40; x++) { if (Field[i][x]) printf ("0"); else printf ("-"); } printf ("\n"); } scanf ("%c", &Inp); Go (Field, Inp, &Done); Time+=time (0)-Time; CurTime=Time-Start; printf ("Aktuelle Zeit: %d\n", CurTime); printf ("Begangene Felder: %d\n", Done); if (CurTime>=120) //Bescheissen gibts nicht { printf ("\nZeit abgelaufen!\n"); if (Done==800) printf ("Sie haben gewonnen!!!!!"); else printf ("Sie haben verloren!"); return 0; } else if (Done==800) { printf ("Sie haben gewonnen!!!!!"); return 0; } } }
-
ich glaube langsam das hängt an meinem compiler. das was du am schluss nochmal gemacht hast geht bei meinem nämlich auch nicht. (hab:Icc Win 32)
muss mir mal einen besorgen, der c und c++ kann. wäre vllt gut
-
C-Progger schrieb:
ah. danke.
ich habe noch ein problem. (nerv ich schon
)
int main()
{
bool Field[20][40];
for (int i=0; i<20; i++)
for (int x=0; x<40; x++)
Field[i][x]=false;
Field[0][0]=true;was ist true und false in c. kennt mein compiler nämlich nicht
Vorher einfügen:
typedef enum { false, true } bool; /* Jetzt kann bool als Typ genutzt werden */
-
ah. danke.
-
C-Progger schrieb:
ich glaube langsam das hängt an meinem compiler. das was du am schluss nochmal gemacht hast geht bei meinem nämlich auch nicht.
Normalerweise liegt es imer am Programmierer, wenn etwas nicht geht, und nicht am Compiler.
Aber der code war eigentlich reines c.Besorg dir den gcc (gibts auch für windows), kostenlos und sehr gut.
-
tja. dann hats wohl an dir gelegen. war nämlich dein code
wo gibts den compiler denn?
-
google wirkt manchmal Wunder...
-
tja. es ist halt einfacher wenn man es einfach gesagt bekommt.
bei google muss man sich immer erst durchsuchen
-
http://www.mingw.org/download.shtml
Nächstes mal aber mit google.
ja. dann hats wohl an dir gelegen. war nämlich dein code
Das kommt ganz darauf an, was für Fehlermeldungen du bekommst. Ich wüsste nicht, was nicht gehen sollte.
-
C-Progger schrieb:
tja. es ist halt einfacher wenn man es einfach gesagt bekommt.
bei google muss man sich immer erst durchsuchen
Aber "gcc" in google eingeben ist weder schwer und es kommt sogar das richtige raus...