Maly balagan w takiej grze ... 
Ostatnio zmodyfikowano 2012-02-01 17:37
| tomcionek15 Temat założony przez niniejszego użytkownika | Maly balagan w takiej grze ...  » 2012-01-31 19:33:50 #include <iostream>#include <conio.h>
 #include <string>
 #include <cstdlib>
 #include <time.h>
 
 using namespace std;
 
 char gracz1 = 'X';
 char gracz2 = 'O';
 char pole[ 24 ] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
 int uzyl;
 int ruch1;
 int ruch2;
 int wc1;
 int wc2;
 
 
 void gra();
 int losuj();
 
 int main()
 {
 if( uzyl == 0 )
 {
 ruch1 = losuj();
 wc1 = ruch1;
 cout << "Teraz kolej gracza : " << gracz1;
 cout << endl << "Wylosowales liczbe : " << ruch1 << " .\n\n";
 uzyl++;
 }
 else if( uzyl != 0 )
 {
 ruch2 = losuj();
 cout << "Teraz kolej gracza : " << gracz2;
 cout << endl << "Wylosowales liczbe : " << ruch2 << " .\n\n";
 uzyl--;
 }
 gra();
 getch();
 
 }
 
 int losuj()
 {
 srand( time( NULL ) );
 return rand() % 30 + 1;
 }
 
 void gra()
 {
 pole[ ruch1 ] = gracz1;
 pole[ ruch2 ] = gracz2;
 if( pole[ ruch1 ] == pole[ ruch2 ] )
 {
 pole[ ruch1 ] = 'B';
 }
 else if(( pole[ ruch1 ] || pole[ ruch2 ] ) < pole[ 23 ] )
 {
 cout << "Gracz jakis tam wygral";
 }
 if( pole[ 23 ] == pole[ ruch1 ] || pole[ 23 ] == pole[ ruch2 ] )
 {
 cout << "\n\n Gracz wygral";
 }
 cout << endl << "[ " << pole[ 0 ] << " ] [ " << pole[ 1 ] << " ] "
 << "[ " << pole[ 2 ] << " ] [ " << pole[ 3 ] << " ] "
 << "[ " << pole[ 4 ] << " ] [ " << pole[ 5 ] << " ] "
 << endl << "[ " << pole[ 6 ] << " ] [ " << pole[ 7 ] << " ] "
 << "[ " << pole[ 8 ] << " ] [ " << pole[ 9 ] << " ] "
 << "[ " << pole[ 10 ] << " ] [ " << pole[ 11 ] << " ] "
 << endl << "[ " << pole[ 12 ] << " ] [ " << pole[ 13 ] << " ] "
 << "[ " << pole[ 14 ] << " ] [ " << pole[ 15 ] << " ] "
 << "[ " << pole[ 16 ] << " ] [ " << pole[ 17 ] << " ] "
 << endl << "[ " << pole[ 18 ] << " ] [ " << pole[ 19 ] << " ] "
 << "[ " << pole[ 20 ] << " ] [ " << pole[ 21 ] << " ] "
 << "[ " << pole[ 22 ] << " ] [ " << pole[ 23 ] << " ] \n\n\n\n\n";
 if( uzyl == 1 )
 {
 if( ruch1 == 1 )
 {
 cout << "Przesuwasz sie o: " << ruch1 << " pole";
 }
 else if( ruch1 > 1 && ruch1 < 5 )
 {
 cout << "Przesuwasz sie o: " << ruch1 << " pola";
 }
 else if( ruch1 > 4 )
 {
 cout << "Przesuwasz sie o: " << ruch1 << " pol";
 }
 }
 else if( uzyl != 1 )
 {
 if( ruch2 == 1 )
 {
 cout << "Przesuwasz sie o: " << ruch2 << " pole";
 }
 else if( ruch2 > 1 && ruch2 < 5 )
 {
 cout << "Przesuwasz sie o: " << ruch2 << " pola";
 }
 else if( ruch2 > 4 )
 {
 cout << "Przesuwasz sie o: " << ruch2 << " pol";
 }
 }
 
] Narazie prosze sie nie czepiac o kod. Jestem taki srednio-nowicjusz :/ Mam takie pytanka i problemy. -Jak zapisac poprzedni ruch czyli jak gracz (nie czepiac sie o 'uzyl':P)  wykona ruch to z pola[0] przechodzi na pole[ruch1] czyli jak gracz wylosuje 5 to przechodzi na pole[5] a jak potem bedzie znowu kolej gracza X to jak zrobic zeby pokazywalo, wc1 to wczesniejsze pole gracza 1 a wc2 gracza2 : cout << "Przesuwasz sie z pola nr " << wc1 << " ma pole nr " << ruch1;
I tak ten kod jeest pewnie zly | 
|  | 
| kamillo121 | » 2012-02-01 10:46:16 Po prostu zapisuj do jakiegoś agregatu ruchy poszczególnych graczy(np do jednego czy dwóch wstecz). W zależności od gracza do takiego ID struktury zapisujesz ruch np: std::cout << "ruch z pola: " << tablica[ gracz_id ] << " na " << gracz_ruch;
 
 tablica[ gracz_id ] = gracz_ruch
 
 | 
|  | 
| hincu | » 2012-02-01 11:16:01 jesli czytales juz o strukturach/klasach to ich uzyj sporo ulatwi tobie to prace przyklad takiej struktury struct Player{
 char PlayerID;
 int PosX;
 int PosY;
 int MaxHP
 (...)
 
 void Move();
 };
 | 
|  | 
| tomcionek15 Temat założony przez niniejszego użytkownika | » 2012-02-01 17:37:11 Struktury znam, ale nie zrozumialem cb kamil ;/ ;D | 
|  | 
| « 1 » |