[Konsola] Rozsuwająca się plansza przy grze w kółko i krzyżyk
Ostatnio zmodyfikowano 2013-03-21 22:30
David Temat założony przez niniejszego użytkownika |
[Konsola] Rozsuwająca się plansza przy grze w kółko i krzyżyk » 2013-03-21 21:42:57 Potrzebuje małej pomocy, ewentualnie wskazania błędu mojego rozumowania, chciałem napisać grę w kółko i krzyżyk w wersji pvp, niestety podczas gry przy wybraniu innego pola niż 1 plansza się "rozsuwa". Moglibyście mi pomóc? :) #include<iostream> using namespace std;
char tab[ 5 ][ 5 ]; int poziom = 196; int pion = 179; bool gracz = true;
void plansza(); void ruch(); void rysowanie();
int main() { plansza(); ruch(); system( "PAUSE" ); return 0; }
void plansza() { for( int i = 0; i < 5; i++ ) { for( int j = 0; j < 5; j++ ) { if( i % 2 == 0 && j % 2 == 0 ) cout <<( tab[ i ][ j ] = ' ' ); if( i % 2 == 1 ) cout <<( tab[ i ][ j ] = poziom ); if( i % 2 == 0 && j % 2 == 1 ) cout <<( tab[ i ][ j ] = pion ); } cout << endl; } } void rysowanie() { for( int i = 0; i < 5; i++ ) { for( int j = 0; j < 5; j++ ) { if( i % 2 == 0 && j % 2 == 0 ) { if( tab[ i ][ j ] != ' ' ) { } else cout <<( tab[ i ][ j ] = ' ' ); } if( i % 2 == 1 ) cout <<( tab[ i ][ j ] = poziom ); if( i % 2 == 0 && j % 2 == 1 ) cout <<( tab[ i ][ j ] = pion ); } cout << endl; } } void ruch() { for( int postep = 0; postep < 9; postep++ ) { cout << "Podaj pole: "; unsigned int pole = 0; cin >> pole; system( "cls" ); if( pole < 1 || pole > 9 ) { cout << "Bledne pole!"; _sleep( 1500 ); system( "cls" ); } if( gracz == true ) { if( pole == 1 ) cout <<( tab[ 0 ][ 0 ] = 'X' ); if( pole == 2 ) cout <<( tab[ 2 ][ 0 ] = 'X' ); if( pole == 3 ) cout <<( tab[ 4 ][ 0 ] = 'X' ); if( pole == 4 ) cout <<( tab[ 0 ][ 2 ] = 'X' ); if( pole == 5 ) cout <<( tab[ 2 ][ 2 ] = 'X' ); if( pole == 6 ) cout <<( tab[ 4 ][ 2 ] = 'X' ); if( pole == 7 ) cout <<( tab[ 0 ][ 4 ] = 'X' ); if( pole == 8 ) cout <<( tab[ 2 ][ 4 ] = 'X' ); if( pole == 9 ) cout <<( tab[ 4 ][ 4 ] = 'X' ); gracz = false; } else { if( pole == 1 ) cout <<( tab[ 0 ][ 0 ] = 'O' ); if( pole == 2 ) cout <<( tab[ 2 ][ 0 ] = 'O' ); if( pole == 3 ) cout <<( tab[ 4 ][ 0 ] = 'O' ); if( pole == 4 ) cout <<( tab[ 0 ][ 2 ] = 'O' ); if( pole == 5 ) cout <<( tab[ 2 ][ 2 ] = 'O' ); if( pole == 6 ) cout <<( tab[ 4 ][ 2 ] = 'O' ); if( pole == 7 ) cout <<( tab[ 0 ][ 4 ] = 'O' ); if( pole == 8 ) cout <<( tab[ 2 ][ 4 ] = 'O' ); if( pole == 9 ) cout <<( tab[ 4 ][ 4 ] = 'O' ); gracz = true; } rysowanie(); } }
|
|
pekfos |
» 2013-03-21 22:13:12 if( pole == 1 ) cout <<( tab[ 0 ][ 0 ] = 'O' );
if( tab[ i ][ j ] != ' ' ) { } else cout <<( tab[ i ][ j ] = ' ' );
Zastanów się nad sensem tych fragmentów (nad sensem wypisywania w pierwszym fragmencie i sensem przypisania w drugim). |
|
David Temat założony przez niniejszego użytkownika |
» 2013-03-21 22:30:08 Dobra, bardzo dziękuje przeanalizuje jeszcze raz te fragmenty. |
|
« 1 » |