Toon posts:

Boter kaas en eieren in visual c++ 6.0

Pagina: 1
Acties:
  • 158 views sinds 30-01-2008

Verwijderd

Topicstarter
Wie kan mij helpen met het volgende probleem. Ik heb het spel boter kaas en eieren gemaakt, maar er zitten een paar nare bugs in. Als de computer bijvoorbeeld wint, geeft het programma weer: Jij hebt gewonnen. Ook als je gelijk speelt en wint. Als het bord wordt weergegeven als laatste, wordt de X in vakje 1 veranderd in een O.
Dit is de code:

#include <iostream.h>
#include <process.h>
#include <iomanip.h>
#include <stdlib.h>
#include <time.h>

void main() {
int invoer, computerb, eindespel, eindebeurt, winnaar;
char getal1, getal2, getal3, getal4, getal5, getal6, getal7, getal8, getal9;
getal1=49;
getal2=50;
getal3=51;
getal4=52;
getal5=53;
getal6=54;
getal7=55;
getal8=56;
getal9=57;

while (eindespel != 1) {
while (eindebeurt != 1) {
eindebeurt = 0;

system("cls");
cout << "Kies een getal tussen 1 en 9, voer een 0 in om te stoppen" << endl;
cout << "------------------------------------------------------------" << endl;
cout << "|" << getal1 << "|" << getal2 << "|" << getal3 << "|" << endl;
cout << "------------------------------------------------------------" << endl;
cout << "|" << getal4 << "|" << getal5 << "|" << getal6 << "|" << endl;
cout << "------------------------------------------------------------" << endl;
cout << "|" << getal7 << "|" << getal8 << "|" << getal9 << "|" << endl;
cout << "------------------------------------------------------------" << endl;
cout << "Het is uw beurt" << endl;

cin >> invoer;

switch(invoer) {
case 1:
if (getal1 == 49) {
getal1 = getal1 + 39;
eindebeurt = 1;
} else if (getal1 != 49) {
eindebeurt = 0;
break;
}break;

case 2:
if (getal2 == 50) {
getal2 = getal2 + 38;
eindebeurt = 1;
} else if (getal1 != 49) {
eindebeurt = 0;
break;
}break;

case 3:
if (getal3 == 51) {
getal3 = getal3 + 37;
eindebeurt = 1;
} else if (getal1 != 49) {
eindebeurt = 0;
break;
}break;

case 4:
if (getal4 == 52) {
getal4 = getal4 + 36;
eindebeurt = 1;
} else if (getal1 != 49) {
eindebeurt = 0;
break;
}break;

case 5:
if (getal5 == 53) {
getal5 = getal5 + 35;
eindebeurt = 1;
} else if (getal1 != 49) {
eindebeurt = 0;
break;
}break;

case 6:
if (getal6 == 54) {
getal6 = getal6 + 34;
eindebeurt = 1;
} else if (getal1 != 49) {
eindebeurt = 0;
break;
}break;

case 7:
if (getal7 == 55) {
getal7 = getal7 + 33;
eindebeurt = 1;
} else if (getal1 != 49) {
eindebeurt = 0;
break;
}break;

case 8:
if (getal8 == 56) {
getal8 = getal8 + 32;
eindebeurt = 1;
} else if (getal1 != 49) {
eindebeurt = 0;
break;
}break;

case 9:
if (getal9 == 57) {
getal9 = getal9 + 31;
eindebeurt = 1;
} else if (getal1 != 49) {
eindebeurt = 0;
break;
}break;
default:
cout << "Geen geldig spelnummer, kies een getal tussen de 1 en 9." << endl;
cin.get();

if ((getal1 == getal2) && (getal2 == getal3)) {
if (getal1 = 88) {
eindespel = 1;
winnaar = 1;
break;
}
}
if ((getal4 == getal5) && (getal5 == getal6)) {
if (getal4 = 88) {
eindespel = 1;
winnaar = 1;
break;
}
}
if ((getal7 == getal8) && (getal8 == getal9)) {
if (getal7 = 88) {
eindespel = 1;
winnaar = 1;
break;
}
}
if ((getal1 == getal4) && (getal4 == getal7)) {
if (getal1 = 88) {
eindespel = 1;
winnaar = 1;
break;
}
}
if ((getal2 == getal5) && (getal5 == getal8)) {
if (getal2 = 88) {
eindespel = 1;
winnaar = 1;
break;
}
}
if ((getal3 == getal6) && (getal6 == getal9)) {
if (getal3 = 88) {
eindespel = 1;
winnaar = 1;
break;
}
}
if ((getal1 == getal5) && (getal5 == getal9)) {
if (getal1 = 88) {
eindespel = 1;
winnaar = 1;
break;
}
}
if ((getal3 == getal5) && (getal5 == getal7)) {
if (getal3 = 88) {
eindespel = 1;
winnaar = 1;
break;
}
}
}
system("cls");
cout << "Kies een getal tussen 1 en 9, voer een 0 in om te stoppen" << endl;
cout << "------------------------------------------------------------" << endl;
cout << "|" << getal1 << "|" << getal2 << "|" << getal3 << "|" << endl;
cout << "------------------------------------------------------------" << endl;
cout << "|" << getal4 << "|" << getal5 << "|" << getal6 << "|" << endl;
cout << "------------------------------------------------------------" << endl;
cout << "|" << getal7 << "|" << getal8 << "|" << getal9 << "|" << endl;
cout << "------------------------------------------------------------" << endl;

while (computerb != 1) {
if (eindespel != 1) {
computerb = 0;

unsigned int random;
int seed;
seed=time(0);
srand(seed);
random = rand() % 10;

switch( random ){
case 1:
if (getal1 == 49) {
getal1 = getal1 + 30;
computerb = 1;
}break;
case 2:
if (getal2 == 50) {
getal2 = getal2 + 29;
computerb = 1;
}break;
case 3:
if (getal3 == 51) {
getal3 = getal3 + 28;
computerb = 1;
}break;
case 4:
if (getal4 == 52) {
getal4 = getal4 + 27;
computerb = 1;
}break;
case 5:
if (getal5 == 53) {
getal5 = getal5 + 26;
computerb = 1;
}break;
case 6:
if (getal6 == 54) {
getal6 = getal6 + 25;
computerb = 1;
}break;
case 7:
if (getal7 == 55) {
getal7 = getal7 +24;
computerb = 1;
}break;
case 8:
if (getal8 == 56) {
getal8 = getal8+ 23;
computerb = 1;
}break;
case 9:
if (getal9 == 57) {
getal9 = getal9 + 22;
computerb = 1;
}break;
default:
cout << "Ongeldig" << endl;
}

if ((getal1 == getal2) && (getal2 == getal3)) {
if (getal1 = 79) {
eindespel = 1;
winnaar = 2;
break;
}
}
if ((getal4 == getal5) && (getal5 == getal6)) {
if (getal4 = 79) {
eindespel = 1;
winnaar = 2;
break;
}
}
if ((getal7 == getal8) && (getal8 == getal9)) {
if (getal7 = 79) {
eindespel = 1;
winnaar = 2;
break;
}
}
if ((getal1 == getal4) && (getal4 == getal7)) {
if (getal1 = 79) {
eindespel = 1;
winnaar = 2;
break;
}
}
if ((getal2 == getal5) && (getal5 == getal8)) {
if (getal2 = 79) {
eindespel = 1;
winnaar = 2;
break;
}
}
if ((getal3 == getal6) && (getal6 == getal9)) {
if (getal3 = 79) {
eindespel = 1;
winnaar = 2;
break;
}
}
if ((getal1 == getal5) && (getal5 == getal9)) {
if (getal1 = 79) {
eindespel = 1;
winnaar = 2;
break;
}
}
if ((getal3 == getal5) && (getal5 == getal7)) {
if (getal3 = 79) {
eindespel = 1;
winnaar = 2;
break;
}
system("cls");

cout << "Kies een getal tussen 1 en 9, voer een 0 in om te stoppen" << endl;
cout << "------------------------------------------------------------" << endl;
cout << "|" << getal1 << "|" << getal2 << "|" << getal3 << "|" << endl;
cout << "------------------------------------------------------------" << endl;
cout << "|" << getal4 << "|" << getal5 << "|" << getal6 << "|" << endl;
cout << "------------------------------------------------------------" << endl;
cout << "|" << getal7 << "|" << getal8 << "|" << getal9 << "|" << endl;
cout << "------------------------------------------------------------" << endl;
cout << "Computer heeft ingevoerd:" << random << endl;
}

}//while computerbeurt
}//sluit if (computerbeurt einde !=1 )

}
computerb = 0;
eindebeurt = 0;

}

if (eindespel = 1) {
cout << endl << "Spel gestopt op volgende positie:" << endl;
cout << "------------------------------------------------------------" << endl;
cout << "|" << getal1 << "|" << getal2 << "|" << getal3 << "|" << endl;
cout << "------------------------------------------------------------" << endl;
cout << "|" << getal4 << "|" << getal5 << "|" << getal6 << "|" << endl;
cout << "------------------------------------------------------------" << endl;
cout << "|" << getal7 << "|" << getal8 << "|" << getal9 << "|" << endl;
cout << "------------------------------------------------------------" << endl;
}

if (winnaar = 0) {
cout << "Er is geen winnaar" << endl;
} else if (winnaar = 1) {
cout << "Jij hebt gewonnen" <<endl;
} else if (winnaar = 2) {
cout << "Helaas, de computer heeft gewonnen" << endl;
}



cout << "Druk enter om programma te verlaten" << endl;
cin.get();
cin.get();


}

