Closed mm4tt closed 11 years ago
Stefan, wyjdź od brancha i003 i jak skończysz, to zmerguj znowu do i003. To będzie punkt wyjścia dla pozostałych
To samo dotyczy bomb
Jak i klasy Explosion
Poprawka: Wyjdź od brancha mojego taska i003_z004_2( o ile nie będzie już zmergowany do brancha iteracji) Poprawiłem tam wyświetlanie, tak żeby było możliwe zmiana wielkości mapy i wielkości kafalek.
Kolejna rzecz. Wywal to całe płynne ruszanie się wrogów. Mieszasz model silnika z wyświetlaniem, przez to inne osoby mają problemy z akcelerometrem czy modyfikatorami. GameObject.position reprezentuje, na której kafelce znajduje się obiekt. Nie ma stanów pośrednich.
Zrób to na razie tak, żeby "skakał" po tych kafelkach, bez płynności. Wtedy wszystko będzie spójne i dużo, dużo prostsze.
Jak będziesz chciał dodać płynność ruchu, to jest zdanie warstwy grafiki(wyświetlania). Powinno się to zrobić przez odpowiednią animację, bez naruszania modelu silnika. Napisz do mnie to opiszę Ci jak to można zrobić
Stefan użyłeś goto . Nie wiedziałem, że sie tego używa. Myślałem, że to jest kiepska praktyka programistyczna
W dniu 4 maja 2013 11:27 użytkownik IIUJ-MateuszMatejczyk < notifications@github.com> napisał:
Kolejna rzecz. Wywal to całe płynne ruszanie się wrogów. Mieszasz model silnika z wyświetlaniem, przez to inne osoby mają problemy z akcelerometrem czy modyfikatorami. GameObject.position reprezentuje, na której kafelce znajduje się obiekt. Nie ma stanów pośrednich.
Zrób to na razie tak, żeby "skakał" po tych kafelkach, bez płynności. Wtedy wszystko będzie spójne i dużo, dużo prostsze.
Jak będziesz chciał dodać płynność ruchu, to jest zdanie warstwy grafiki(wyświetlania). Powinno się to zrobić przez odpowiednią animację, bez naruszania modelu silnika. Napisz do mnie to opiszę Ci jak to można zrobić
Reply to this email directly or view it on GitHubhttps://github.com/bbsszz/yapg/issues/13#issuecomment-17430403 .
Pozdrawiam, Maciej Zgliczyński
Tu muszę wziąć w obronę Stefana, ja też użyłem goto. Nie jest to zła praktyka, w jednej sytuacji - wychodzenia z zagnieżdżonej pętli. Dlatego też w java ( i widocznie C#) zachowała goto, które jest dozwolone właśnie jedynie przy pętli. Zamiast ifować na każdym poziomie pętli warunek zakończenia lub rzucać wyjątkiem (bo takie rozwiązanie też widziałem), używa się goto. Jest to jedyny uzasadniony przypadek użycia goto.
Rozumiem jeżeli masz 4 zagnieżdżone for-y i chesz wrócić na poziomy 2 to można to robić goto. Ale w waszych przypadkach return zrobił by to samo. W twoim akurt to samo a w Stefana wystarczyła by return FunkcjaKtoraRobiToSamoCoToPoGoto(jakies parametry)
A co do wykorzystywania w javie : http://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
Dobra sprawa gutsutu. Ja byłem w szoku. Nauczyłem się czegoś nowego.
W dniu 4 maja 2013 11:54 użytkownik Maciej Puczkowski < notifications@github.com> napisał:
Tu muszę wziąć w obronę Stefana, ja też użyłem goto. Nie jest to zła praktyka, w jednej sytuacji - wychodzenia z zagnieżdżonej pętli. Dlatego też w java ( i widocznie C#) zachowała goto, które jest dozwolone właśnie jedynie przy pętli. Zamiast ifować na każdym poziomie pętli warunek zakończenia lub rzucać wyjątkiem (bo takie rozwiązanie też widziałem), używa się goto. Jest to jedyny uzasadniony przypadek użycia goto.
Reply to this email directly or view it on GitHubhttps://github.com/bbsszz/yapg/issues/13#issuecomment-17430702 .
Pozdrawiam, Maciej Zgliczyński
Poprawiłem działanie duszków i bomb. Bomby mają teraz jeszcze większe konstruktory bo z zasięgiem. Wszystkie współrzędne są zapisywane w polu Position. W sumie jeśli chodzi o moje klasy, to pola x i y z GameObject można nawet wyrzucić. Zastanawiałem się, czy nie wstawić Position do GameObject, ale póki co zostawiłem jak jest. O, i nie ma już goto :dancers:
W klasie enemy współrzędne odpowiadają współrzędnym na ekranie. Takie rozwiązanie jest:
Należy przepisać klasę Enemy, tak by Vector position zawierał położenie w silniku (w sensie, współrzędne kafelka-bloku), a nie współrzędne na ekranie