Sie sind vermutlich noch nicht im Forum angemeldet - Klicken Sie hier um sich kostenlos anzumelden  
Sie können sich hier anmelden
Dieses Thema hat 0 Antworten
und wurde 150 mal aufgerufen
 Python - Programmiersprache(n)
Master of Deserts Offline

Ich Admin, du nix!


Beiträge: 329
Punkte: 331

18.04.2013 21:10
C - Abschlussprojekt - 2Wochenkurs Antworten

Wer mag kann es gerne ausprobieren, benötigt wird hierzu jedoch ein Compiler bzw. ein Codingprogramm (zBsp. Codeblocks).

Kompilierung unter Linux, Terminal: gcc -std=c99 Spiel.c
Unter Windows: Keine Ahnung, Compiler runterladen, installieren, Codeblocks runterladen/installieren -> Compiler aufnehmen und anschließend über Codeblocks mit dem grünen Startbutton kompilieren.

Das "Spiel" an sich ist fade, aber falls jemand wirklich Interesse am Programmieren besitzt ist es vllt unterhaltsam anzusehen.

Kleines Fragespiel mit Punkten und Highscoreliste.

PS: Wollte sich gerade nicht umwandeln lassen und .c-dateien lassen sich hier anscheinend nicht hochladen.
EDIT: Erinnert mich daran die Spoilerfunktion zu richten.

# include <stdio.h>
# include <stdlib.h>
# include <string.h>

int punkte=10;

struct fragen{
char frage[120];
char antwort1[40];
char antwort2[40];
char antwort3[40];
int loesung;

};

struct highscore{
char name[20];
int punkte;
}abc[6];


void ausgabe(struct fragen nr){

int a;
char b;
printf("\nFrage:%s\n\n1.%s\n2.%s\n3.%s \n\n1, 2 oder 3?" , nr.frage , nr.antwort1 , nr.antwort2 , nr.antwort3);

scanf("%d" , &a);
if(a!=nr.loesung){
punkte-=2;
printf("Falsche Antwort!\n Dein Punktestand:%d\n" , punkte);

}
else {
punkte++;
printf("Richtig!\n Dein Punktestand:%d\n" , punkte);

}
printf("\nWeiter? j/n");
scanf("%c" , &b);
scanf("%c" , &b);
if(b =='n'){
exit(0);
// return 1;
}
}




void scannen(void){ /*Liest die 'alte Highscoreliste ein*/

FILE *smth;
smth = fopen("Highscoreliste.txt","r");
if(smth !=NULL)
{
int i;
for ( i=0; i<6; i++)
{
fscanf(smth, "%s %i\n" , abc[i].name,&abc[i].punkte);
}
fclose(smth);
}
else
{
smth = fopen("Highscoreliste.txt","w");
fclose(smth);
}
}

void eintragen(){ /*Hier kann man seinen Namen eintragen, Punkte werden übernommen*/
printf("Trag dich in den Highscore ein! Name:\n");
char nome[20];
scanf("%20s", nome);
printf("Punkte: %d\n\n\n" , punkte);
if(punkte>abc[5].punkte){
abc[5].punkte = punkte; /*eingegebene Werte werden, falls punkte höher als die des letzten...*/
strcpy(abc[5].name,nome); /*Listenelements, abc[5](siehe struct highscore) zugeordnet*/
}
}
void sortieren(){/*eingegebene Werte werden, falls höher, einsortiert*/
struct highscore temp;
int i;
int j=0;
while(j<10)
{
for(i=0; i<5; i++)
{

if(abc[i+1].punkte>abc[i].punkte)
{
temp=abc[i+1];
abc[i+1]=abc[i];
abc[i]=temp;

}

}
j++;
}

}

void speichern(){
FILE *smth;
smth = fopen("Highscoreliste.txt", "w");
if(smth == NULL)
{
exit(1);
}
int i;
for(i=0; i<6; i++)
{
fprintf(smth,"%s %i\n" , abc[i].name, abc[i].punkte);
}
fclose(smth);
}

void listen(){
int ch;
FILE *smth;
smth =fopen("Highscoreliste.txt", "r");
printf("Highscoreliste:\n\n");
ch=fgetc(smth);
while(!feof(smth)){
putchar(ch);
ch=fgetc(smth);
}
fclose(smth);
}

void Ende(int punkte){
if(punkte<=0){
printf("\n %i Punkt(e), dein Tank ist leer! Deine Reise endet hier. \n\n ", punkte);

exit(0);
}
}


