Hi Leute, wir erstellen im Rahmen unseres Studiums als Programmieranfänger ein kleines Programm in 2er gruppen. Mein Partner und ich haben uns für Wer wird Millionär entschieden und müssen nur noch ein paar Kleinigkeiten
am Programm ändern/hinzufügen. Da morgen bereits Abgabe ist, hoffe ich noch schnell jemanden zu finden, der mir sagt, wie ich bei der gewonnen Millionen die Wer wird Millionär Melodie abspielen kann? Das Audioformat ist egal, die Datei liegt als MP3 und Wave vor und ich kann sie in jedes Format umwandeln (Das Porgramm sollte jedoch maximal 2MB sein)... Hier ist unser Code:
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "time.h"
#include "iostream"
int fjoker1(int z,char *antwort,int *rantwort,int antwortuser,int jb1);// verschiedene Joker prototypen
int fjoker2(int z,int i,int *rantwort,int antwortuser,int jb2);
int fjoker3(int z,int i,int *rantwort,int antwortuser,int jb3);
int main()
{
int i=0;
char frage[61][125] ={// Array mit Fragen
{""},
{"Gute Miene zum boesen..."},
{"Eine Hand..."},
{"Was sich neckt das..."},
....
};
char antwort[61][170] ={//Array mit Antworten
{""},
{"1: Wolf\n2: Spass\n3: Streich\n4: Spiel"},
{"1: ergaenzt die andere\n2: waescht die andere\n3: schuettelt die andere\n4: greift die andere"},
{"1: liebt sich\n2: streitet sich\n3: hasst sich\n4: kennt sich"},
....
};
int rantwort[61][1] ={//Array mit den richtigen Antworten
{},
{4},
{2},
{1},
...
};
char vName[15];//Vorname
char nName[15];//Nachname
printf("Bitte geben sie jetzt ihren Vor- und Nachnamen ein\n\n");
scanf("%s%s",&vName,&nName);//eingabe des Namens
//Kurze Spielanleitung
printf("\n\nHallo %s %s...\nIm nachfolgendem Spielverlauf werden dir insgesamt 15 Fragen gestellt.\nZu allen Fragen bekommst du 4 Antwortmoeglichkeiten,\nvon denen jedoch nur eine richtig ist.\nZusaetzlich hast du die Moeglichkeit auf 3 verschiedene Joker zurueckzugreifen. Um Fragen zu beantworten, genuegt es die Nummer der Antwort einzugeben.\nBist du dir nicht sicher, so waehle anstelle der 4 Antwortmoeglichkeiten die 5,\ndann bekommst du eine Auswahl an verschiedenen Jokern\n\nZum Starten eine beliebige Taste druecken.", vName, nName);
_getch();
int joker1=1;
int joker2=1;
int joker3=1;
int geld;
int gewinn=0;
int jb1=0;
int jb2=0;
int jb3=0;
for(i=1;i<16;i++){//Schleife die 15 mal durchlaufen wird um alle Fragen zu stellen
int antwortuser;
srand ( time(NULL) );
int z= rand()%3+1;//Zufallszahl zur Auswahl der Fragen
switch(i){
case 1:
z=z;//z angabe zur Auswahl der Frage und Antworten
geld=50;// Zu gewinnende Geld
break;
case 2:
z=z+4;
geld=100;
break;
case 3:
z=z+8;
geld=200;
break;
case 4:
z=z+12;
geld=300;
break;
case 5:
z=z+16;
geld=500;
break;
case 6:
z=z+20;
geld=1000;
gewinn=500;//erste Gewinnstufe erreicht
break;
case 7:
z=z+24;
geld=2000;
break;
case 8:
z=z+28;
geld=4000;
break;
case 9:
z=z+32;
geld=8000;
break;
case 10:
z=z+36;
geld=16000;
break;
case 11:
z=z+40;
geld=32000;
gewinn=16000;
break;
case 12:
z=z+44;
geld=64000;
break;
case 13:
z=z+48;
geld=125000;
break;
case 14:
z=z+52;
geld=500000;
break;
case 15:
z=z+56;
geld=1000000;
gewinn=100000;
break;
};
int rantwort1=(int)rantwort[z][0];
printf("\nFrage Nummer: %i (%i Euro)\n",i,geld);
printf("%s ?\n\n",frage[z]);//Frage
printf("%s\n",antwort[z]);//Antworten
printf("\nBitte Ihre Antwortmoeglichkeit eingeben und mit Enter bestaetigen:");
scanf("%i",&antwortuser);//Eingabe der Antwort
int joker;
if (antwortuser==5)//fuer den Fall das ein Joker aufgerufen wird
{printf("Bitte waehlen sie nun einen Joker aus:\n 1.50:50 Joker 2. Publikumsjoker 3. Telefonjoker\n");
scanf("%i",&joker);//eingabe der Jokerauswahl
switch(joker){
case 1://fall 1
antwortuser=fjoker1(z,*antwort,*rantwort,antwortuser,jb1);//aufruf der Funktion fjoker1 mit Rueckgabewert der Antwort
jb1=1;
break;
case 2:
antwortuser=fjoker2(z,i,*rantwort,antwortuser,jb2);
jb2=1;
break;
case 3:
antwortuser=fjoker3(z,i,*rantwort,antwortuser,jb3);
jb3=1;
break;
}
}
if(antwortuser==rantwort1)//Abfrage der Richtigen Antwort
{
printf(" das war richtig\n");
if(i==15){//Alle Fragen richtig beantworter?
FILE * list_of_fame ;
list_of_fame = fopen ("list_of_fame.txt", "a+") ;//datei oeffnen
fprintf (list_of_fame, "%s %s\n", vName, nName);// Name in die List of fame eintragen
fclose (list_of_fame) ;//datei Schliessen
}
}
else {//wenn die Frage falsch beantwortet wurde
printf("leider Falsch\nSie haben %i Euro gewonnen\n", gewinn);//ausgabe der gewonnenen Summe
break;
}
}
_getch();
return 0;
}
int fjoker1(int z,char *antwort,int *rantwort,int antwortuser,int jb1){//funktion des 50:50 Joker
if(jb1==0){//prueft ob der Joker bereits verwendet wurde
srand ( time(NULL) );
int jz= rand()%3+1;//zufallszahl fuer eine Antwortmoeglichkeit die stehen bleibt
if(jz==rantwort[z]&&jz!=1){//zufallszahl soll nicht 0 werden
jz=jz-1;
}
else if(jz==rantwort[z]&&jz!=4){//zufallszahl soll nicht 5 werden
jz=jz-1;
}
if(jz>=2){//diese beiden Abfragen dienen nur dazu das die richtige Antwort nicht immer als erstes steht.
printf("Antwortmoeglichkeiten: %i oder %i\n",jz,rantwort[z]);
}
if(jz<2){
printf("Antwortmoeglichkeiten: %i oder %i\n",rantwort[z],jz);
}
}
else{
printf("dieser Joker wurde schon verwendet\nBitte geben sie nun ihre Antwortmoeglichkeit ein:");
}
scanf("%i",&antwortuser);
return antwortuser;
}
int fjoker2(int z,int i,int *rantwort,int antwortuser,int jb2){//funktion des publikumsjokers
if(jb2==0){//prueft ob der Joker bereits verwendet wurde
int zahl1;
int zahl2;
int zahl3;
int zahl4;
if(i<=5){//erstes "Jokerlevel"
zahl1=100-(i*10);//rechnung zur ausgabe der Prozente
zahl2=(100-zahl1)/2;
zahl3=zahl2-3;
zahl4=3;
switch(rantwort[z]){//anweisung das nicht immer das richtige zuerst angezeigt wird
case 1:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl1,zahl3,zahl2,zahl4);
break;
case 2:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl3,zahl1,zahl4,zahl2);
break;
case 3:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl3,zahl4,zahl1,zahl2);
break;
case 4:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl4,zahl2,zahl3,zahl1);
break;
};
}
if(i>5&&i<=10){//Zweites Jokerlevel
zahl1=100-(i*5);//rechnung zur ausgabe der prozente...
zahl2=100-zahl1-i;
zahl3=(100-(zahl1+zahl2))/2;
zahl4=zahl3;
switch(rantwort[z]){
case 1:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl1,zahl3,zahl2,zahl4);
break;
case 2:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl3,zahl1,zahl4,zahl2);
break;
case 3:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl3,zahl4,zahl1,zahl2);
break;
case 4:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl4,zahl2,zahl3,zahl1);
break;
};
}
if(i>10){//drittes Jokerlevel
zahl1=100-(i*4);
zahl2=(100-zahl1)/2-4;
zahl3=(96-(zahl2+zahl1))/2+3;
zahl4=(96-(zahl2+zahl1))/2+1;
switch(rantwort[z]){
case 1:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl1,zahl3,zahl2,zahl4);
break;
case 2:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl3,zahl1,zahl4,zahl2);
break;
case 3:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl3,zahl4,zahl1,zahl2);
break;
case 4:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl4,zahl2,zahl3,zahl1);
break;
};
}
}
else{//falls der Joker schon verwendet wurde
printf("dieser Joker wurde schon verwendet\nBitte geben sie nun ihre Antwortmoeglichkeit ein:");
}
scanf("%i",&antwortuser);//eingabe der Antwort
return antwortuser;//rueckgabe
}
int fjoker3(int z,int i,int *rantwort,int antwortuser,int jb3){
if(jb3==0){//joker schon benutzt?
int j3z= rand()%4+1;//zufallswert zur ausgabe eines der Antworten
switch(j3z){
case 1:
printf("Ich denke es ist Antwort %i\n",rantwort[z]);
break;
case 2:
printf("Es muss Antwort %i sein\n" ,rantwort[z]);
break;
case 3:
printf("Es kann nur Antwort %i sein\n" ,rantwort[z]);
break;
case 4:
printf("Ich bin mir nicht sicher, aber ich glaube es ist Antwort 3");
break;
}
}
else{
printf("dieser Joker wurde schon verwendet\nBitte geben sie nun ihre Antwortmoeglichkeit ein:");
}
scanf("%i",&antwortuser);
return antwortuser;
}
Wäre wirklich nett wenn ihr mir das verraten könntet.. und falls es nicht alllzu kompliziert werden sollte am besten noch wie man eine Startmelodie abspielt, sobald der Spieler seinen Namen mit Enter bestätigt hat..
MfG
C.N.
am Programm ändern/hinzufügen. Da morgen bereits Abgabe ist, hoffe ich noch schnell jemanden zu finden, der mir sagt, wie ich bei der gewonnen Millionen die Wer wird Millionär Melodie abspielen kann? Das Audioformat ist egal, die Datei liegt als MP3 und Wave vor und ich kann sie in jedes Format umwandeln (Das Porgramm sollte jedoch maximal 2MB sein)... Hier ist unser Code:
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "time.h"
#include "iostream"
int fjoker1(int z,char *antwort,int *rantwort,int antwortuser,int jb1);// verschiedene Joker prototypen
int fjoker2(int z,int i,int *rantwort,int antwortuser,int jb2);
int fjoker3(int z,int i,int *rantwort,int antwortuser,int jb3);
int main()
{
int i=0;
char frage[61][125] ={// Array mit Fragen
{""},
{"Gute Miene zum boesen..."},
{"Eine Hand..."},
{"Was sich neckt das..."},
....
};
char antwort[61][170] ={//Array mit Antworten
{""},
{"1: Wolf\n2: Spass\n3: Streich\n4: Spiel"},
{"1: ergaenzt die andere\n2: waescht die andere\n3: schuettelt die andere\n4: greift die andere"},
{"1: liebt sich\n2: streitet sich\n3: hasst sich\n4: kennt sich"},
....
};
int rantwort[61][1] ={//Array mit den richtigen Antworten
{},
{4},
{2},
{1},
...
};
char vName[15];//Vorname
char nName[15];//Nachname
printf("Bitte geben sie jetzt ihren Vor- und Nachnamen ein\n\n");
scanf("%s%s",&vName,&nName);//eingabe des Namens
//Kurze Spielanleitung
printf("\n\nHallo %s %s...\nIm nachfolgendem Spielverlauf werden dir insgesamt 15 Fragen gestellt.\nZu allen Fragen bekommst du 4 Antwortmoeglichkeiten,\nvon denen jedoch nur eine richtig ist.\nZusaetzlich hast du die Moeglichkeit auf 3 verschiedene Joker zurueckzugreifen. Um Fragen zu beantworten, genuegt es die Nummer der Antwort einzugeben.\nBist du dir nicht sicher, so waehle anstelle der 4 Antwortmoeglichkeiten die 5,\ndann bekommst du eine Auswahl an verschiedenen Jokern\n\nZum Starten eine beliebige Taste druecken.", vName, nName);
_getch();
int joker1=1;
int joker2=1;
int joker3=1;
int geld;
int gewinn=0;
int jb1=0;
int jb2=0;
int jb3=0;
for(i=1;i<16;i++){//Schleife die 15 mal durchlaufen wird um alle Fragen zu stellen
int antwortuser;
srand ( time(NULL) );
int z= rand()%3+1;//Zufallszahl zur Auswahl der Fragen
switch(i){
case 1:
z=z;//z angabe zur Auswahl der Frage und Antworten
geld=50;// Zu gewinnende Geld
break;
case 2:
z=z+4;
geld=100;
break;
case 3:
z=z+8;
geld=200;
break;
case 4:
z=z+12;
geld=300;
break;
case 5:
z=z+16;
geld=500;
break;
case 6:
z=z+20;
geld=1000;
gewinn=500;//erste Gewinnstufe erreicht
break;
case 7:
z=z+24;
geld=2000;
break;
case 8:
z=z+28;
geld=4000;
break;
case 9:
z=z+32;
geld=8000;
break;
case 10:
z=z+36;
geld=16000;
break;
case 11:
z=z+40;
geld=32000;
gewinn=16000;
break;
case 12:
z=z+44;
geld=64000;
break;
case 13:
z=z+48;
geld=125000;
break;
case 14:
z=z+52;
geld=500000;
break;
case 15:
z=z+56;
geld=1000000;
gewinn=100000;
break;
};
int rantwort1=(int)rantwort[z][0];
printf("\nFrage Nummer: %i (%i Euro)\n",i,geld);
printf("%s ?\n\n",frage[z]);//Frage
printf("%s\n",antwort[z]);//Antworten
printf("\nBitte Ihre Antwortmoeglichkeit eingeben und mit Enter bestaetigen:");
scanf("%i",&antwortuser);//Eingabe der Antwort
int joker;
if (antwortuser==5)//fuer den Fall das ein Joker aufgerufen wird
{printf("Bitte waehlen sie nun einen Joker aus:\n 1.50:50 Joker 2. Publikumsjoker 3. Telefonjoker\n");
scanf("%i",&joker);//eingabe der Jokerauswahl
switch(joker){
case 1://fall 1
antwortuser=fjoker1(z,*antwort,*rantwort,antwortuser,jb1);//aufruf der Funktion fjoker1 mit Rueckgabewert der Antwort
jb1=1;
break;
case 2:
antwortuser=fjoker2(z,i,*rantwort,antwortuser,jb2);
jb2=1;
break;
case 3:
antwortuser=fjoker3(z,i,*rantwort,antwortuser,jb3);
jb3=1;
break;
}
}
if(antwortuser==rantwort1)//Abfrage der Richtigen Antwort
{
printf(" das war richtig\n");
if(i==15){//Alle Fragen richtig beantworter?
FILE * list_of_fame ;
list_of_fame = fopen ("list_of_fame.txt", "a+") ;//datei oeffnen
fprintf (list_of_fame, "%s %s\n", vName, nName);// Name in die List of fame eintragen
fclose (list_of_fame) ;//datei Schliessen
}
}
else {//wenn die Frage falsch beantwortet wurde
printf("leider Falsch\nSie haben %i Euro gewonnen\n", gewinn);//ausgabe der gewonnenen Summe
break;
}
}
_getch();
return 0;
}
int fjoker1(int z,char *antwort,int *rantwort,int antwortuser,int jb1){//funktion des 50:50 Joker
if(jb1==0){//prueft ob der Joker bereits verwendet wurde
srand ( time(NULL) );
int jz= rand()%3+1;//zufallszahl fuer eine Antwortmoeglichkeit die stehen bleibt
if(jz==rantwort[z]&&jz!=1){//zufallszahl soll nicht 0 werden
jz=jz-1;
}
else if(jz==rantwort[z]&&jz!=4){//zufallszahl soll nicht 5 werden
jz=jz-1;
}
if(jz>=2){//diese beiden Abfragen dienen nur dazu das die richtige Antwort nicht immer als erstes steht.
printf("Antwortmoeglichkeiten: %i oder %i\n",jz,rantwort[z]);
}
if(jz<2){
printf("Antwortmoeglichkeiten: %i oder %i\n",rantwort[z],jz);
}
}
else{
printf("dieser Joker wurde schon verwendet\nBitte geben sie nun ihre Antwortmoeglichkeit ein:");
}
scanf("%i",&antwortuser);
return antwortuser;
}
int fjoker2(int z,int i,int *rantwort,int antwortuser,int jb2){//funktion des publikumsjokers
if(jb2==0){//prueft ob der Joker bereits verwendet wurde
int zahl1;
int zahl2;
int zahl3;
int zahl4;
if(i<=5){//erstes "Jokerlevel"
zahl1=100-(i*10);//rechnung zur ausgabe der Prozente
zahl2=(100-zahl1)/2;
zahl3=zahl2-3;
zahl4=3;
switch(rantwort[z]){//anweisung das nicht immer das richtige zuerst angezeigt wird
case 1:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl1,zahl3,zahl2,zahl4);
break;
case 2:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl3,zahl1,zahl4,zahl2);
break;
case 3:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl3,zahl4,zahl1,zahl2);
break;
case 4:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl4,zahl2,zahl3,zahl1);
break;
};
}
if(i>5&&i<=10){//Zweites Jokerlevel
zahl1=100-(i*5);//rechnung zur ausgabe der prozente...
zahl2=100-zahl1-i;
zahl3=(100-(zahl1+zahl2))/2;
zahl4=zahl3;
switch(rantwort[z]){
case 1:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl1,zahl3,zahl2,zahl4);
break;
case 2:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl3,zahl1,zahl4,zahl2);
break;
case 3:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl3,zahl4,zahl1,zahl2);
break;
case 4:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl4,zahl2,zahl3,zahl1);
break;
};
}
if(i>10){//drittes Jokerlevel
zahl1=100-(i*4);
zahl2=(100-zahl1)/2-4;
zahl3=(96-(zahl2+zahl1))/2+3;
zahl4=(96-(zahl2+zahl1))/2+1;
switch(rantwort[z]){
case 1:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl1,zahl3,zahl2,zahl4);
break;
case 2:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl3,zahl1,zahl4,zahl2);
break;
case 3:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl3,zahl4,zahl1,zahl2);
break;
case 4:
printf("1:%i 2:%i 3:%i 4:%i\n",zahl4,zahl2,zahl3,zahl1);
break;
};
}
}
else{//falls der Joker schon verwendet wurde
printf("dieser Joker wurde schon verwendet\nBitte geben sie nun ihre Antwortmoeglichkeit ein:");
}
scanf("%i",&antwortuser);//eingabe der Antwort
return antwortuser;//rueckgabe
}
int fjoker3(int z,int i,int *rantwort,int antwortuser,int jb3){
if(jb3==0){//joker schon benutzt?
int j3z= rand()%4+1;//zufallswert zur ausgabe eines der Antworten
switch(j3z){
case 1:
printf("Ich denke es ist Antwort %i\n",rantwort[z]);
break;
case 2:
printf("Es muss Antwort %i sein\n" ,rantwort[z]);
break;
case 3:
printf("Es kann nur Antwort %i sein\n" ,rantwort[z]);
break;
case 4:
printf("Ich bin mir nicht sicher, aber ich glaube es ist Antwort 3");
break;
}
}
else{
printf("dieser Joker wurde schon verwendet\nBitte geben sie nun ihre Antwortmoeglichkeit ein:");
}
scanf("%i",&antwortuser);
return antwortuser;
}
Wäre wirklich nett wenn ihr mir das verraten könntet.. und falls es nicht alllzu kompliziert werden sollte am besten noch wie man eine Startmelodie abspielt, sobald der Spieler seinen Namen mit Enter bestätigt hat..
MfG
C.N.