Zaphod-B
28-04-2002, 13:34
Moin,
ich bin, was programmieren angeht, noch totaler Anfänger. Ich hab da ein bischen mit C++ rumgespielt, und bin auf das bisher erreichte schon ein bischen Stolz ;). Allerdings hab ich ein Problem mit den Programm, dass ich bis jetzt nicht einkreisen konnte.
Wenn man das Programm aus führt, so läuft alles normal ab, bis auf eine Stelle. Beider Eingabe
Wollen wir weiter Zocken(Irgendeine Taste oder n)
funktioniert alles wie gewünscht, bis auf das, wenn ich eine Cursor Taste benutze, rennt das Programm in einer Endlosschleife los.
Vielleicht hat jemand einen Vorschlag, wie man das Problem beseitigen kann.
Hilfe wäre nett.
Und bitte nicht zuviel meckern, ich hab wirklich keine Ahnung.
Greetings Zaphod-B
#include <iostream.h>
#include <curses.h>
#include <stdlib.h>
#include <time.h>
// Hauptprogramm
int main ()
{
char j('j') ,n ('n');
do
{
unsigned int comp, spie;
int g[4][4]={{0,-1,1,-1},{1,0,-1,-1},{-1,1,0,1},{1,1,-1,0}};
{
cout << "Such dir was aus\n";
cout << "1 ... Schere\n";
cout << "2 ... Stein\n";
cout << "3 ... Papier\n";
cout << "4 ... Brunnen\n";
cout << "Menüauswahl : ";
cin >> spie;
}
// Gibt den Zufallsgenerator die genaue Zeit und Datum.
{
srand((unsigned int)time(NULL));
rand()%4;
comp=1+(int) (4.0*rand()/(RAND_MAX+1.0));
}
{
if (spie>4) cout <<"Das war wohl nix\n",exit(0);
cout << "Deine Wahl:\n";
switch (spie) {
case 1:cout <<"Schere\n";break;
case 2:cout <<"Stein\n";break;
case 3:cout <<"Papier\n";break;
case 4:cout <<"Brunnen\n";break;}
cout << "Wahl des Computers:\n";
switch (comp) {
case 1:cout <<"Schere\n";break;
case 2:cout <<"Stein\n";break;
case 3:cout <<"Papier\n";break;
case 4:cout <<"Brunnen\n";break;}
}
if (g[spie-1][comp-1]==0) cout<<"Unentschieden\n";
if (g[spie-1][comp-1]>0) cout<<"GEWONNEN!!!Schwein gehabt!!! HEHE!!!\n";
if (g[spie-1][comp-1]<0) cout<<"MUHA!!!-=<LOOSER>=- BÄH!!! :-P\n";
cout << "Wollen wir weiter Zocken(Irgendeine Taste oder n)?";
cin >> n;
cout << "Okay\n\n";
}
while (n != 'n') ;
{
cout << "bye\n";
}
}
ich bin, was programmieren angeht, noch totaler Anfänger. Ich hab da ein bischen mit C++ rumgespielt, und bin auf das bisher erreichte schon ein bischen Stolz ;). Allerdings hab ich ein Problem mit den Programm, dass ich bis jetzt nicht einkreisen konnte.
Wenn man das Programm aus führt, so läuft alles normal ab, bis auf eine Stelle. Beider Eingabe
Wollen wir weiter Zocken(Irgendeine Taste oder n)
funktioniert alles wie gewünscht, bis auf das, wenn ich eine Cursor Taste benutze, rennt das Programm in einer Endlosschleife los.
Vielleicht hat jemand einen Vorschlag, wie man das Problem beseitigen kann.
Hilfe wäre nett.
Und bitte nicht zuviel meckern, ich hab wirklich keine Ahnung.
Greetings Zaphod-B
#include <iostream.h>
#include <curses.h>
#include <stdlib.h>
#include <time.h>
// Hauptprogramm
int main ()
{
char j('j') ,n ('n');
do
{
unsigned int comp, spie;
int g[4][4]={{0,-1,1,-1},{1,0,-1,-1},{-1,1,0,1},{1,1,-1,0}};
{
cout << "Such dir was aus\n";
cout << "1 ... Schere\n";
cout << "2 ... Stein\n";
cout << "3 ... Papier\n";
cout << "4 ... Brunnen\n";
cout << "Menüauswahl : ";
cin >> spie;
}
// Gibt den Zufallsgenerator die genaue Zeit und Datum.
{
srand((unsigned int)time(NULL));
rand()%4;
comp=1+(int) (4.0*rand()/(RAND_MAX+1.0));
}
{
if (spie>4) cout <<"Das war wohl nix\n",exit(0);
cout << "Deine Wahl:\n";
switch (spie) {
case 1:cout <<"Schere\n";break;
case 2:cout <<"Stein\n";break;
case 3:cout <<"Papier\n";break;
case 4:cout <<"Brunnen\n";break;}
cout << "Wahl des Computers:\n";
switch (comp) {
case 1:cout <<"Schere\n";break;
case 2:cout <<"Stein\n";break;
case 3:cout <<"Papier\n";break;
case 4:cout <<"Brunnen\n";break;}
}
if (g[spie-1][comp-1]==0) cout<<"Unentschieden\n";
if (g[spie-1][comp-1]>0) cout<<"GEWONNEN!!!Schwein gehabt!!! HEHE!!!\n";
if (g[spie-1][comp-1]<0) cout<<"MUHA!!!-=<LOOSER>=- BÄH!!! :-P\n";
cout << "Wollen wir weiter Zocken(Irgendeine Taste oder n)?";
cin >> n;
cout << "Okay\n\n";
}
while (n != 'n') ;
{
cout << "bye\n";
}
}