PasjaGSM.pl
  Jesteś w: Forum > Moja gierka


Moja gierka

Forum.PasjaGSM.pl » ...:Sprzęt:... » Nokia » DCT-3 » [DCT3] Modyfikacje HW i SW » NokiX » Programowanie » Moja gierka
Poprzedni temat «» Następny temat
Autor Wiadomość
 
seba123 
Expert
=)



Telefon: SE W810
Operator: Orange
Pomógł: 66 razy
Wiek: 26
Dołączył: 07 Kwi 2006
Posty: 1327
Skąd: Łódź
Wysłany: 2006-07-16, 17:52   Moja gierka

Pisze sobie swoją gierke - jaką to narazie nieważne. Powiedzmy są 2 kwadraty jeden na górze drugi na dole. Chodzi mi o to żeby z pierwszego wyszedł jakiś pixel (powiedzmy grafika imitująca strzał) i jeżeli dotknie tego drugiego kadratu to ten drugi znika. I jeszcze żeby zrobiuć żeby ten strzał leciał i w jaki sposób go uruchomić. A i mógł by ktoś mi wytłumaczyć o co chodzi w timerach.

Z góry wielkie dzięki!!

Pozdro.
^
 
  Skype
     
AdSense


grzesiek1711 
Starszyzna
heh 3x P????Team :P



Telefon: 3310+6600
Operator: Plus
Pomógł: 14 razy
Wiek: 30
Dołączył: 29 Sie 2004
Posty: 632
Skąd: prawie Koszalin
Wysłany: 2006-07-16, 18:19   

dobra, gierca to jakieś galaxy czy coś w tym stylu pewno :D

timery to taka ciekawa rzeczy która po upływie ustalonego czasu wysyła msg. Tzn w pewnym momencie aplikacji ustawiasz timer na 500ms i po 500ms od tego czasu dispatcher dostaje MSG (określoną przy deklaracji timera) i żeby się powtarzała ta procedurka non-stop to musisz od nowa ustawić timer (bo działa to jednorazowo).

co do zestrzeliwania to poszukaj gdy duckshoter chyba sander18 pisał takie coś, i tam były źródełka (przynajmniej cześciowe) i tam były rozpatrywane różne opcje wykrywania kolizji obiektów. Jak to tylko kwadraty to nie widzę problemu...mam współrzędne pixela mam współrzędne i wymiary kwadratu to jaki problem przy rysowaniu kolejnej klatki animacji sprawdzić czy ten pixel nie znajduje się przypadkiem w tym kwadracie (4 warunki). Jak są inne kształty to już gorzej i wałsnie taki problem był w duck shoterze bo kaczka nie była kwadratem :D i tam trzeba było odczytywać kolor pixela.

Wszystko zależy jak ma to wyglądać (czy ma być jakieś tło) bo jak nie tzn białe tło i dwa czarne kwadraty to w momencie rysowania tego pixela (posiku) można sprawdzić czy dane miejsce na którym będzie malowany nie ma koloru czarnego, jak ma to kolizja jak nie to rysuj dalej.

Przeglądnij też źródła breakera, tam jest taki bonus gdzie strzela się z tej rakietki i zapewne o taki efekt Ci chodzi jak tam jest (dokładnie)

Jest wiele róznych opcji rozwiązania tego problemu, napisz coś więcej to może jakoś Ci pomożemy...
_________________
Moja historia: Się męcz C25, Se dżem MC930, Nokia 3310,Nokia 3510i, Nokia 3650, Nokia 6600+Nokia 3310
a na pare dni były też 3210,3330, 5210, 3410, 6210, tak czy siak NOKIA RLZ :D
^
 
 
     
seba123 
Expert
=)



Telefon: SE W810
Operator: Orange
Pomógł: 66 razy
Wiek: 26
Dołączył: 07 Kwi 2006
Posty: 1327
Skąd: Łódź
Wysłany: 2006-07-16, 18:23   

Powiedzmy tak Galaxy to nie będzie coś ciekawszego :D tak wiem tam mam sobiue zobaczyć w źródłach ponga i breakera ale pogubiłem się i dlatego chcę żeby mi to ktoś tutaj wytłumaczył jak to zrobić.

[ Dodano: 2006-07-17, 14:36 ]
Moje pytania są takie:

