Gewinner Ausgabe beim Spiel
-
ähm, ja... die Bedingung fehlt bei if

-
Ich hebe auch mal 4Gewinnt programmiert, sehr unschön, aber es funktioniert.:D
viergewinnt.h
class viergewinnt { int p[7][5]; int s; int chance; public: viergewinnt(); void setP1(int wahl); void setP2(int wahl); void matrix(); char getm(int x, int y); void ruecksetzten(); bool nextP(); int win(); void setFW(int farbe); int zugPC(); };viergewinnt.cpp
#include <iostream> #include "viergewinnt.h" #include <windows.h> #include <math.h> using namespace std; viergewinnt::viergewinnt() { s=0; for(int i=0; i<7; i++) for(int i2=0; i2<5; i2++) p[i][i2]=0; } void viergewinnt::ruecksetzten() { s=0; for(int i=0; i<7; i++) for(int i2=0; i2<5; i2++) p[i][i2]=0; } bool viergewinnt::nextP() { if(s==0)return true; else return false; } void viergewinnt::setP1(int wahl) { if(wahl >=1 && wahl <=7) { switch(wahl) { case 1:if (p[0][0]==0){p[0][0]=1;s=1;} else if(p[0][1]==0){p[0][1]=1;s=1;} else if(p[0][2]==0){p[0][2]=1;s=1;} else if(p[0][3]==0){p[0][3]=1;s=1;} else if(p[0][4]==0){p[0][4]=1;s=1;}break; case 2:if (p[1][0]==0){p[1][0]=1;s=1;} else if(p[1][1]==0){p[1][1]=1;s=1;} else if(p[1][2]==0){p[1][2]=1;s=1;} else if(p[1][3]==0){p[1][3]=1;s=1;} else if(p[1][4]==0){p[1][4]=1;s=1;}break; case 3:if (p[2][0]==0){p[2][0]=1;s=1;} else if(p[2][1]==0){p[2][1]=1;s=1;} else if(p[2][2]==0){p[2][2]=1;s=1;} else if(p[2][3]==0){p[2][3]=1;s=1;} else if(p[2][4]==0){p[2][4]=1;s=1;}break; case 4:if (p[3][0]==0){p[3][0]=1;s=1;} else if(p[3][1]==0){p[3][1]=1;s=1;} else if(p[3][2]==0){p[3][2]=1;s=1;} else if(p[3][3]==0){p[3][3]=1;s=1;} else if(p[3][4]==0){p[3][4]=1;s=1;}break; case 5:if (p[4][0]==0){p[4][0]=1;s=1;} else if(p[4][1]==0){p[4][1]=1;s=1;} else if(p[4][2]==0){p[4][2]=1;s=1;} else if(p[4][3]==0){p[4][3]=1;s=1;} else if(p[4][4]==0){p[4][4]=1;s=1;}break; case 6:if (p[5][0]==0){p[5][0]=1;s=1;} else if(p[5][1]==0){p[5][1]=1;s=1;} else if(p[5][2]==0){p[5][2]=1;s=1;} else if(p[5][3]==0){p[5][3]=1;s=1;} else if(p[5][4]==0){p[5][4]=1;s=1;}break; case 7:if (p[6][0]==0){p[6][0]=1;s=1;} else if(p[6][1]==0){p[6][1]=1;s=1;} else if(p[6][2]==0){p[6][2]=1;s=1;} else if(p[6][3]==0){p[6][3]=1;s=1;} else if(p[6][4]==0){p[6][4]=1;s=1;}break; } } } void viergewinnt::setP2(int wahl) { if(wahl >=1 && wahl <=7) { switch(wahl) { case 1:if (p[0][0]==0){p[0][0]=2;s=0;} else if(p[0][1]==0){p[0][1]=2;s=0;} else if(p[0][2]==0){p[0][2]=2;s=0;} else if(p[0][3]==0){p[0][3]=2;s=0;} else if(p[0][4]==0){p[0][4]=2;s=0;}break; case 2:if (p[1][0]==0){p[1][0]=2;s=0;} else if(p[1][1]==0){p[1][1]=2;s=0;} else if(p[1][2]==0){p[1][2]=2;s=0;} else if(p[1][3]==0){p[1][3]=2;s=0;} else if(p[1][4]==0){p[1][4]=2;s=0;}break; case 3:if (p[2][0]==0){p[2][0]=2;s=0;} else if(p[2][1]==0){p[2][1]=2;s=0;} else if(p[2][2]==0){p[2][2]=2;s=0;} else if(p[2][3]==0){p[2][3]=2;s=0;} else if(p[2][4]==0){p[2][4]=2;s=0;}break; case 4:if (p[3][0]==0){p[3][0]=2;s=0;} else if(p[3][1]==0){p[3][1]=2;s=0;} else if(p[3][2]==0){p[3][2]=2;s=0;} else if(p[3][3]==0){p[3][3]=2;s=0;} else if(p[3][4]==0){p[3][4]=2;s=0;}break; case 5:if (p[4][0]==0){p[4][0]=2;s=0;} else if(p[4][1]==0){p[4][1]=2;s=0;} else if(p[4][2]==0){p[4][2]=2;s=0;} else if(p[4][3]==0){p[4][3]=2;s=0;} else if(p[4][4]==0){p[4][4]=2;s=0;}break; case 6:if (p[5][0]==0){p[5][0]=2;s=0;} else if(p[5][1]==0){p[5][1]=2;s=0;} else if(p[5][2]==0){p[5][2]=2;s=0;} else if(p[5][3]==0){p[5][3]=2;s=0;} else if(p[5][4]==0){p[5][4]=2;s=0;}break; case 7:if (p[6][0]==0){p[6][0]=2;s=0;} else if(p[6][1]==0){p[6][1]=2;s=0;} else if(p[6][2]==0){p[6][2]=2;s=0;} else if(p[6][3]==0){p[6][3]=2;s=0;} else if(p[6][4]==0){p[6][4]=2;s=0;}break; } } } char viergewinnt::getm(int x, int y) { if(p[x][y] == 2){setFW(10);return 'O';} if(p[x][y] == 1){setFW(12);return 'X';} if(p[x][y] == 0)return ' '; } void viergewinnt::setFW(int farbe) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), farbe); } void viergewinnt::matrix() { setFW(15); cout<<endl<<" 1 2 3 4 5 6 7 "<<endl; for(int i=4; i>=0; i--) { cout<<" +---+---+---+---+---+---+---+"<<endl; cout<<" | ";setFW(15); cout<<getm(0,i); setFW(15);cout<<" | "; cout<<getm(1,i); setFW(15);cout<<" | "; cout<<getm(2,i); setFW(15);cout<<" | "; cout<<getm(3,i); setFW(15);cout<<" | "; cout<<getm(4,i); setFW(15);cout<<" | "; cout<<getm(5,i); setFW(15);cout<<" | "; cout<<getm(6,i); setFW(15);cout<<" | "<<endl; } cout<<" +---+---+---+---+---+---+---+"<<endl; } int viergewinnt::win() { for(int i=1; i<3; i++) {if(p[0][0] == i && p[0][1] == i && p[0][2] == i && p[0][3] == i)return 1; if(p[0][1] == i && p[0][2] == i && p[0][3] == i && p[0][4] == i)return 1; if(p[1][0] == i && p[1][1] == i && p[1][2] == i && p[1][3] == i)return 1; if(p[1][1] == i && p[1][2] == i && p[1][3] == i && p[1][4] == i)return 1; if(p[2][0] == i && p[2][1] == i && p[2][2] == i && p[2][3] == i)return 1; if(p[2][1] == i && p[2][2] == i && p[2][3] == i && p[2][4] == i)return 1; if(p[3][0] == i && p[3][1] == i && p[3][2] == i && p[3][3] == i)return 1; if(p[3][1] == i && p[3][2] == i && p[3][3] == i && p[3][4] == i)return 1; if(p[4][0] == i && p[4][1] == i && p[4][2] == i && p[4][3] == i)return 1; if(p[4][1] == i && p[4][2] == i && p[4][3] == i && p[4][4] == i)return 1; if(p[5][0] == i && p[5][1] == i && p[5][2] == i && p[5][3] == i)return 1; if(p[5][1] == i && p[5][2] == i && p[5][3] == i && p[5][4] == i)return 1; if(p[6][0] == i && p[6][1] == i && p[6][2] == i && p[6][3] == i)return 1; if(p[6][1] == i && p[6][2] == i && p[6][3] == i && p[6][4] == i)return 1; if(p[0][0] == i && p[1][0] == i && p[2][0] == i && p[3][0] == i)return 1; if(p[1][0] == i && p[2][0] == i && p[3][0] == i && p[4][0] == i)return 1; if(p[2][0] == i && p[3][0] == i && p[4][0] == i && p[5][0] == i)return 1; if(p[3][0] == i && p[4][0] == i && p[5][0] == i && p[6][0] == i)return 1; if(p[0][1] == i && p[1][1] == i && p[2][1] == i && p[3][1] == i)return 1; if(p[1][1] == i && p[2][1] == i && p[3][1] == i && p[4][1] == i)return 1; if(p[2][1] == i && p[3][1] == i && p[4][1] == i && p[5][1] == i)return 1; if(p[3][1] == i && p[4][1] == i && p[5][1] == i && p[6][1] == i)return 1; if(p[0][2] == i && p[1][2] == i && p[2][2] == i && p[3][2] == i)return 1; if(p[1][2] == i && p[2][2] == i && p[3][2] == i && p[4][2] == i)return 1; if(p[2][2] == i && p[3][2] == i && p[4][2] == i && p[5][2] == i)return 1; if(p[3][2] == i && p[4][2] == i && p[5][2] == i && p[6][2] == i)return 1; if(p[0][3] == i && p[1][3] == i && p[2][3] == i && p[3][3] == i)return 1; if(p[1][3] == i && p[2][3] == i && p[3][3] == i && p[4][3] == i)return 1; if(p[2][3] == i && p[3][3] == i && p[4][3] == i && p[5][3] == i)return 1; if(p[3][3] == i && p[4][3] == i && p[5][3] == i && p[6][3] == i)return 1; if(p[0][4] == i && p[1][4] == i && p[2][4] == i && p[3][4] == i)return 1; if(p[1][4] == i && p[2][4] == i && p[3][4] == i && p[4][4] == i)return 1; if(p[2][4] == i && p[3][4] == i && p[4][4] == i && p[5][4] == i)return 1; if(p[3][4] == i && p[4][4] == i && p[5][4] == i && p[6][4] == i)return 1; if(p[0][0] == i && p[1][1] == i && p[2][2] == i && p[3][3] == i)return 1; if(p[0][1] == i && p[1][2] == i && p[2][3] == i && p[3][4] == i)return 1; if(p[1][1] == i && p[2][2] == i && p[3][3] == i && p[4][4] == i)return 1; if(p[1][0] == i && p[2][1] == i && p[3][2] == i && p[4][3] == i)return 1; if(p[2][1] == i && p[3][2] == i && p[4][3] == i && p[5][4] == i)return 1; if(p[2][0] == i && p[3][1] == i && p[4][2] == i && p[5][3] == i)return 1; if(p[3][1] == i && p[4][2] == i && p[5][3] == i && p[6][4] == i)return 1; if(p[3][0] == i && p[4][1] == i && p[5][2] == i && p[6][3] == i)return 1; if(p[6][1] == i && p[5][2] == i && p[4][3] == i && p[3][4] == i)return 1; if(p[6][0] == i && p[5][1] == i && p[4][2] == i && p[3][3] == i)return 1; if(p[5][1] == i && p[4][2] == i && p[3][3] == i && p[2][4] == i)return 1; if(p[5][0] == i && p[4][1] == i && p[3][2] == i && p[2][3] == i)return 1; if(p[4][1] == i && p[3][2] == i && p[2][3] == i && p[1][4] == i)return 1; if(p[4][0] == i && p[3][1] == i && p[2][2] == i && p[1][3] == i)return 1; if(p[3][1] == i && p[2][2] == i && p[1][3] == i && p[0][4] == i)return 1; if(p[3][0] == i && p[2][1] == i && p[1][2] == i && p[0][3] == i)return 1; } } int viergewinnt::zugPC() { srand (time(NULL)); return rand()%7; }main.cpp
#include <iostream> using namespace std; #include "viergewinnt.h" int main(int argc, char *argv[]) { viergewinnt spiel; int wahl, wahlpc; spiel.matrix(); cout<<" Player vs Player? - 1"<<endl<<" Player vs Computer? - 2 "; cin>>wahlpc; switch(wahlpc) { case 1: while (spiel.win() != 1) { if(spiel.nextP()) { spiel.setFW(12); cout<<endl<<" Spieler 1 (1-7): ";} else {spiel.setFW(10);cout<<endl<<" Spieler 2 (1-7): ";} cin>>wahl; system("cls"); if(spiel.nextP())spiel.setP1(wahl); else spiel.setP2(wahl); spiel.matrix(); } if(spiel.win() == 1)if(spiel.nextP()) {spiel.setFW(10); cout<<endl<<endl<<" Spieler 2";spiel.setFW(9);cout<<" WIN!";} else { spiel.setFW(12);cout<<endl<<endl<<" Spieler 1";spiel.setFW(9);cout<<" WIN!";} break; case 2: while (spiel.win() != 1) { if(spiel.nextP()) { spiel.setFW(12); cout<<endl<<" Spieler 1 (1-7): ";} else {spiel.setFW(10);cout<<endl<<" Comp 2 (1-7): ";} if(spiel.nextP())cin>>wahl; system("cls"); if(spiel.nextP())spiel.setP1(wahl); else spiel.setP2(spiel.zugPC()); spiel.matrix(); } if(spiel.win() == 1)if(spiel.nextP()) {spiel.setFW(10); cout<<endl<<endl<<" Computer";spiel.setFW(9);cout<<" WIN!";} else { spiel.setFW(12);cout<<endl<<endl<<" Spieler 1";spiel.setFW(9);cout<<" WIN!";} break; } spiel.ruecksetzten(); system("PAUSE>NUL"); return EXIT_SUCCESS; }nicht schimpfen...

