Klasy - gra planszowa w C++

0

Witam,
Zaznaczam, że jestem dość początkującym i niestety z powodu choroby muszę ostro nadrabiać zaległości na uczelni po urlopie i nie każdy prowadzący jest taki miły...niestety :(

Mam do napisania program, który będzię grą planszową. Ogólnie nie jest to masakrycznie trudne ale mam jeden problem. Domyślnie program ma zawierać 3 klasy : gra, gracz, plansza

Ja mam problem z klasą plansza. Ta część programu na po pierwsze rysować planszę wyglądającą tak:

1
111
11111
1111111

Taką funkcję napisałem rzecz jasna. Problem jednak w tym, że muszę też napisać funkcję, której zadaniem będzie skreślenie odpowiednich kresek z odpowiedniego wiersza(można skreślać tylko z jednego wiersza, wygrywa ten kto skreśli ostatnią kreskę). Domyślam się, że skreślanie mogłoby się odbywać poprzez modyfikowanie wartości tablicy "stangry" ale nie mam pomysłu jak to zrobić. Dodatkowo założenie jest takie, że żadna z dunkcji nie przyjmuje wartości z klawiatury. Ona ma tylko skreślać (mowa o klasie "plansza"). Jest ktoś w stanie pomóc z forumowych speców od programowania? Oczywiście trzeba się pobawić z zwracaniem parametrów przez tą funkcję żeby to w ogóle działało ale ja dopiero nadrabiam zaległości z programowania i facet od obiektówki mi nie popuści :/. Ja wiem, że to ważne ale o wiele bardziej przeraża mnie matma którą muszę zaliczyć. Jest ktoś w stanie pomóc?

#include <iostream>

using namespace std;

class plansza
{

int stangry [4];

public:
plansza();
void wyswietl();
int skresl(int k, int r);
};

plansza::plansza()
{

stangry[0]=1;
stangry[1]=3;
stangry[2]=5;
stangry[3]=9;
}
int plansza::skresl(?????)
{

?????

}

void plansza::wyswietl()
{
for (int i=0; i< 4; i ++)
{
for (int j=0; j< stangry[i]; j++)
{
cout <<" | ";
}
cout<<endl;
}
int main()
{

plansza a;
a.wyswietl();
a.skresl();

return 0;
}

0

byłoby łatwiej ci pomóc, gdybyś jaśniej opisał zasady gry.

0

Zasady gry są takie:
Mamy planszę która wygląda tak jak poniżej:

1
111
11111
1111111

Każdy gracz może skreślić dowolną ilość kresek ale tylko w jednym rzędzie. Czyli np 4 kreski z czwartego rzędu. Gracze wykonują ruchy naprzemiennie. Wygrywa ten gracz, który skreśli ostatnią kreskę. W sumie to zasady też ogólnie było opisane w moim pierwszym poście :P.

0

Nie kumam, przecież ten kod nie jest wcale taki zły, a brakuje ci jednej linijki plansza[r] -= k; o.O Ewentualnie to skreśl mogłoby zwracać bool, mówiąc, czy się udało skreślić, czy nie (if( plansza[r] < k ) return false; plansza[r]-=k; return true;)

0

Ale czemu plansza[r] -= k; ma wpływać na konstruktor? Czy to ma być jako kod dla fukncji "skreśl" Czy ja jednak czegoś nie kumam:). Mogę prosić o wyjaśnienie?

0

A skąd funkcja ma np wiedzieć ile ma zmazać i w którym rzędzie skoro żadna z funkcji ma nie przyjmować wartości z klawiatury?

1 użytkowników online, w tym zalogowanych: 0, gości: 1