Hallo,
und zwar hab ich das "Hoelzchenspiel" programmiert, kennen bestimmt die meisten hier für die die nicht wissen was ich meine:
Man hat 15 Hölzchen und kann wählen ob man 1,2 oder 3 Hölzchen ziehen möchte und dann is der andere dran und wer das letzte Hölzchen gezogen hat verliert...
und nun hab ich 2 fragen also
1.) in der Funktion KI( ) hab ich versucht eine kleine "KI" einzubauen, wie kann ich diese noch verbessern?
2.) könntet ihr euch mal den quelltext durchlesen und mir vielleicht ein paar typs geben wie ich das ganze besser programmieren könnte?
Danke schonmal im Vorraus
mfg Virus
und zwar hab ich das "Hoelzchenspiel" programmiert, kennen bestimmt die meisten hier für die die nicht wissen was ich meine:
Man hat 15 Hölzchen und kann wählen ob man 1,2 oder 3 Hölzchen ziehen möchte und dann is der andere dran und wer das letzte Hölzchen gezogen hat verliert...
und nun hab ich 2 fragen also
1.) in der Funktion KI( ) hab ich versucht eine kleine "KI" einzubauen, wie kann ich diese noch verbessern?
2.) könntet ihr euch mal den quelltext durchlesen und mir vielleicht ein paar typs geben wie ich das ganze besser programmieren könnte?
Danke schonmal im Vorraus
mfg Virus
Code:
#include <cstdlib>
#include <iostream>
using namespace std;
int spieler( int uebrig );
int computer( int uebrig2 );
bool anfaenger();
int KI( int abc );
int ziehen;
bool flag, loose=false; // flag true = spieler || flag false = computer
int main(int argc, char *argv[])
{
int hoelzer=15;
cout << "Hallo, Das Spiel beginnt..." << endl;
system("pause");
cout << endl;
flag=anfaenger();
while (!(loose==true)) {
if (flag == true) {
cout << "#####################################################################" << endl;
if (hoelzer < 1) {
cout << "ENDE.." << endl;
system("pause");
return 0;
}
hoelzer = spieler( hoelzer );
}
else if ( flag == false) {
cout << "#####################################################################" << endl;
if (hoelzer < 1) {
cout << "ENDE.." << endl;
system("pause");
return 0;
}
hoelzer = computer( hoelzer );
}
}
system("pause");
return 0;
}
int spieler( int uebrig ) {
cout << "Sie sind am Zug, Es sind noch " << uebrig << " Hoelzer uebring!" << endl;
cout << "Wieviele Hoelzer moechten sie ziehen? ";
if (!(cin >> ziehen) || ziehen > 3 || ziehen < 1) {
cout << endl << "FEHLER Bitte nur [1], [2] oder [3] eingeben!" << endl << endl;
spieler( uebrig );
}
cout << endl << endl;
uebrig = (uebrig - ziehen);
flag = false;
if ( uebrig < 1 ) {
cout << "Sie haben verloren..." << endl << endl;
loose=true;
return uebrig;
}
return uebrig;
}
int computer ( int uebrig2 ) {
cout << "Der Computer ist am Zug, Es sind noch " << uebrig2 << " Hoelzer uebring!" << endl;
KI(uebrig2);
uebrig2 = (uebrig2 - ziehen);
system("pause");
cout << "Die Auswahl des Computers ist: ";
cout << ziehen << endl << endl;
flag = true;
if (uebrig2 < 1 ) {
cout << "Der Computer hat verloren, Glückwunsch! " << endl;
loose=true;
return uebrig2;
}
return uebrig2;
}
int KI (int abc) {
switch ( abc ) {
case 15: {
ziehen = 2;
break;
}
case 14: {
ziehen = 1;
break;
}
case 13: {
ziehen = 3;
break;
}
case 12: {
ziehen = 3;
break;
}
case 11: {
ziehen = 2;
break;
}
case 10: {
ziehen = 1;
break;
}
case 9: {
ziehen = 3;
break;
}
case 8: {
ziehen = 3;
break;
}
case 7: {
ziehen = 2;
break;
}
case 6: {
ziehen = 1;
break;
}
case 5: {
ziehen = 1;
break;
}
case 4: {
ziehen = 3;
break;
}
case 3: {
ziehen = 2;
break;
}
case 2: {
ziehen = 1;
break;
}
case 1: {
ziehen = 1;
break;
}
default : {
srand(time(NULL));
do {
ziehen = rand()%4;
}
while ( ziehen == 0 );
}
}
return ziehen;
}
bool anfaenger() {
int anfang;
do {
srand(time(NULL));
anfang = rand()%3;
}
while ( anfang == 2 );
if ( anfang == 0) {
return true;
}
else if ( anfang == 1) {
return false;
}
else {
cout << "FEHLER!";
}
}