Pomoc w realizacji projektu ruletki w c++

0

Witam. Jestem studentem PG. Dostałem do zrobienia projekt który zakłada realizację gry: ruletka w języku c++. Jestem laikiem jeżeli chodzi o programowanie. Zacząłem bawić się kodem dopiero na studiach.
Mam parę problemów z tym projektem mianowicie.
Wytyczne jakie dostałem zakładają narysowanie układu stołu w konsoli. Ok potrafiłbym to zrobić za pomocą instrukcji " cout " . Nie ma problemu jest trochę zabawy ale dałbym radę.
Tylko, że później jak czytam, gracz po dokonaniu wyboru zakładu i pól/pola jaki obstawia mają mu się one wyświetlać na stole do gry.
Dla przykładu: Gracz dokonuję zakładu : " Split-bet" - czyli wybiera dwa pola obok siebie i ma się mu wyświetlać coś takiego:

+-----------+------------+
| 2 X 3 |
+-----------+------------+
Znakiem X oznaczono zakład dokonany przez gracza.

Dodatkowo gracz w swojej turze może dokonać tyle zakładów na ile pozwalają mu żetony,

Wszystkie zakłady przyjęte. Wyniki losowania mają być zaznaczone na polu/stole do gry.

Jak niby miałbym to zrobić. Utworzyć tablicę i po prostu ją wypisać ? Tylko że jak później manipulować graficznie przy wypisywaniu tej tablicy ? Jak odróżnić od siebie pola czarne i czerwone ?
Układ stołu ma przypominać coś takiego : user image

0

Nie napisałeś z czym konkretnie masz problem, nie napisałeś co już masz więc napiszę od początku. To co napiszę to bardzo ogólny zarys i szkic, jeden z wielu możliwych. Napiszę od czego możesz zacząć ale efekt końcowy może być skrajnie różny. Zgaduję, że to jak próbujesz rozwiązać problem w swojej głowie jest powiązane z "event driver solution", natomiast najprościej zacząć będzie pisząc pętlę i sprawdzając zdarzenia. Poniżej pseudokod - brudny, ale chodzi o to żebyś dobrze mnie zrozumiał.

while(true)
{
    DrawTable(neededDataForDraw);

    if(finishThisShit)
    {
        break;
    }
}

Teraz dodaj sobie sprawdzenie jakiegokolwiek zdarzenia.

while(true)
{
    DrawTable(neededDataForDraw);
     
    if(PlayerGambledALittle())
    {
         UpdateDataForDraw();
    }
   
    if(finishThisShit)
    {
        break;
    }
}

I tak możesz sobie dokładać aż skodzisz wszyskie zdarzenia. Gdy już to będzie działać zdasz sobie sprawę, że działać może i działa ale coś Ci mruga nieprzyjemnie a kod wygląda jak g**no. Wtedy możesz się zabrać za drugi etap czyli za optymalizację i refaktoryzację.

Jeśli chodzi o sposób trzymania danych to mogą to być tablice, wektory, mapy cokolwiek. Jak widze screen stołu to najprostszym i chyba najbardziej intuicyjnym rozwiązaniem byłaby tablica dwuwymiarowa - myślę na razie tylko o rozkładzie żetonów. Ta tablica mogła by być wypełniona strukturą przechowującą dwa pola - numer i kolor żetonu. Nie wiem czy wiesz ale tekst w konsoli w windowsie możesz kolorować i chyba jest na to kilka sposobów. Jak pogooglasz na pewno znajdziesz.

0

Witam. udało się komuś to napisać i chciałby się podzielić swoim rozwiązaniem, bo nie ogarniam tego a dostałem identyczne rozwiązanie.

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