einfaches spiel



  • 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...


Anmelden zum Antworten