int main (){
char b;
printf("\nSei gegruesst! Lust auf eine Reise?\n Fahr mit dem Auto einmal quer durch Europa!\n Jede Station bietet hierbei eine neue Frage die beantwortet werden muss:\n Am Anfang hast du 10 Punkte.\n Fuer jede richtige Antwort gibt es einen Punkt,\n fuer jede Falsche werden 2 Punkte abgezogen.\n Sobald dein Punktestand 0 erreicht hat, ist das Spiel vorbei.\n Moechtest du es versuchen? [j/n]\n\n");
printf(" ....ooooo$$$$$$ooooooo..\n ..ooo$$$$$$$$$$$$$$$$$$$$$$$$$$oo\n oo**o$* *'$$* **$\n o* $$ * $$ *$\n o* $o * $$ *$ oo\n o*o* $ $*o*$ *$ o*o*$*$*$*$$$$$$o$$$$$$$$$oo\n $$$$$$$$o*$$$$$$$$$$ oooooo..*o*$$$$$o$$$*$$$$$$o\n o$$$$$$$$$$*$oo$$$$$$$ $$$$$oo$$$oo **$$$$$$$$$$$$$$$ooo\n .oo*o*$$$$$$$*$$$$$$$$$$o$o*.oooo$$*$$$oo*$$$$$$$o$$$$$$$$$$$o\n $$$$o $$$$$$$*$$$$$$$$$$*oo$$$$$$$$$$****$o$$$$$$*$$$$$$o$$o* *\n o$$$$$ o$o$$$o*$$$$$$$$$o$$$*$*$$$4o$o *$$$$$$$$$*$$$$o$ $ *\n o$*o $$ $$$$$$*$$$$$$$$*$$$$$$$*o$$$$$o..o$$$*$$$$$$ $$$$$*oo*oo$\n oo*$*$o$$o$$*$*$$$$$$*$$$$o* $$$o$*$$$o$$o$$$$*$$$$$$o$$$*$o$$$$$\n * * $$$*** $$*$o$$$$$$$$$$* $ $$$$$$$$$$$$$$$$$$$*$$$o$o$$$$$o$\n *o$$$' * $$$$* *$* $$$$$$$$$$$$$$o$$$$$$$$$$$$$$$$$\n *** $ *$$$$$***** ** *$$$$$$$$*\n o *$$$$$ **$$$$$*\n **$$$$$$*\n ");/*Gibt Bild aus*/


scanf("%c" , &b);
if(b =='n'){

exit(0);

}

struct fragen frage1={
.frage="Wann war der beruehmte Mauerfall?",
.antwort1="1979",
.antwort2="1989",
.antwort3="1985",
.loesung=2,
};

struct fragen frage2={
.frage="Welche der folgenden Beilagen wurde in Belgien erfunden?",
.antwort1="Pommes Frites",
.antwort2="Risotto",
.antwort3="Kroketten",
.loesung=1,
};

struct fragen frage3={
.frage="Was repraesentiert das Nationalwappen Luxemburgs?",
.antwort1="blauer Baer",
.antwort2="goldener Adler",
.antwort3="roter Loewe",
.loesung=3,
};

struct fragen frage4={
.frage="Wie hoch ist der Eiffelturm?",
.antwort1="296m",
.antwort2="324m",
.antwort3="375m",
.loesung=2,
};

struct fragen frage5={
.frage="Seit vielen hundert Jahren steht nun Lissabon die Burg\n 'Castelo de Sao Jorge' - wann wurde sie erbaut?",
.antwort1="11.Jhd.",
.antwort2="13. Jhd.",
.antwort3="15. Jhd.",
.loesung=1,
};

struct fragen frage6={
.frage="Welchen (dt.) Spitznamen trägt der Fernsehturm 'Torre Espana' in Madrid ?",
.antwort1="Loeffel",
.antwort2="Eis am Stiel",
.antwort3="Lutscher",
.loesung=3,
};

struct fragen frage7={
.frage="Bei welchem Spiel der Fussballweltmeisterschaft (1954)\n ereignete sich das Wunder von Bern?",
.antwort1="Schweiz gegen Ungarn",
.antwort2="Deutschland gegen Ungarn",
.antwort3="Schweiz gegen Deutschland",
.loesung=2,
};


struct fragen frage8={
.frage="An welchem Fluss liegt Rom?",
.antwort1="Rhein",
.antwort2="Themse",
.antwort3="Tiber",
.loesung=3,
};

struct fragen frage9={
.frage="Was ist ein Dulioe?",
.antwort1="ein blauer Fleck",
.antwort2="ein Rausch bzw. Schwips",
.antwort3="ein Lied",
.loesung=2,
};

struct fragen frage10={
.frage="In Budapest findet man die groesste Sanduhr der Welt - Wie heisst sie?",
.antwort1="Zeitrad",
.antwort2="Chronos",
.antwort3="Zilean",
.loesung=1,
};

struct fragen frage11={
.frage="Wie heißt die Waehrung Tschechiens?",
.antwort1="Lira",
.antwort2="Yen",
.antwort3="Kronen",
.loesung=3,
};

struct fragen frage12={
.frage="Wer sind die Brueder Lolek und Bolek?",
.antwort1="Politiker",
.antwort2="Zeichentrickfiguren",
.antwort3="Schriftsteller",
.loesung=2,
};

struct fragen frage13={
.frage="Welchen Namen traegt die schoenste Kathedrale Moskaus?",
.antwort1="Basilius-Kathedrale",
.antwort2="Catalin-Kathedrale",
.antwort3="Basilisk-Kathedrale",
.loesung=1,
};


struct fragen frage14={
.frage="Welches sind die offiziellen Sprachen Finnlands?",
.antwort1="Franzoesisch und Finnisch",
.antwort2="Schwedisch und Finnisch",
.antwort3="Norsk und Finnisch",
.loesung=2,
};


struct fragen frage15={
.frage="Welches Denkmal ist das kleinste Daenemarks\n und auch eins der kleinsten der Welt?",
.antwort1="die kleine Meerjungfrau",
.antwort2="Schneewittchens Zwerge",
.antwort3="die kleinen Teufelchen",
.loesung=1,
};






int i;
for(i=0;i<6;i++)
{
strcpy(abc[i].name,"Niemand");
abc[i].punkte=0;
}


ausgabe ( frage1 );
ausgabe ( frage2 );
ausgabe ( frage3 );
ausgabe ( frage4 );
Ende (punkte);
ausgabe ( frage5 );
Ende (punkte);
ausgabe ( frage6 );
Ende (punkte);
ausgabe (frage7);
Ende (punkte);
ausgabe ( frage8 );
Ende (punkte);
ausgabe (frage9);
Ende (punkte);
ausgabe ( frage10 );
Ende (punkte);
ausgabe (frage11);
Ende (punkte);
ausgabe ( frage12 );
Ende (punkte);
ausgabe (frage13);
Ende (punkte);
ausgabe ( frage14 );
Ende (punkte);
ausgabe (frage15);
Ende (punkte);
printf("Herzlichen Glueckwunsch! Das war die letzte Frage, deine Reise endet hier!");
printf("\n\n ....ooooo$$$$$$ooooooo..\n ..ooo$$$$$$$$$$$$$$$$$$$$$$$$$$oo\n oo**o$* *'$$* **$\n o* $$ * $$ GEWONNEN *$\n o* $o * $$ *$ oo\n o*o* $ $*o*$ *$ o*o*$*$*$*$$$$$$o$$$$$$$$$oo\n $$$$$$$$o*$$$$$$$$$$ oooooo..*o*$$$$$o$$$*$$$$$$o\n o$$$$$$$$$$*$oo$$$$$$$ $$$$$oo$$$oo **$$$$$$$$$$$$$$$ooo\n .oo*o*$$$$$$$*$$$$$$$$$$o$o*.oooo$$*$$$oo*$$$$$$$o$$$$$$$$$$$o\n $$$$o $$$$$$$*$$$$$$$$$$*oo$$$$$$$$$$****$o$$$$$$*$$$$$$o$$o* *\n o$$$$$ o$o$$$o*$$$$$$$$$o$$$*$*$$$4o$o *$$$$$$$$$*$$$$o$ $ *\n o$*o $$ $$$$$$*$$$$$$$$*$$$$$$$*o$$$$$o..o$$$*$$$$$$ $$$$$*oo*oo$\n oo*$*$o$$o$$*$*$$$$$$*$$$$o* $$$o$*$$$o$$o$$$$*$$$$$$o$$$*$o$$$$$\n * * $$$*** $$*$o$$$$$$$$$$* $ $$$$$$$$$$$$$$$$$$$*$$$o$o$$$$$o$\n *o$$$' * $$$$* *$* $$$$$$$$$$$$$$o$$$$$$$$$$$$$$$$$\n *** $ *$$$$$***** ** *$$$$$$$$*\n o *$$$$$ **$$$$$*\n **$$$$$$*\n\n\n ");




scannen();
eintragen();
sortieren();
speichern();

listen();



return 0;
}




Ein kleiner Klick für dich, ein riesiger Klick für die Menschheit! ;P

 Sprung  
Xobor Forum Software von Xobor
Einfach ein eigenes Forum erstellen
Datenschutz