Jak sprawdzać, czy przedmiot znajduje się w już w jakiejś skrzyni?

0

Załóżmy, że chcę napisać grę RPG. Każdy przedmiot w grze, to osobny obiekt. Jak można "powkładać" przedmioty do skrzyń? Jak sprawdzać, czy dany obiekt nie znajduje się w innej skrzyni?

Myślałem, żeby zrobić to tak:
Na przykład ustawiam wskaźnik na przedmiot znajdujący się w obiekcie typu Skrzynia na obiekt typu Przedmiot. Jak potem sprawdzić, czy dany przedmiot jest przypisany do innej skrzyni?
http://imageshack.us/photo/my-images/35/szkicp.png/

0

Dorób przedmiotom wskaźnik na skrzynię. Jak wskazuje na null to znaczy że nie ma go w żadnej. A jak w którejś jest to pokaże na konkretną skrzynię.

0

Tylko wtedy metoda klasy Skrzynia, która umieszcza ustawia wskaźnik na Przedmiot, będzie musiała zmieniać dane obiektu typu Przedmiot.

0
darek40bc napisał(a):

Tylko wtedy metoda klasy Skrzynia, która umieszcza ustawia wskaźnik na Przedmiot, będzie musiała zmieniać dane obiektu typu Przedmiot.
no jeśli tak to sobie zaprojektowałeś, że "skrzynia" umieszcza przedmiot w skrzyni (głupie nie?) to znaczy, że wpływa na stan tego obiektu :]

0

A nie lepiej, aby skrzynia przechowywała wskazniki na przedmioty, które są rzekomo w niej?

0
gswidwa napisał(a):

A nie lepiej, aby skrzynia przechowywała wskazniki na przedmioty, które są rzekomo w niej?

To też będzie musiał zrobić, ale "obok" wskaźnika na skrzynię w przedmiocie a nie zamiast. W końcu do skrzyń się generalnie zagląda, więc tego typu lista będzie niezbędna. Swoją drogą wskaźnik przedmiotu na skrzynię w której się znajduje będzie pewnie tylko w przedmiotach "unikalnych" np potrzebnych do wykonania jakiegoś questa, bo "zwykłe" przedmioty jak to w cRPG przyjęto będą się prawdopodobnie walały po skrzyniach wszelakich tysiącami, wiec sprawdzanie czy są w jakiejś innej nie będzie miało sensu.

0

Nie możesz po prostu zrobić tak jak napisał @gswidwa ?
W skrzyni przechowujesz listę przedmiotów które się w niej znajdują po wyciągnięciu/dodaniu zmieniasz stan tej listy...
A każda skrzynia będzie osobną instancją obiektu.

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