DzieckoBezZycia Temat założony przez niniejszego użytkownika |
Wygrana, jezeli try X w linni lub po skosie » 2012-09-18 14:59:18 Robie gre w kolko i krzyzyk i mam maly problem. Chodzi o sprawdzenie, czy uzytkownik wygral. Pewnie jest inny sposob ale ja chcialem zrobic cos takiego: Jezeli map[1][1]=3 i map[1][3]=3 i map[1][5]=3, to win(); Ale cos takiego nie dziala: if(map[1][1]=3 && map[1][3]=3 && map[1][5]=3) ani to: #include <iostream> #include <conio.h> #include <windows.h> #include <time.h>
using namespace std;
int map[ 6 ][ 6 ] { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 2, 1, 2, 1, 2, 0, 0, 1, 0, 1, 0, 0, 2, 1, 2, 1, 2, 0, 0, 1, 0, 1, 0 };
class Game { public: void win() { system( "cls" ); cout << "gz\n"; getch(); } void czy_wygrana() { if( map[ 1 ][ 1 ] = 3 && map[ 1 ][ 3 ] = 3 ) { if( map[ 1 ][ 5 ] = 3 ) { win(); } } } void ruch_gracza() { char ruch = getch(); switch( ruch ) { case '7': if( map[ 1 ][ 1 ] != 4 ) map[ 1 ][ 1 ] = 3; break; case '8': if( map[ 1 ][ 3 ] != 4 ) map[ 1 ][ 3 ] = 3; break; case '9': if( map[ 1 ][ 5 ] != 4 ) map[ 1 ][ 5 ] = 3; break; case '4': if( map[ 3 ][ 1 ] != 4 ) map[ 3 ][ 1 ] = 3; break; case '5': if( map[ 3 ][ 3 ] != 4 ) map[ 3 ][ 3 ] = 3; break; case '6': if( map[ 3 ][ 5 ] != 4 ) map[ 3 ][ 5 ] = 3; break; case '1': if( map[ 5 ][ 1 ] != 4 ) map[ 5 ][ 1 ] = 3; break; case '2': if( map[ 5 ][ 3 ] != 4 ) map[ 5 ][ 3 ] = 3; break; case '3': if( map[ 5 ][ 5 ] != 4 ) map[ 5 ][ 5 ] = 3; break; } } void draw_map() { for( int i = 0; i < 6; i++ ) { for( int j = 0; j < 6; j++ ) { switch( map[ i ][ j ] ) { case 0: cout << " "; break; case 1: cout << "|"; break; case 2: cout << "-"; break; case 3: cout << "X"; break; case 4: cout << "0"; break; } } cout << endl; } { } } };
int main() { Game g; for(;; ) { system( "cls" ); g.draw_map(); g.ruch_gracza(); g.czy_wygrana(); } return 0; }
Czy moge zrobic tym pierwszym sposobem w jakis sposob? PS:Sorry za blad w nazwie tematu ;p |
|
SeaMonster131 |
» 2012-09-18 15:05:19 = to operator przypisania == to operator porównania.. |
|
DzieckoBezZycia Temat założony przez niniejszego użytkownika |
» 2012-09-18 15:10:21 Taka mala pomylka ;p. Dzieki |
|
DzieckoBezZycia Temat założony przez niniejszego użytkownika |
» 2012-09-18 15:58:55 Czemu program sam się zamyka po okolo 16 sekundach? #include <iostream> #include <conio.h> #include <windows.h> #include <time.h>
using namespace std;
int score_pc = 0, score_player = 0, xd;
int map[ 6 ][ 6 ] { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 2, 1, 2, 1, 2, 0, 0, 1, 0, 1, 0, 0, 2, 1, 2, 1, 2, 0, 0, 1, 0, 1, 0 };
class Game { public: void reset_map() { map[ 1 ][ 1 ] = 0; map[ 1 ][ 3 ] = 0; map[ 1 ][ 5 ] = 0; map[ 3 ][ 1 ] = 0; map[ 3 ][ 3 ] = 0; map[ 3 ][ 5 ] = 0; map[ 5 ][ 1 ] = 0; map[ 5 ][ 3 ] = 0; map[ 5 ][ 5 ] = 0; } void win() { score_player++; reset_map(); } void noob() { score_pc++; reset_map(); } void wygrana_kompa() { if( map[ 1 ][ 1 ] == 4 && map[ 1 ][ 3 ] == 4 && map[ 1 ][ 5 ] == 4 ) noob(); if( map[ 3 ][ 1 ] == 4 && map[ 3 ][ 3 ] == 4 && map[ 3 ][ 5 ] == 4 ) noob(); if( map[ 5 ][ 1 ] == 4 && map[ 5 ][ 3 ] == 4 && map[ 5 ][ 5 ] == 4 ) noob(); if( map[ 1 ][ 1 ] == 4 && map[ 3 ][ 1 ] == 4 && map[ 5 ][ 1 ] == 4 ) noob(); if( map[ 1 ][ 3 ] == 4 && map[ 3 ][ 3 ] == 4 && map[ 5 ][ 3 ] == 4 ) noob(); if( map[ 1 ][ 5 ] == 4 && map[ 3 ][ 5 ] == 4 && map[ 5 ][ 5 ] == 4 ) noob(); if( map[ 1 ][ 1 ] == 4 && map[ 3 ][ 3 ] == 4 && map[ 5 ][ 5 ] == 4 ) noob(); if( map[ 5 ][ 1 ] == 4 && map[ 3 ][ 3 ] == 4 && map[ 1 ][ 5 ] == 4 ) noob(); } void wygrana_gracza() { if( map[ 1 ][ 1 ] == 3 && map[ 1 ][ 3 ] == 3 && map[ 1 ][ 5 ] == 3 ) win(); if( map[ 3 ][ 1 ] == 3 && map[ 3 ][ 3 ] == 3 && map[ 3 ][ 5 ] == 3 ) win(); if( map[ 5 ][ 1 ] == 3 && map[ 5 ][ 3 ] == 3 && map[ 5 ][ 5 ] == 3 ) win(); if( map[ 1 ][ 1 ] == 3 && map[ 3 ][ 1 ] == 3 && map[ 5 ][ 1 ] == 3 ) win(); if( map[ 1 ][ 3 ] == 3 && map[ 3 ][ 3 ] == 3 && map[ 5 ][ 3 ] == 3 ) win(); if( map[ 1 ][ 5 ] == 3 && map[ 3 ][ 5 ] == 3 && map[ 5 ][ 5 ] == 3 ) win(); if( map[ 1 ][ 1 ] == 3 && map[ 3 ][ 3 ] == 3 && map[ 5 ][ 5 ] == 3 ) win(); if( map[ 5 ][ 1 ] == 3 && map[ 3 ][ 3 ] == 3 && map[ 1 ][ 5 ] == 3 ) win(); } void ruch_gracza() { char ruch = getch(); switch( ruch ) { case '7': if( map[ 1 ][ 1 ] != 4 ) map[ 1 ][ 1 ] = 3; break; case '8': if( map[ 1 ][ 3 ] != 4 ) map[ 1 ][ 3 ] = 3; break; case '9': if( map[ 1 ][ 5 ] != 4 ) map[ 1 ][ 5 ] = 3; break; case '4': if( map[ 3 ][ 1 ] != 4 ) map[ 3 ][ 1 ] = 3; break; case '5': if( map[ 3 ][ 3 ] != 4 ) map[ 3 ][ 3 ] = 3; break; case '6': if( map[ 3 ][ 5 ] != 4 ) map[ 3 ][ 5 ] = 3; break; case '1': if( map[ 5 ][ 1 ] != 4 ) map[ 5 ][ 1 ] = 3; break; case '2': if( map[ 5 ][ 3 ] != 4 ) map[ 5 ][ 3 ] = 3; break; case '3': if( map[ 5 ][ 5 ] != 4 ) map[ 5 ][ 5 ] = 3; break; } } void draw_map() { for( int i = 0; i < 6; i++ ) { for( int j = 0; j < 6; j++ ) { switch( map[ i ][ j ] ) { case 0: cout << " "; break; case 1: cout << "|"; break; case 2: cout << "-"; break; case 3: cout << "X"; break; case 4: cout << "0"; break; } } cout << endl; } } void czy_wygrana() { wygrana_kompa(); wygrana_gracza(); } };
int main() { Game g; for(;; ) { system( "cls" ); cout << "\n " << score_player << ":" << score_pc; cout << endl; g.draw_map(); g.ruch_gracza(); g.czy_wygrana(); } return 0; }
|
|
« 1 » |