Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

C++ Schere Stein Papier





Frage

Hallo, programmiere grad Schere Stein Papier bloß mir fällt net ein wie ich den Computer das Ergebnis ausgeben lassen kann also wer jetzt gewonnen hat und wer net ! So hier mein Anfang : #include <iostream.h> #include <conio.h> #include <stdlib.h> int main (void) { unsigned int comp, spie; { cout << "IHRE WAHL\n"<<endl; cout << "l Schere\n"; cout << "2 Stein\n"; cout << "3 Papier\n"; cout << "4 Brunnen\n"<<endl; cout << "Menueauswahl : "; cin >> spie; } { srand((unsigned)time( NULL )); comp=rand()%4; if ( comp==0 ) comp=4 ; } { cout<<"Ihre Wahl:\n"; switch (spie) { case 1:cout<<"Schere\n"<<endl;break; case 2:cout<<"Stein\n"<<endl; break; case 3:cout<<"Papier\n"<<endl;break; case 4:cout<<"Brunnen\n"<<endl;break; } cout<<"Wahl des Computers:\n"; switch(comp) { case 1:cout<<"Schere\n"<<endl;break; case 2:cout<<"Stein\n"<<endl;break; case 3:cout<<"Papier\n"<<endl;break; case 4:cout<<"Brunnen\n"<<endl;break; } } } Hoffe mir kann einer helfen !

Antwort 1 von LittleT

Also ich bin jetzt auch kein Profi in C++, aber ich würde mir eine Funktion schreiben, die als Parameter die Wahl des Spielers und die wahl des Computers übernimmt!

Aber dann in der Funktion fällt mir nichts besseres ein als mit ein paar if zu überprüfen!
Allerdings kannst du ja auch Regeln aufstellen, mit denen du nicht alles überprüfen musst!
Als erstes mal:
wenn comp==spiel dann unentschieden
Brunnen immer gewinner ausser gegner papier
usw.
so kannst du das ganze mit 3 oder 4 if und elseif durchbringen.

Ich denke zwar dass es eine bessere Lösung gibt, aber wie gesagt ich bin auch kein Profi

Antwort 2 von Acid_8_Burn

Danke erst ma habs auch hingekriegt das ganze schaut jetzt so aus

#include <iostream.h>
#include <conio.h>
#include <stdlib.h>

int main (void)
{
unsigned int comp, spie; // Spiel = Computer vs. Mensch

{
cout << "...::: Welcome :::..."<<endl;
cout << "Schere, Stein, Papier"<<endl<<endl;
cout << "IHRE WAHL\n"<<endl;
cout << "l Schere\n";
cout << "2 Stein\n";
cout << "3 Papier\n";
cout << "4 Brunnen\n"<<endl;
cout << "Menueauswahl : ";
cin >> spie;
cout << ""<<endl;
}
//-----------------------------------------------------------------------------
{
srand((unsigned)time( NULL ));
comp=rand()%4;
if ( comp==0 ) comp=4 ; // Zahl zwischen 1 und 4
}

{
cout<<"Ihre Wahl:\n";

switch (spie)
{
case 1:cout<<"Schere\n"<<endl;break;
case 2:cout<<"Stein\n"<<endl; break;
case 3:cout<<"Papier\n"<<endl;break;
case 4:cout<<"Brunnen\n"<<endl;break;
default:cout<<"ungültige Eingabe"<<endl<<endl;break;
}

cout<<"Wahl des Computers:\n";

switch(comp)
{
case 1:cout<<"Schere\n"<<endl;break;
case 2:cout<<"Stein\n"<<endl;break;
case 3:cout<<"Papier\n"<<endl;break;
case 4:cout<<"Brunnen\n"<<endl;break;
}

}
//-----------------------------------------------------------------------------
cout<< "Ergebnis = ";

if (spie == 1 && comp== 1)
{
cout<< "unentschieden"<<endl;
}
if (spie == 2 && comp == 2)
{
cout<< "unentschieden"<<endl;
}
if (spie == 3 && comp == 3)
{
cout<< "unentschieden"<<endl;
}
if (spie == 4 && comp ==4)
{
cout<< "unentschieden"<<endl;
}
if (spie == 1 && comp == 2)
{
cout<< "com win"<<endl;
}
if (spie == 1 && comp == 3)
{
cout<< "sp1 win"<<endl;
}
if (spie == 1 && comp == 4)
{
cout<< "com win"<<endl;
}
if (spie == 2 && comp == 1)
{
cout<< "sp1 win"<<endl;
}
if (spie == 2 && comp ==3)
{
cout<< "com win"<<endl;
}
if (spie == 2 && comp == 4)
{
cout<< "com win"<<endl;
}
if (spie ==3 && comp == 1)
{
cout<< "com win"<<endl;
}
if (spie == 3 && comp == 2)
{
cout<< "sp1 win"<<endl;
}
if (spie == 3 && comp == 4)
{
cout<< "sp1 win"<<endl;
}
if (spie == 4 && comp == 1)
{
cout<< "sp1 win"<<endl;
}
if (spie == 4 && comp == 2)
{
cout<< "sp1 win"<<endl;
}
if (spie == 4 && comp == 3)
{
cout<< "com win"<<endl;
}
}
// Ende !

Muss jetzt bloß noch ne Schleife einbauen und fertig

Antwort 3 von Bubbelup

Hallo,

Kleine Anmerkung. Die ersten 4 If´s (Unentschieden) könntest du zusammenfassen mit
if (spie == comp) 
{ 
cout<< "unentschieden"<<endl; 
}


Gruss

Antwort 4 von Acid_8_Burn

Danke, das is eigentlich ne gute idee soweit hab ich gar net gedacht !

So bloß die while schleife geht net !
Irgendwie bekomme ich das net so hin wie ich das will, hab die aber auch lang net mehr benuzt.
Kann sie vielleicht einer hinzufügen ??

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: