Gra planszowa

0

Cześć. Od razu mówię, że jestem początkujący. Muszę napisać grę planszową. Czy moglibyście powiedzieć mi od czego najlepiej zacząć ? Nie mogę ułożyć sobie planu, co robić po kolei. Gra musi otwierać się jedynie w okienku.

Gra planszowa. Plansza składa się z 36 pól (6x6). W grze bierze udział dwóch graczy.
Początkowo każdy z graczy zaczyna z 12 stosami ułożonymi jak na rys. 1. Liczba nad stosem oznacza
jego wysokość.
W swojej turze każdy gracz musi wykonać jeden z poniższych ruchów:

  1. Zwiększyć wysokość swojego, dowolnie wybranego stosu o jeden
  2. Przesunąć stos na sąsiednie pole (w poziomie, pionie lub na skos)
  3. Zbić stos przeciwnika (w poziomie, pionie lub na skos) przesuwając na to miejsce swój
    stos. Bicie jest możliwe tylko gdy bity stos jest dokładnie o jeden mniejszy.
    Wygrywa gracz który przemieści swój stos o wysokości 1 na przeciwległy koniec planszy. Jeśli gracz
    nie posiada żadnego stosu o wysokości 1 – przegrywa.
    W załączniku jest plansza.
0

Czy moglibyście powiedzieć mi od czego najlepiej zacząć ?

Najlepiej od założenia projektu i skompilowania hello world. Samą grę implementujesz poprzez pętlę w której wykonujesz trzy główne czynności:

  1. Zbierasz input od graczy
  2. Aktualizujesz stan
  3. Renderujesz planszę w oparciu o zaktualizowany stan

Nic konkretniejszego Ci nie napiszę bo nie zadałeś żadnego konkretnego pytania.

0

@Songos: pytania na temat zadawał w postach, nie w komentarzach ;)

Czy powinienem tutaj zrobić najpierw samą ramkę złożoną z tych plusów i minusów ? Potem jak wsadzić tablicę do tej ramki ?

Narysowanie planszy i jej modyfikowanie bez zbierania wejścia od graczy to dobry start.

0

@several: Okej
Czyli narysuje plansze, potem mogę stworzyć tablicę ? Jeżeli tak, to w jaki sposób potem połączyć ten rysunek i tablicę ?

0

w jaki sposób potem połączyć ten rysunek i tablicę ?

Widzę masz problem natury abstrakcyjnej, nie ma żadnej specjalnej "rzeczy" o której nie wiesz, która w magiczny sposób łączy tablice z rysunkiem - po prostu zczytujesz w pętli wartość z tablicy i rysujesz planszę, masz tu prymitywny przykład:

#include <iostream>
#include <array>

void render(const std::array<size_t, 5> &arr)
{
  std::cout << std::string(30, '-') << "\n";
  
  for(size_t val : arr)
  {
    std::cout << std::string(2, ' ') << '|' << val << '|';
  }
  
  std::cout << "\n" << std::string(30, '-') << "\n";
}

int main()
{
    std::array<size_t, 5> arr{ 1,2,3,1,2};    
    render(arr);

    return 0;
}

Ten kod narysuje Ci jakieś tam graficzne wyjście bazując na tablicy, ten rysunek oczywiście nijak nie będzie przypominał to co sam musisz narysować, ale teraz Twoim zadaniem będzie tak zmodyfikować funkcję render żeby narysować Twoją planszę. Jak będziesz umiał narysować planszę wyświetlającą zawartość tablicy będziesz mógł pójść dalej, czyli modyfikować zawartość tablicy bazując na inpucie użytkownika.

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