Jak zrobić...
Żeby jedna grafika nie mogła wejść na drugą?
Żeby było płynne przesówanie (tak jak przesuwanie paletki w breakerze, że nie trzeba cały czas naciskać klawisza)?
Tak jak wcześniej pisałem żeby z jednego kwadratu wypuścić piskel i jak dotknie drugiego to tamten znika?
^
 
  Skype
     
MaximusResetus 
Wie co mówi
Shoot 'Em Up !



Telefon: 55,33,e398
Operator: Era
Pomógł: 3 razy
Wiek: 33
Dołączył: 23 Lip 2004
Posty: 456
Skąd: Nowy Sącz - okolice
Wysłany: 2006-09-03, 15:24   

Żeby było płynne przesówanie to trzeba uzyc tego co Yak opisał i funkcji która imituje powtarzanie naciskania tego samego klawisza.

A co do tego strzelania... Jak myślałem nad napisaniem Tanka to ja bym to zrobił tak:

Zakładam że biały oznacza wolną przestrzeń. W jakichś zmiennych mamy przechowywaną zmienną X Y pierwszego czołgu, oraz np Z w której przechowywany jest w którą stonę jest skierowany czołg (gdzie jest lufa :) ) Po nacisnięciu Fire w kierunku w którym ma zostać oddany strzał ja uzyłbym funkcji getpixel. Jesli nie ma nic, to jakaś tam zmienna odpowiadajaca za położenie pocisku +1 i znów getpixel czy jest coś przed nim i tak w koło.

Kiedy wkońcu funkcja getpixel zwróci wiadomość że z przodu coś jest wtedy pasuje sprawdzić co. W soim tanku chciałem kozystać z tablic 8 na 8 chyba gdzie każde pole tablicy odpowiadałoby za kwadrat 8x8 pix wyswietlacza.

No i tak: pocisk znajduje sie w położeniu xp,yp i wiemy że jeden pix przed nim np w położeniu xp,yp+1 coś jest. Obliczamy który kwadrat z tej tablicy mapy to jest i sprawdzamy co tam powinno być. Jezeli np ściana betonowa to pocisk znika, Jeśli ściana z cegieł to kasujemy jej kawałek poprzez wstawienie białego kwadratu w to miejsce, A jeśli z tablicy wynika że tam nie powinno być nic to znaczy się że jest tam wrogi czołg (no bo cóżby innego? :) ) i możemy go wykasować. i oczywiście wyłączyć pocisk żeby nie leciał dalej. Chyba że to bedzie jakiś ultra pocisk to niech se leci do końca mapy :)

Korde szkoda że ostatnio mam tak mało czasu bo tak mnie korci żeby tego tanka napisac... :)
_________________
http://www.kwitnaceogrody.pl - projektowanie ogrodów - aranżacje zieleni - realizacja nasadzeń
^
 
     
cieszak 
Starszy Użytkownik
100% Cieszaka



Telefon: HTC HD7
Operator: Orange
Pomógł: 17 razy
Wiek: 32
Dołączył: 01 Mar 2005
Posty: 247
Skąd: Olsztyn
Wysłany: 2006-09-03, 15:53   

W bombermanie z MADos'a zrobili to w troche prostrzy sposób. Jest kilka tablic: monsters, bombs, fires. I w nich są trzymane struktyry zawierające wspórzędne i jakieś inne opcje danego elementu, np bomby. co jakiś czas jest wywoływana funkcja sprawdzająca czy nie nastąpiła kolizja (funkcja po prostu oblicza po kolei czy któryś z elementów nie zderzył się z innym).

Można np. zrobić mapę (tablica dwuwymiarowa) w której bedziesz trzymać elementy statyczne tj wszelakiego typu mury, jakieś przeszkody. i oddzielne tablice dla elementów ruchomych. Później tylko sprawdzasz (odpowienio co z czym może sie zderzyć) co sie zderzyło z czym. Trzeba pamiętać o tym że przy zderzeniach (najczęściej) trzeba sprawdzać wszystkie cztery "rogi" oddzielnie (tj czy lewy-górny sie zderzył z czymś, czy prawy-górny itd).
_________________
http://cieszak.eu
CrystalCode Studio - aplikacje, strony www, urządzenia elektroniczne, pomoc techniczna, konsultacje
^
 
 
  Skype
     