Alvast bedankt

  • sorted.bits
  • Registratie: Januari 2000
  • Laatst online: 17:55
Mmm complete schoolopdrachten gaan we niet voor je maken/corrigeren, misschien moet je het boek nog es lezen.

En zeg me aub niet dat dit niet een schoolopdracht is, want ik moest dit vorig jaar ook maken.

Oh ja.. en je code is een beetje omslachtig!!!!

  • koffercomputer
  • Registratie: Oktober 2000
  • Laatst online: 22-09 16:13
Hmm lekker duidelijke code. 1e jaars programmeur zeker ?
Maak eens een stroomschema of zo, en kijk dan eens wat er te optimaliseren valt. En maak wat efficienter gebruik van case in plaats van al die losse cases. Zou ook al moeten schelen.

Ik heb het opgegeven om nog correct Nederlands te blijven typen. 22.10.02


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Xtracer >> Ik heb het een keer gewoon voor de gein gemaakt hoor; heel stoer met coole bitmaps van gatenkaas met 9 gaten enzo, en pics van gebakken eieren :Y)

ontopic: Je begrijpt dat we dit ff niet door gaan lezen?

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 19-09 17:21
Ja, zoiets heb ik nog eens in basic geschreven en na twee uur pascal in pascal. Maar eehm. Dat was _veel minder code...

Probeer in iig eens een array uit...

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • sorted.bits
  • Registratie: Januari 2000
  • Laatst online: 17:55
array mogen ze naar mijn weten nog niet gebruiken, is nog niet behandeld ;)

hehe, beetje lame dit, juist op dit moment die opdracht posten terwijl een vriendin van mij deze opdracht ook moest maken deze week... mmm, beetje toeval

EDIT : Oh ja, een BOOL is ook een geweldig iets, **HINT HINT**

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

goed, zie ook:
[topic=162102/1/50]
Pagina: 1

Dit topic is gesloten.