enum?
-
liebe mituser!!!
ich bin ein blutiger programmieranfänger... und muss ein tictactoe spiel in c++ schreiben... dafür habe ich eine kurze vorgabe mit der ich leider reichlich wenig anfangen kann:
enum BoardCell { NO_PIECE, PLAYER1, PLAYER2 } BoardCell board[3][3] dann hab ich einfach mal drauflos geschrieben...nach dem motto "das kommt ja auch noch da rein": int main() { int a[3][3];//zeile ,spalte int i; int j; for (i=0;i<3;i++) { for(j=0;j<3;j++) a[i][j]=0; cout<< a[i][j]; } int zahl,zeile,spalte; do { cout<<"Willkommen bei meinem TTT-Spiel"<<endl; cout<<"Bitte tippen Sie auf den Nummernblock die zu markierenden Stellen im TTT.FEld"<<endl; cin>> zahl; switch(zahl) { case 1: a[2][0]=1;break; case 2: a[2][1]=1;break; case 3: a[2][2]=1;break; case 4: a[1][0]=1;break; case 5: a[1][1]=1;break; case 6: a[1][2]=1;break; case 7: a[0][0]=1;break; case 8: a[0][1]=1;break; case 9: a[0][2]=1;break; /* case 10: a[2][0]=2;break; case 11: a[2][1]=2;break; case 12: a[2][2]=2;break; case 13: a[1][0]=2;break; case 14: a[1][1]=2;break; case 15: a[1][2]=2;break; case 16: a[0][0]=2;break; case 17: a[0][1]=2;break; case 18: a[0][2]=2;break; */ } cout <<" Aktueller ttt-feld stand"<<endl; cout <<"--------"<<endl; cout <<"|"<<a[0][0]<<"|"<<a[0][1]<<"|"<<a[0][2]<<"|"<<endl; cout <<"|"<<a[1][0]<<"|"<<a[1][1]<<"|"<<a[1][2]<<"|"<<endl; cout <<"|"<<a[2][0]<<"|"<<a[2][1]<<"|"<<a[2][2]<<"|"<<endl; cout <<"--------"; } while(a[0][0]!=0||a[0][1]!=0||a[0][2]!=0|| a[1][0]!=0||a[1][1]!=0||a[1][2]!=0|| a[2][0]!=0||a[2][1]!=0||a[2][2]!=0); for (zahl=2;zahl<=2;i++) { cout<<"Bitte Player1 um Eingabe!"<<endl; } for (zahl=1;zahl<=1;i++) { cout<<"Bitte Player2 um Eingabe!"<<endl; } switch (...??) { case 1: a[0][0]&& a[0][1]&& a[0][2];break; case 2: a[1][0]&& a[1][1]&& a[1][2];break; case 3: a[2][0]&& a[2][1]&& a[2][2];break; case 4: a[0][0]&& a[1][0]&& a[2][0];break; case 5: a[0][1]&& a[1][1]&& a[2][1];break; case 6: a[0][2]&& a[1][2]&& a[2][2];break; case 7: a[0][0]&& a[1][1]&& a[2][2];break; case 8: a[0][2]&& a[1][1]&& a[2][0];break; } { cout<<"Sie haben gewonnen!"<<endl; } return 0; } ...
hätte evtl jemand eine idee was man da mit dieser enumeration anstellen muss/könnte/soll...
danke,syl/edit: Bitte Code-Tags verwenden
-
enum BoardCell heißt das eine Variable vom Typ BoardCell nur die Werte annehmen kann, die in der geschweiften Klammer stehen. Bei dir kann also jede Zelle nur leer sein (NO_PIECE), von Player1 besetzt sein (PLAYER1) oder von Player2 besetzt sein (PLAYER2). Dein Spilefeld besteht aus 3x3 Zellen dieser Art (board[3][3] ist das Feld und BoardCell der Datentyp jedes Elements in diesem Feld).
Du kannst dann für jedes Element aus deinem Feld eine Abfrage machen wie z.B.:BoardCell board[3][3]=a;
if(a[i][j]==?)und ? kann dann nur entweder NO_PIECE, PLAYER1 oder PLAYER2 sein.
Ich hoffe ich konnte dir weiterhelfen. Bye !
liefert true wenn
-
vielen dank!!! das hilft mir erheblich weiter... bin leider noch nicht der c++ könner... deshalb blick ich manchmal bei den einfachsten sachen nicht so durch... danke!!!
-
Hm, habt Ihr alle die gleichen Aufgaben bekommen?
http://www.c-plusplus.net/forum/viewtopic.php?p=401024#401024
-
nman schrieb:
Hm, habt Ihr alle die gleichen Aufgaben bekommen?
http://www.c-plusplus.net/forum/viewtopic.php?p=401024#401024lol
haben sie bestimmt