logos2000 
VIP
technik informatyk



Telefon: 3110c
Operator: Heyah
Pomógł: 59 razy
Wiek: 31
Dołączył: 06 Lip 2004
Posty: 2796
Skąd: Gorzów Wlkp.
Wysłany: 2006-09-03, 16:04   

cieszak, a no wlasnie w modosie ktos zaczal bobmera, moze zajmiesz sie tym?? :D
_________________
Darmowe doładowania komorek na karte - blue.pl
^
 
     
cieszak 
Starszy Użytkownik
100% Cieszaka



Telefon: HTC HD7
Operator: Orange
Pomógł: 17 razy
Wiek: 32
Dołączył: 01 Mar 2005
Posty: 247
Skąd: Olsztyn
Wysłany: 2006-09-03, 16:12   

ciiiii, już się zająłem, ale to tajemnica :D
_________________
http://cieszak.eu
CrystalCode Studio - aplikacje, strony www, urządzenia elektroniczne, pomoc techniczna, konsultacje
^
 
 
  Skype
     
MaximusResetus 
Wie co mówi
Shoot 'Em Up !



Telefon: 55,33,e398
Operator: Era
Pomógł: 3 razy
Wiek: 33
Dołączył: 23 Lip 2004
Posty: 456
Skąd: Nowy Sącz - okolice
Wysłany: 2006-09-03, 21:30   

cieszak, no ale takie tablice to zajmują duzo ramu... Pozatym tablice statyczne na nic wiele się zdadzą jeśli całą plansze będzie można niszczyć (geomod :) ) Każda przeskode. To jest jedno, a drugie To ze w bombermanie w madosie niszczone były całe pola czyli kasowane całe kawałki planszy bo bomby nie możan umieścic na przełomie między jedną a drugą ścianą (wiecie o co mi chodzi?). Kurde chyba zrobie dziś taką mała wersję demo bo nie wytrzymam... i pokaże wam o co mi chodziło.
_________________
http://www.kwitnaceogrody.pl - projektowanie ogrodów - aranżacje zieleni - realizacja nasadzeń
^
 
     
cieszak 
Starszy Użytkownik
100% Cieszaka



Telefon: HTC HD7
Operator: Orange
Pomógł: 17 razy
Wiek: 32
Dołączył: 01 Mar 2005
Posty: 247
Skąd: Olsztyn
Wysłany: 2006-09-04, 12:36   

A, no chyba w tanku było możliwość niszczenia 1/4 części każdego bloku (o ile dobrze pamiętam). Można by oczywiście powiększyć strukturę na każdy blok ale to kolejne komórki ramu. Co do ramu to ja bym tak nie narzekał, bomberman zużywa na strukture game około 450 bajtów wydaje mi sie że to nie jest aż tak wiele, przecież to jest zajęte tylko w czasie gdy gra jest rozpoczęta, po "gameover" jest zwalniana.

A co do twojego pomysłu jest taki problem że jak ktoś do nas zadzwoni w czasie gry to pamięć ekranu będzie stracona, chyba że ... poświęcisz 504 bajty pamięci na zapamiętanie ekranu :)
_________________
http://cieszak.eu
CrystalCode Studio - aplikacje, strony www, urządzenia elektroniczne, pomoc techniczna, konsultacje
^
 
 
  Skype
     
MaximusResetus 
Wie co mówi
Shoot 'Em Up !



Telefon: 55,33,e398
Operator: Era
Pomógł: 3 razy
Wiek: 33
Dołączył: 23 Lip 2004
Posty: 456
Skąd: Nowy Sącz - okolice
Wysłany: 2006-09-04, 19:24   

cieszak, Widzisz... Tego nie przemyślałem... :/ Przydałaby się taka opcja jak print screen :) A jak stworzyć tablice w tym ramie tak zebu ją potem zwolnic? JAkiej do tego funkcji sę uzywa? malloc? czy cos innego? Czy może w global buffer to umieścic? To Ci powiem ze to dobry pomysl jest bo z tablicą to łatwiej będzie napisac taką gre niz kożystając tylko z ekranu... :)
_________________
http://www.kwitnaceogrody.pl - projektowanie ogrodów - aranżacje zieleni - realizacja nasadzeń
^
 
     
cieszak 
Starszy Użytkownik
100% Cieszaka



