• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C++ Builder wskazanie obiektu na konkretny obrazek

0 głosów
492 wizyt
pytanie zadane 21 stycznia 2016 w C i C++ przez adrianv Nowicjusz (150 p.)

Witam :) 
Piszę grę planszową w C++ Builder i zrobiłem klasę pionek coś takiego w skrócie
 

class Pionek
{

public:

         void poruszanie_pionka();
         void odkrywanie_karty();

};

następnie wstawiłem 3 obrazki i załadowałem tam obrazy pionków - czerwony,niebieski i żółty.

Później tworzę 3 obiekty:
 

Pionek p1,p2,p3;

p1.poruszanie_pionka();
p1.odkrywanie_kart();
p2.poruszanie_pionka();
p2.odkrywanie_kart();
p3.poruszanie_pionka();
p3.odkrywanie_kart();

i problem tu się zaczyna. Jak wskazać że p1 odpowiada za pionek np czerwony(czyli wskazuje dokładnie na ten obrazek z załadowanym pionkiem czerwonym) p2 wskazuje na niebieski, a p3 wskazuje na żółty? Z góry dziękuję :)

1 odpowiedź

+1 głos
odpowiedź 21 stycznia 2016 przez MetGang Nałogowiec (34,360 p.)
wybrane 21 stycznia 2016 przez adrianv
 
Najlepsza
std::string, enum, int, cokolwiek? Jakakolwiek zmienna, różna dla każdego koloru. A jeśli każdy pionek tego samego koloru korzysta z tego samego obrazka to możesz dać na niego wskaźnik (lecz wtedy też przydałoby się dać zmienną, za pomocą której rozróżnisz kolory). Trochę pomyślunku.
komentarz 21 stycznia 2016 przez adrianv Nowicjusz (150 p.)
No ale jak int albo string ? Chodzi o to że obiekt p1 ma wskazywać na pionek czerwony i ma go poruszyć. Mógłbyś sprostować bardziej łopatologicznie jak wykorzystać obiekt p1 aby wskazywał na Image z załadowanym obrazkiem? Bo na chwilę obecną wciąż się z tym męczę.
Poznaję dopiero C++ builder więc proszę o szczyptę wyrozumiałości :P
komentarz 21 stycznia 2016 przez MetGang Nałogowiec (34,360 p.)
class Pionek
{
public:
    TImage* mp_Img;

    Pionek() : mp_Img(new TImage)
    {
        // tutaj za pomocą new tworzysz nowy TImage i wczytujesz obrazek
        // lub przesyłasz do konstruktora const TImage& i przypisujesz do wskaźnika jego adres
    }
}

Coś w tym stylu, w Pionku po prostu dajesz wskaźnik na nowy lub istniejący już obrazek. A ten int, std::string, enum to żeby rozróżnić kolory. Np:

std::string m_Color;

Pionek() { m_Color="red"; }

 

Podobne pytania

0 głosów
2 odpowiedzi 1,457 wizyt
pytanie zadane 7 listopada 2017 w C i C++ przez antek782 Początkujący (490 p.)
0 głosów
1 odpowiedź 2,100 wizyt
0 głosów
1 odpowiedź 667 wizyt

93,742 zapytań

142,680 odpowiedzi

323,299 komentarzy

63,329 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...