Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 1 gru 2024, o 08:18


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
Autor Wiadomość
PostNapisane: 22 lut 2013, o 21:45 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Obrazek
Poprzednio trenowaliśmy umysł, a teraz poćwiczymy zręczność. Oczywiście na zestawie ATB z dołączonym wyświetlaczem graficznym, który podłączony jest jak poprzednio do portu A, portu C i PD.2. Do PB.0 podłączony jest buzzer. Nazwa gry (Polskie drogi) dużo mówi o tym co będzie zadaniem gracza :lol: Trzeba oczywiście omijać dziury na drodze i zaparkowane auta. Trzecia pomyłka kończy grę i wyświetla wynik. Reset rozpoczyna program od początku. Ekran gry i działanie wygląda następująco:

Obrazek



Opis działania programu:
- Dzięki wykorzystaniu bibliotek do TFT z książki "Język C Pasja programowania mikrokontrolerów 8-bitowych" Mirosława Kardasia przygotowanie programu znacznie się uprościło :D
- W książce opisane jest wykorzystanie dodatkowej pamięci. Tutaj również to jest potrzebne z tym, że obraz jest przewijany o jedną linię. Dzięki temu można załadować na początku 4 ekrany, a w pętli głównej tylko wyświetlać samochód gracza i dziury w drodze
- Autko nie jest wyświetlane jako bitmapa, a złożone jest z linii. Nie potrzeba zatem korzystać z karty pamięci, ani wypełniać pamięci danymi o każdym pikselu. Wykorzystane są linie poziome i pionowe, których kod jest bardzo podobny do wyświetlania prostokąta. Myślę, że po lekturze każdy stworzy takie funkcje. Głównym celem takiego podejścia jest zwiększenie szybkości rysowania.
- Program korzysta z funkcji srand i rand do generowania losowej pozycji dziur w drodze. Argument funkcji srand zależy od momentu dotknięcia przez gracza ekranu i w sumie można by nawet nie korzystać z tych funkcji.
- Wszystkie 3 mapki do gry generowane są programowo, ale można również wykorzystać bitmapy jeśli ktoś dysponuje odpowiednimi zdjęciami.
- Zmiana pozycji samochodu jest możliwa tylko w osi x jako, że ekran jest przewijany (w osi y).

Główne pliki programu:
- main.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

- main.h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

- game03.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

- game.h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Szerokiej drogi ;)


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2013, o 21:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8587
Pomógł: 337

hmmm Kolego kiedy będzie port na Xboxa360 , PSP4 ??
Jak zwykle kawał dobrej roboty ... mosz ta glaca na gnyku
... Gratulacje

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2013, o 22:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lis 2011
Posty: 534
Lokalizacja: Mierzyn
Pomógł: 9

Krauser no wypas :D

_________________
pozdrawiam
Jachu



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2013, o 22:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2011
Posty: 265
Lokalizacja: Szczecin
Pomógł: 9

Takie cuda można na AVR robić:D !!! Bardzo płynnie chodzi ta grafika, chyba zapodałeś kwarc ze 100MHz ;) Jestem pełen podziwu!!! Gratuluje!!!

_________________
www.iuvo.it - Automatyka Budynkowa



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2013, o 22:59 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

Nieeee , noo nieeee - Sun .... chyba będzie trzeba kolegę Krausera zbanować z forum bo znacznie zawyża jego poziom ;) hahahahahaa

(oczywiście ŻART) ..... ale poważnie osłabia mnie nasz kolega i umieram z zazdrości że nie mam na razie czasu pobrykania z tym wyświetlaczem .... Dla mnie każdy projekt kolegi Krauser to kolejne odkrywanie możliwości tego cacuszka SSD1963 .... a z drugiej strony NIESAMOWICIE patrzy się na KUNSZT pomysłowości i programowania

MEGA ODLOT ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2013, o 23:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 lut 2012
Posty: 778
Pomógł: 9

Krauser a kiedy będzie need for speed? :)
Zazdroszczę ogromnej wiedzy ; )



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2013, o 09:57 
Offline
Użytkownik

Dołączył(a): 04 lis 2012
Posty: 30
Lokalizacja: Zamość
Pomógł: 0

Szczęka opada...
Chciałbym kiedyś zbudować sterownik stacji lutowniczej do BGA z wykorzystaniem takiego wyświetlacza, aby rysował mi wykresy temperatur w czasie, ale jeszcze wiele wody w rzekach upłynie, zanim będę mógł zabrać się za coś podobnego.
Nic tylko pogratulować wiedzy koledze Krauser.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2013, o 11:53 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Widać odświeżanie. Można by jeszcze zmodyfikować kod i rysować linie poziome/pionowe kolorem wybranym wcześniej. Da się sterować dwiema rękami. Autko podąża do punktu wskazanego na ekranie, ale jak ktoś naciśnie skrają pozycję poza drogą to zmienna new_x jest ograniczana do do skrajnej pozycji na drodze.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2013, o 12:53 
Offline
Użytkownik

Dołączył(a): 15 lut 2012
Posty: 344
Lokalizacja: Bydgoszcz
Pomógł: 11

Krauser a myślałeś nad tym aby w przyszłości dać sterowanie za pomocą liska do którego ostatnio Antystatyczny przygotował bibliotekę? :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2013, o 14:31 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Raczej nie tutaj, ale ogólnie to mam zamiar wykorzystać taki rodzaj sterowania.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2013, o 14:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8587
Pomógł: 337

w sumie Krauzer to proponuję użyć NunChuck od Wii
masz w nim SW, Analog i akcelerometr zresztą całosc pracuje na I2C :)

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lut 2013, o 11:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lut 2013
Posty: 126
Lokalizacja: Turbia
Pomógł: 0

Masakra, to ja ledwo diodą zamrugać potrafię a tu takie cuda robicie :D

_________________
Zestaw ATB 1.04
Niebieska książka
Zielona książka



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lut 2013, o 11:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 lis 2011
Posty: 582
Lokalizacja: okolice Wrocławia :)
Pomógł: 24

SunRiver napisał(a):
w sumie Krauzer to proponuję użyć NunChuck od Wii
masz w nim SW, Analog i akcelerometr zresztą całosc pracuje na I2C :)


Myślę że jak już kolega Krauser zaczął seryjne pisanie gier, to chyba w kolejnym projekcie będzie coś z podłączeniem Kinect'a do ATB :lol: .

Rządzisz Krauser 8-)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lut 2013, o 19:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 gru 2012
Posty: 530
Lokalizacja: Bydgoszcz
Pomógł: 8

Krauser - skąd masz tą wiedzę? Skąd masz na to czas???? :( jestem amatorem... :p

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lut 2013, o 22:25 

Pomógł: 0

kila napisał(a):
Krauser - skąd masz tą wiedzę? Skąd masz na to czas???? :( jestem amatorem... :p


No ja bym się chciał dowiedzieć też, gdzie sprzedają czas na wiadra ;).



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lut 2013, o 09:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lis 2011
Posty: 534
Lokalizacja: Mierzyn
Pomógł: 9

kila napisał(a):
Krauser - skąd masz tą wiedzę? Skąd masz na to czas???? :( jestem amatorem... :p


Zamiast pierdzielic na forum jak np ja :) to siedzi cicho i klepie :)

_________________
pozdrawiam
Jachu



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO