Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Maly balagan w takiej grze ...

Ostatnio zmodyfikowano 2012-02-01 17:37
Autor Wiadomość
tomcionek15
Temat założony przez niniejszego użytkownika
Maly balagan w takiej grze ...
» 2012-01-31 19:33:50
C/C++
#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 :
C/C++
cout << "Przesuwasz sie z pola nr " << wc1 << " ma pole nr " << ruch1;

I tak ten kod jeest pewnie zly

P-49905
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:

C/C++
std::cout << "ruch z pola: " << tablica[ gracz_id ] << " na " << gracz_ruch;

//po wykonaniu ruchu gracza
tablica[ gracz_id ] = gracz_ruch
P-49936
hincu
» 2012-02-01 11:16:01
jesli czytales juz o strukturach/klasach to ich uzyj sporo ulatwi tobie to prace

przyklad takiej struktury

C/C++
struct Player
{
    char PlayerID;
    int PosX;
    int PosY;
    int MaxHP
    (...)
   
    void Move();
};
P-49938
tomcionek15
Temat założony przez niniejszego użytkownika
» 2012-02-01 17:37:11
Struktury znam, ale nie zrozumialem cb kamil ;/ ;D
P-49954
« 1 »
  Strona 1 z 1