Telefon: HTC HD7
Operator: Orange
Pomógł: 17 razy
Wiek: 32
Dołączył: 01 Mar 2005
Posty: 247
Skąd: Olsztyn
Wysłany: 2006-09-05, 11:44   

W VHAMie jest szablon game w którym jest automatycznie tworzona struktura game i do niej można własnie wrzucić te tablice (tylko jako tablice a nie jako wskaźniki bo przy wskaźnikach trzeba samemu zadbać o ich przydzielanie i zwalnianie malloc/free)
Co do global_buffera to ma on tylko 40 bajtów więc nie zawsze (jeśli kiedykolwiek) wystarczy.
_________________
http://cieszak.eu
CrystalCode Studio - aplikacje, strony www, urządzenia elektroniczne, pomoc techniczna, konsultacje
^
 
 
  Skype
     
MaximusResetus 
Wie co mówi
Shoot 'Em Up !



Telefon: 55,33,e398
Operator: Era
Pomógł: 3 razy
Wiek: 33
Dołączył: 23 Lip 2004
Posty: 456
Skąd: Nowy Sącz - okolice
Wysłany: 2006-09-05, 19:52   

I po wyjściu z gry miejsce w pamięci jest automatycznie zwalniane? no to zajefajnie :) tego nie wiedziałem :) Bo nie chciałbym żeby taka gierka rezerwowała w ramie 32 kilo tak jak moj pierwszy tron... to była porażka... :)
_________________
http://www.kwitnaceogrody.pl - projektowanie ogrodów - aranżacje zieleni - realizacja nasadzeń
^
 
     
cieszak 
Starszy Użytkownik
100% Cieszaka



Telefon: HTC HD7
Operator: Orange
Pomógł: 17 razy
Wiek: 32
Dołączył: 01 Mar 2005
Posty: 247
Skąd: Olsztyn
Wysłany: 2006-09-06, 12:23   

Właśnie po to jest malloc i free :) , tak że statycznie zajmujemy tylko 4 bajty na wskaźnik do struktury game :D
_________________
http://cieszak.eu
CrystalCode Studio - aplikacje, strony www, urządzenia elektroniczne, pomoc techniczna, konsultacje
^
 
 
  Skype
     
yak 
Starszyzna



Telefon: Kilka DCT3
Operator: Vodafone
Pomógł: 20 razy
Wiek: 37
Dołączył: 21 Gru 2004
Posty: 774
Skąd: Bochum / Niemcy
Wysłany: 2006-09-06, 14:28   

Tak, struktura game jest rezerwowana po wybraniu Nowa gra. Po wyjściu z gry zostaje w pamięci aby można było później ją kontynuować za pomocą opcji Dalej. Po zakończeniu gry (wykryciu końca żyć czy coś, zależy od typu gry) należy wywołać funkcję free_game() aby zwolnić pamięć.
_________________
NokiX Ci się podoba? Kliknij i wyraź to!
^
 
 
 
     
wntl 
Expert
HipHopKemp Rulez ;)



Telefon: E398@E1
Operator: Orange
Pomógł: 80 razy
Wiek: 31
Dołączył: 23 Lut 2005
Posty: 2298
Skąd: Bytom
Wysłany: 2006-09-06, 18:23   

to moze by dodać do menu gier opcje zakończ, która by zakańczałą gre jak ktoś niechce dalej grać, a nie czekała aż ktoś bedzie kontynuować. Jest tak np w motoroli c650, a tak pozatym to dało by nam cos takie rozwiazanie ??:D
_________________
Tanie bilety Ryanair i Wizzair
^
  Skype
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać załączników na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Podobne tematy
Temat Autor Forum Odpowiedzi Wysłany
Brak nowych postów 6131 wady? braki? czy tylko moja niew... jckll BB5 0 2007-04-12, 23:07
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi Przyklejony: Czy moja nokia to dct-3 ? EMEK DCT-3 0 2007-11-21, 16:38
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi Przyklejony: Czy moja nokia to dct-4 ? EMEK DCT-4 0 2007-11-21, 17:03
Brak nowych postów Moja aukcja na allegro-proszę o spraw... adammmos PasjaPUB 8 2008-12-12, 18:33
Brak nowych postów Dlaczego moja nokia 3110C co 2 min si... Matti DCT-4 6 2009-04-03, 21:29