Wpis z mikrobloga

mam objekt jabłko i jak mój wąż w gierce je zje to chciałbym, żeby znikło i ono się gdzie indziej.
czy mogę je jakoś od nowa zainicjować bez usuwania obiektu i tworzenia takiego samego?
tak po prostu użyć "konstruktora" dla tego obiektu.

#python #naukaprogramowania

  • 7
czy mogę je jakoś od nowa zainicjować bez usuwania obiektu i tworzenia takiego samego?


@jakuzii: Generalnie z tego co wiem, to obiekty w tego typu gierkach powinno sie tworzyc przed zaincjalizowaniem sesji gracza, tak zeby nie tracic czasu na generowanie go. Wstaw po prostu obiekt poza pole widoczne dla usera.
@less_is_more: @zarev
znaczy ja chce:
1. stworzyc jablko
2. jablko w konstruktorze ma nadawane losowe koordynaty (gra snake:>)
3. jak wąż zje jablko uzyc konstruktora ktory nada nowe losowe koordynaty
chyba, że to nieoptymalne czy coś to zrobię inaczej
@jakuzii: jesli nie chcesz tworzyc nowego - nie prosciej zrobic metody np
Zjedz()
Przesun()
I jak gracz zje jablko - naliczyc punkty/wydluzyc weza i po prostu ten sam obiekt przesunac w nowe miejsce?
@jakuzii: Myśląc obiektowo to koordynaty nie przynależą do obiektu Jabłko. Powinieneś mieć obiekt Plansza, który przechowuje zbiór obiektów i dla każdego obiektu informację o jego położeniu oraz metody umożliwiającą ich dodawanie (w losowych miejscach) i usuwanie.

Nie próbuj recyklingować obiektów. Jak dodajesz nowe jabłko na planszę, to jest to nowe jabłko. Nowy obiekt. A jak wąż je zje, to usuwasz je z planszy.

Metoda __new__ to konstruktor, __init__ działa na już