<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5888595517518553329</id><updated>2011-07-29T01:51:33.203+02:00</updated><category term='Mapa'/><category term='Silnik'/><category term='Po godzinach'/><category term='Sknerus Game'/><category term='kolizja'/><category term='Gry'/><category term='Welcome'/><title type='text'>Buyuk-&gt;blog</title><subtitle type='html'>Witam wszystkich na moim blogu ;]
Będzie on o wszystkim i o niczym,
o moim hobby - programowaniu gier,
oraz o kompletnych bzdurach, czyli
jednym zdaniem zapraszam do czytania.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://buyuk-blog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5888595517518553329/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://buyuk-blog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Buyuk</name><uri>http://www.blogger.com/profile/14451469098978620529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5888595517518553329.post-7315776995423992611</id><published>2010-01-15T23:09:00.004+01:00</published><updated>2010-01-17T01:55:17.165+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silnik'/><category scheme='http://www.blogger.com/atom/ns#' term='Po godzinach'/><title type='text'>Silnik turboodrzutowy ;)</title><content type='html'>Z racji tego że zawsze interesowałem się lataniem, postanowiłem przyodziać się w konstruktora, i zbudować rzeczony silnik, który potem planuję wykorzystać w pewnym projekcie ;) W tym poście będę umieszczał progress z budowy owego silnika, z racji krótkiej przerwy w programowaniu (błagam, nie bijcie ;P) &lt;br /&gt;Dzień dzisiejszy uznaję za początek prac nad projektem. Co tydzień będę uaktualniał, dokładnie w niedzielę do godziny 23 ;) Chwilowo mam w głowie plan, który teraz postaram się przełożyć na papier i to będzie pierwsze uaktualnienie, gdy zakończę ten etap ;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;17 stycznia 2010 r.&lt;br /&gt;Zamieszczam skan pierwszego planu silnika:&lt;br /&gt;&lt;a href="http://img191.imageshack.us/img191/4079/54628627.jpg"&gt;Schemat&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Pozdrawiam wszystkich fanów sportów ekstremalnych ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5888595517518553329-7315776995423992611?l=buyuk-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://buyuk-blog.blogspot.com/feeds/7315776995423992611/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://buyuk-blog.blogspot.com/2010/01/silnik-turboodrzutowy.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5888595517518553329/posts/default/7315776995423992611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5888595517518553329/posts/default/7315776995423992611'/><link rel='alternate' type='text/html' href='http://buyuk-blog.blogspot.com/2010/01/silnik-turboodrzutowy.html' title='Silnik turboodrzutowy ;)'/><author><name>Buyuk</name><uri>http://www.blogger.com/profile/14451469098978620529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5888595517518553329.post-2896140150536153821</id><published>2009-12-31T15:09:00.000+01:00</published><updated>2009-12-31T15:09:16.822+01:00</updated><title type='text'>Happy new year  ;]</title><content type='html'>Ostatnio coś cierpię na brak chęci do pisania, a to z powodu świąt, a to przez gitarę (kupiłem sobie 3 dni temu i nie mogę się oderwać), a to przez sylwestra dziś, acz obiecuję że w weekend pojawi się obiecany artykuł przepisany na allegro ;) Dorzucę go jako pdf'a w linku pod tamtym starym.&lt;br /&gt;Potem zarzucę źródłem od mojego ponga (pierwszej obiektowej gierki jaką napisałem ;])&lt;br /&gt;Pierwotnie miał być arkanoid, ale zrezygnowałem jednak stawiając na max. prostotę ;)&lt;br /&gt;&lt;br /&gt;A więc Wesołego, wybuchowego sylwestra i nowego roku ;) I możecie opić moją gitarę ;P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5888595517518553329-2896140150536153821?l=buyuk-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://buyuk-blog.blogspot.com/feeds/2896140150536153821/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://buyuk-blog.blogspot.com/2009/12/happy-new-year.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5888595517518553329/posts/default/2896140150536153821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5888595517518553329/posts/default/2896140150536153821'/><link rel='alternate' type='text/html' href='http://buyuk-blog.blogspot.com/2009/12/happy-new-year.html' title='Happy new year  ;]'/><author><name>Buyuk</name><uri>http://www.blogger.com/profile/14451469098978620529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5888595517518553329.post-6209120559638560624</id><published>2009-12-17T23:52:00.012+01:00</published><updated>2009-12-18T22:27:11.485+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kolizja'/><category scheme='http://www.blogger.com/atom/ns#' term='Mapa'/><title type='text'>Implementacja mapy kafelkowej</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dziś z racji tego że ostatnio paru znajomych pytało mnie o to jak stworzyć mapę do gry (wiem że proste, ale początkującym może się przydać) przedstawię moją implementację popularnego kafelkowego systemu mapy. Zapewne już było takowych kilka tutoriali, ale podobno większa liczba nie zaszkodzi ;)&lt;br /&gt;&lt;br /&gt;A więc zaczynamy od stworzenia enuma który będzie posiadał info o rodzajach kafli:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;code&gt;&lt;big&gt;enum KAFLE {TRAWA, KAMIEN, WODA, etc, etc ... };&lt;/big&gt;&lt;/code&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Następnie tworzymy tablicę naszego nowego typu:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;code&gt;&lt;big&gt;KAFLE mapa[x][y] = {{WODA, WODA, TRAWA, KAMIEN, TRAWA}, {WODA, WODA, TRAWA,&amp;nbsp; KAMIEN, TRAWA}, {WODA, WODA, TRAWA, KAMIEN, TRAWA}, {WODA, WODA, TRAWA, KAMIEN, TRAWA}, {WODA, WODA, TRAWA, KAMIEN, TRAWA}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {WODA, WODA, TRAWA, KAMIEN, TRAWA}, {WODA, WODA, TRAWA, KAMIEN, TRAWA}, {WODA, WODA, TRAWA, KAMIEN, TRAWA}, {WODA, WODA, TRAWA, KAMIEN, TRAWA}, {WODA, WODA, TRAWA, KAMIEN, TRAWA}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; etc, etc};&lt;/big&gt;&lt;/code&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Teraz potrzebujemy jakichś powierzchni po których będziemy rysować (np. w allegro odpowiednie Bitmapy, albo SDL_SURFACE w SDL'u).&lt;br /&gt;&lt;br /&gt;I jak już będziemy mieli takową powierzchnię, a właściwie potrzebujemy ich dwóch (jedna to grafika kafli, a druga dla mapy kolizji) to musimy odpowiednio wyrysować:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;code&gt;&lt;big&gt;for(int i = 0; i&amp;lt;(szerokosc_planszy/szerokość_kafla); i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(int j = 0; j&amp;lt;(wysokosc_planszy/wysokosc_kafla); j++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(map[i][j] == TRAWA)draw(target_grafic_surface, grass, i*szerokosc_kafla,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j*wysokosc_kafla, grass-&amp;gt;w, grass-&amp;gt;h); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(map[i][j] == KAMIEN)draw(target_grafic_surface, stone, i*szerokosc_kafla, j*wysokosc_kafla, stone-&amp;gt;w, stone-&amp;gt;h);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(map[i][j] == WODA)draw(target_grafic_surface, water, i*szerokosc_kafla, j*wysokosc_kafla, water-&amp;gt;w, water-&amp;gt;h);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/big&gt;&lt;/cpde&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;Ten kod ma za zadanie narysować graficzną część mapy, przydałoby się jeszcze dorobić fragment odpowiedzialny za kolizje.Nie jest to skomplikowane, jak zresztą cały ten krótki tutek, acz postaram się to w miarę zrozumiale opisać. Musimy mieć kolejną powierzchnię, która będzie reprezentować mapę kolizji. Nazwę ją target_col_surface. A więc, mam nadzieję że przykład będzie zrozumiały. Załóżmy że chcemy narysować mapę kolizji tylko dla kamienia dla skrócenia kodu. Dla innych rodzaji kafli działa to oczywiście analogicznie.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;code&gt;&lt;big&gt;for(int i = 0; i&amp;lt;(szerokosc_planszy/szerokość_kafla); i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(int j = 0; j&amp;lt;(wysokosc_planszy/wysokosc_kafla); j++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(map[i][j] == TRAWA)draw(target_grafic_surface, grass, i*szerokosc_kafla,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j*wysokosc_kafla, grass-&amp;gt;w, grass-&amp;gt;h); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(map[i][j] == KAMIEN)&lt;br /&gt;{ &lt;br /&gt;draw(target_grafic_surface, stone, i*szerokosc_kafla, j*wysokosc_kafla, stone-&amp;gt;w, stone-&amp;gt;h);&lt;br /&gt;&lt;b style="color: red;"&gt;draw(target_col_surface, stone_mask, i*szerokosc_kafla, j*wysokosc_kafla, stone_mask-&amp;gt;w, stone_mask-&amp;gt;h); &lt;/b&gt;&lt;br /&gt;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(map[i][j] == WODA)draw(target_grafic_surface, water, i*szerokosc_kafla, j*wysokosc_kafla, water-&amp;gt;w, water-&amp;gt;h);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/big&gt;&lt;/code&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Kod wyszczególniony na czerwono powoduje narysowanie na powierzchni będącej mapą kolizji maski kamienia, czyli wypełnionego jednolitym kolorem, który posłuży do implementacji kolizji per pixel&amp;nbsp; odwzorowania konturów naszej bitmapy kamienia. Omówieniem kolizji zajmę się za moment.&lt;br /&gt;&lt;br /&gt;Okej, mamy już kod rysujący mapę z tablicy, oczywiście aby było to widoczne na ekranie, musimy co każdy obrót pętli głównej kopiować zawartość powierzchni target_grafic_surface na ekran. Teraz przejdziemy do omówienia implementacji kolizji, na podstawie wygenerowanej przed chwilą mapy kolizji. Po raz kolejny uprzedzę, że użyte tu nazwy funkcji są wymyślone przeze mnie i prawdopodobnie nie mają one takich nazw ani dokładnie takich parametrów jak tutaj pokazuję. Ewentualne podobieństwo można zauważyć do biblioteki Allegro, którą się zazwyczaj posługuję w tworzeniu gier 2D. W tym podpunkcie będę korzystał z funkcji pobierających wartość pixela o podanych współrzędnych, która także jest inna w zależności od biblioteki. A więc nie zwlekając biorę się za wyjaśnienia.&lt;br /&gt;&lt;br /&gt;Najpierw trochę kodu:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;code&gt;&lt;big&gt;//Jakiś tam plik nagłówkowy&lt;br /&gt;bool Kolizja(SURFACE col_map, pos_x, pos_y)&amp;nbsp; //col_map - powierzchnia mapy kolizji, pos_x, pos_y - //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; współrzędne gracza.&lt;br /&gt;{&lt;br /&gt;COLOR color_pix;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Zmienna przechowująca wartość koloru&lt;br /&gt;&amp;nbsp;color_pix = getpixelred(pos_x, pos_y);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //pobranie wartości koloru z pixela pos_x, pos_y&lt;br /&gt;if(color_pix == color_col_map)return true;&amp;nbsp;&amp;nbsp; //jeżeli pobrany kolor = kolor mapy kolizji return true;&lt;br /&gt;else return false;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//plik main.cpp zazwyczaj&lt;br /&gt;while(GAME = =TRUE)&amp;nbsp; //main loop gry&lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;int pos_x, pos_y, pos_x_old, pos_y_old;&lt;br /&gt;&lt;br /&gt;pos_x_old = pos_x;&lt;br /&gt;pos_y_old = pos_y;&lt;br /&gt;&lt;br /&gt;draw_map();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //rysujemy mapę i mapę kolizji;&lt;br /&gt;&lt;br /&gt;RuchPostacia();Funkcja zmieniająca wartość pos_x i pos_y w odpowiedzi na klawisze, czyli ruch postaci.&lt;br /&gt;if(Kolizja == true){pos_x = pos_x_old; pos_y = pos_y_old;}&lt;br /&gt;&lt;br /&gt;DrawPlayer(pos_x, pos_y); &lt;br /&gt;}&lt;/big&gt;&lt;/code&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I oto mamy kod obsługujący już całość rysowania planszy, oraz kolizji. Nic tylko pisać ogromy świat i super grę ;)&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Jak znajdę chwilę to dołączę&amp;nbsp; program przykładowy wraz z kodem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5888595517518553329-6209120559638560624?l=buyuk-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://buyuk-blog.blogspot.com/feeds/6209120559638560624/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://buyuk-blog.blogspot.com/2009/12/implementacja-mapy-kafelkowej.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5888595517518553329/posts/default/6209120559638560624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5888595517518553329/posts/default/6209120559638560624'/><link rel='alternate' type='text/html' href='http://buyuk-blog.blogspot.com/2009/12/implementacja-mapy-kafelkowej.html' title='Implementacja mapy kafelkowej'/><author><name>Buyuk</name><uri>http://www.blogger.com/profile/14451469098978620529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5888595517518553329.post-7268618883444320379</id><published>2009-12-14T19:32:00.000+01:00</published><updated>2009-12-14T19:32:10.361+01:00</updated><title type='text'>Imadło Warsztatu ;)</title><content type='html'>&lt;div style="text-align: justify;"&gt;Niedawno, na forum Warsztatu, pojawił się pewien ambitny człowiek, o nicku Angry Bull, który poszukiwał osób chętnych do amatorskiego teamu piszącego gry. Chłopak chyba się musiał mocno zdziwić, widząc co się działo w jego temacie przed jego kolejnym logowaniem ;) Ogólnie mówiąc topic wywołał spore poruszenie wśród tamtejszych forumowiczów, którzy masowo zgłaszali się na chętnych. Oprócz amatorów pojawiło się też kilku bardziej doświadczonych osobistości, które wyraziły chęć wzięcia udziału, tudzież pomocy. Łącznie nazbierało się około 50 programistów, a ja byłem jednym z nich ;)&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;W związku z tym ambitnym przedsięwzięciem uznałem że najwyższy czas przeprosić się z OOPem, gdyż będzie on praktycznie nieodłączny, a więc sięgnąłem po google, poczytałem, poklepałem i w ramach sprawdzianiku postanowiłem napisać klon arcanoida. A więc niezwłocznie biorę się do pracy, a gdy skończę oczywiście umieszczę w tym poście link do pobrania. Będzie to mój pierwszy arcanoid, gdyż do tej pory robiłem same "platformówki". Może mi to troszkę powolno iść, z racji braku wolnego czasu w wystarczających ilościach, aczkolwiek powinienem się w tym tygodniu uwinąć.&lt;br /&gt;&lt;/div&gt;Nie zwlekając więc dłużej, biorę się do ciężkiej pracy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5888595517518553329-7268618883444320379?l=buyuk-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://buyuk-blog.blogspot.com/feeds/7268618883444320379/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://buyuk-blog.blogspot.com/2009/12/imado-warsztatu.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5888595517518553329/posts/default/7268618883444320379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5888595517518553329/posts/default/7268618883444320379'/><link rel='alternate' type='text/html' href='http://buyuk-blog.blogspot.com/2009/12/imado-warsztatu.html' title='Imadło Warsztatu ;)'/><author><name>Buyuk</name><uri>http://www.blogger.com/profile/14451469098978620529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5888595517518553329.post-7099892639672560583</id><published>2009-12-14T17:43:00.006+01:00</published><updated>2009-12-14T17:51:51.720+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sknerus Game'/><category scheme='http://www.blogger.com/atom/ns#' term='Gry'/><title type='text'>Sknerus Game</title><content type='html'>&lt;div style="text-align: justify;"&gt;Jak napisałem, blog ten ma być głównie o programowaniu, a więc wypadałoby coś w związku z tym napisać,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;więc postanowiłem umieścić na początek trochę info o mojej pierwszej "grze", której tytuł mieni się mianem&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;"Sknerus Game" (nie, nie uzyskałem praw autorskich ;) ). Celem gracza jest w niej zdobycie nie dużej liczby&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;100 monet, chodząc między murami na planszy postacią Sknerusa znanego z komiksu "Kaczor Donald" którego swoich czasów czytałem nałogowo. Wplotłem w to bardzo emocjonującą fabułę, którą można poznać oczywiście, jeżeli ściągnie się ową grę. Niestety nie rozwijam już tej gry, i przy tuż przed zamknięciem się wykrzacza, wywołując przykry komunikat pt. "Raport o błędach". Przypuszczam że ma to związek z nieprawidłowo usuwanym wskaźnikiem do ostatniego dźwięku. Niby poprawienie tego to nic wielkiego, lecz nie mam na to czasu. W związku z powyższym ten projekt uważam za zakończony.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://w799.wrzuta.pl/sr/f/8p8yeloy12U/sg.zip"&gt; DOWNLOAD&lt;/a&gt;&lt;a href="http://w799.wrzuta.pl/sr/f/8p8yeloy12U/sg"&gt;&lt;pobierz&gt;&lt;/pobierz&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://w799.wrzuta.pl/sr/f/8p8yeloy12U/sg.zip"&gt;&lt;pobierz&gt; &lt;/pobierz&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_P5y_b4z7UUU/SyZrFIxSipI/AAAAAAAAAAM/3PiHTv2vdwc/s1600-h/Nowy+Obraz+-+mapa+bitowa.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_P5y_b4z7UUU/SyZrFIxSipI/AAAAAAAAAAM/3PiHTv2vdwc/s200/Nowy+Obraz+-+mapa+bitowa.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5888595517518553329-7099892639672560583?l=buyuk-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://buyuk-blog.blogspot.com/feeds/7099892639672560583/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://buyuk-blog.blogspot.com/2009/12/sknerus-game.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5888595517518553329/posts/default/7099892639672560583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5888595517518553329/posts/default/7099892639672560583'/><link rel='alternate' type='text/html' href='http://buyuk-blog.blogspot.com/2009/12/sknerus-game.html' title='Sknerus Game'/><author><name>Buyuk</name><uri>http://www.blogger.com/profile/14451469098978620529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_P5y_b4z7UUU/SyZrFIxSipI/AAAAAAAAAAM/3PiHTv2vdwc/s72-c/Nowy+Obraz+-+mapa+bitowa.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5888595517518553329.post-8875207299054769101</id><published>2009-12-14T00:45:00.000+01:00</published><updated>2009-12-14T00:45:39.871+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Welcome'/><title type='text'>Hello World ! :D</title><content type='html'>Witajcie!&lt;br /&gt;&lt;br /&gt;Jest to mój pierwszy, otwierający tego bloga post! Niezmiernie się z tej okazji cieszę oczywiście.&lt;br /&gt;Dodatkowo jakby w ramach bonusu spadł u mnie śnieg&amp;nbsp; &lt;span style="background-color: yellow;"&gt;:D&lt;/span&gt; (Co, ktoś nie lubi zimy ? :P).&lt;br /&gt;Jak napisałem w opisie bloga, będzie to blok o niczym innym jak o mnie, o moich przemyśleniach&lt;br /&gt;i o moim hobby, jakim jest programowanie gier.&lt;br /&gt;&lt;br /&gt;A więc nie zwlekając dłużej bo już późno, witam wszystkich, rejerstrujcie się ! &lt;span style="background-color: yellow;"&gt;:D&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://m.pimpmyspace.org/pimp/1/0c/0c8cc2af7fd77413284a.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="221" src="http://m.pimpmyspace.org/pimp/1/0c/0c8cc2af7fd77413284a.jpg" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5888595517518553329-8875207299054769101?l=buyuk-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://buyuk-blog.blogspot.com/feeds/8875207299054769101/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://buyuk-blog.blogspot.com/2009/12/hello-world-d.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5888595517518553329/posts/default/8875207299054769101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5888595517518553329/posts/default/8875207299054769101'/><link rel='alternate' type='text/html' href='http://buyuk-blog.blogspot.com/2009/12/hello-world-d.html' title='Hello World ! :D'/><author><name>Buyuk</name><uri>http://www.blogger.com/profile/14451469098978620529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
