Kółko Krzyżyk Gra konsolowa.
Ostatnio zmodyfikowano 2012-11-07 20:10
kruku13 Temat założony przez niniejszego użytkownika |
Kółko Krzyżyk Gra konsolowa. » 2012-11-07 00:14:55 Witam, robię gra konsolową kółko krzyżyk z tym że nie taką standardową tylko na więcej pól. Mam jeden problem nie wiem jak zabrać się aby program sprawdzał który gracz wygrał. Myślę aby zrobić na tablicach, z tym że nie wiem jak za bardzo się zabrać. Gdy by ktoś mógł mnie nakierować na dobrą drogę, albo wytłumaczyć coś nie coś był bym wdzięczny Poniżej kod źródłowy: #include <iostream> #include <conio.h> #include <stdio.h> #include <windows.h> #include <ctime> #include <string>
using namespace std;
int x = 11, y = 11, a = 1, i, n, p = 1, oy = 0, ox = 0;
int asd = 0; int r[ 1000 ], q[ 1000 ];
int gotoxy( int x, int y ) { COORD coord; coord.X = x; coord.Y = y; SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), coord ); }
int plansza() { for( i = 0; i < 21; i++ ) { for( n = 0; n < 21; n++ ) { if( i % 2 == 0 ) cout << "-"; else if( n % 2 == 0 || i % 2 == 0 && i % 2 == 0 ) cout << "|"; else cout << " "; } cout << endl; } }
int kursor() { gotoxy( x, y ); cout << ""; }
int O() { cout << "O"; }
int X() { cout << "X"; }
int napis() { gotoxy( 30, 5 ); cout << "Gra Kolko i krzyzyk \n"; gotoxy( 30, 7 ); if( p == 1 ) { cout << "Kolejka Gracza nr.1" << endl; } else if( p == 2 ) { cout << "Kolejka Gracza nr.2" << endl; } }
int main() { char c; int a = 1, n; plansza(); do { pomin: napis(); kursor(); c = getch(); switch( c ) { case 'w': y = y - 2; break; case 's': y = y + 2; break; case 'a': x = x - 2; break; case 'd': x = x + 2; break; case ' ': if( p == 1 ) { for( int u = 0; u <= asd; u++ ) { if( x == r[ u ] && y == q[ u ] ) goto pomin; } O(); p++; } else if( p == 2 ) { for( int u = 0; u <= asd; u++ ) { if( x == r[ u ] && y == q[ u ] ) goto pomin; } X(); p--; } r[ asd ] = x; q[ asd ] = y; asd++; } gotoxy( x, y ); } while( a == 1 ); } Wstawiaj kody, a nie linki do nich - xevuel |
|
|
DejaVu |
» 2012-11-07 01:07:43 Zacznij od zrobienia zwykłego kółka i krzyżyk - jak nie masz pojęcia jak się zabrać to zdobywanie doświadczenia na prostszych projektach jest wskazane. |
|
kruku13 Temat założony przez niniejszego użytkownika |
» 2012-11-07 08:46:45 Zwykłe wiem jak zrobić. Plansza składa się tylko z 9 pól i wtedy nie ma problemu z sprawdzeniem który gracz wygrał, problem zaczyna się gdy jest to kwadrat o wymiarach np 20x20. |
|
DejaVu |
» 2012-11-07 12:57:37 Skoro tak to znaczy, że nie zrobiłeś sprawdzania rozwiązań za pomocą pętli, tylko wpisałeś ręcznie wszystkie możliwe kombinacje. |
|
crash |
» 2012-11-07 20:10:57 W twoim przypadku musisz przeszukać tablicę T[x][y] po przekątnych, w pionie, poziomie w poszukiwaniu trzech takich samych wartości. Ustawienia wstępne: tablica typu char, każdy element na '0'. Gracz 1 w polu (x,y) - dane pole T[x][y] ustawiasz na 1, analogicznie gracz 2. Co ruch - przetrzepanie tablicy :)
W ramach testów zrób sobie fikcyjne ruchy i sprawdzaj swój algorytm szukania. |
|
« 1 » |