-
habe das nun so:
if player = (player == PLAYER1) { cout << spieler1<<"hat gewonnen!"; } else if { cout << spieler2<<"hat gewonnen!"; }jetzt meckert er bei
player = (player == PLAYER1)
-
Lies doch bitte mal das hier.
http://tutorial.schornboeck.net/if.htm
-
ist doch genau so wie ich das auch aufgebaut habe
-
harald444 bitte bitte schau dir doch endlich an wie die IF Anweisung in c++ Funktioniert!
Hier ist sogar nochn Tut
http://tutorial.schornboeck.net/if.htmAlta ich hab heute echt meinen guten Tag
Keros
-
habe ich doch und meine if anweisung ist doch vom aufbau her die gleiche
-
1 tip, dann verzieh ich mich hier wieder - wenn ich das scho lese -
ich habs doch so... na gut - funktionieren tuts nich und es sieht auch ein wenig anders aus, aber ich habs doch genau so gemacht!!1111einselfif (player == PLAYER1) { ... }hf
-
hä habe das nun so
geht immer noch nicht
if (player == PLAYER1) { cout << spieler1<<"hat gewonnen!"; } else if { cout << spieler2<<"hat gewonnen!"; }
-
ok geil hab es nun so gelöst es funzt.
if (player == PLAYER1) { color(player1); cout <<" "; cout << spieler1<<" hat gewonnen!"; color(text); } else { color(player2); cout <<" "; cout << spieler2<<" hat gewonnen!"; color(text); }
-
Den Himmel sei dank!!!
-
Dem
-
eh klar

-
Den prof will ich mal sehen. Den würde ich aber was erzählen!
-
noob, noober, am noobsten ... mehr kann man da nicht sagen.
Grundlagen sollte man schon können. Und sich mit fremden Federn schmücken ist auch nicht schön. Es gibt soviele Tutorials im Inet auf allen möglichen Sprachen.
Lern lieber die Sprache, als sich von anderen was zusammen zu Kopieren.
mfg