<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>devjungle</title>
	<atom:link href="http://devjungle.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://devjungle.wordpress.com</link>
	<description>rendszertelenül jelentkező fejlesztői blog</description>
	<lastBuildDate>Tue, 23 Mar 2010 17:13:51 +0000</lastBuildDate>
	<language>hu</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='devjungle.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>devjungle</title>
		<link>http://devjungle.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://devjungle.wordpress.com/osd.xml" title="devjungle" />
	<atom:link rel='hub' href='http://devjungle.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Fog of War ötlet</title>
		<link>http://devjungle.wordpress.com/2010/01/16/fog-of-war-otlet/</link>
		<comments>http://devjungle.wordpress.com/2010/01/16/fog-of-war-otlet/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 14:14:21 +0000</pubDate>
		<dc:creator>michelbergert</dc:creator>
				<category><![CDATA[ötlet]]></category>

		<guid isPermaLink="false">http://devjungle.wordpress.com/?p=91</guid>
		<description><![CDATA[Már nem is tudom mióta csücsül itt ez draft verzióban, de akkor most kiposztolom. Volt egy ötletem, meg is valósítottam, csak még nem tudom mibe fogom beleépíteni. Egyszerűen arról van szó, hogy nem látjuk a pálya egészét, mint ahogy sok stratégiai játékban sem. Ezzel is nehezítve/izgalmasabbá téve a dolgokat. Még nem túl kifinomult a módszer, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devjungle.wordpress.com&amp;blog=10580383&amp;post=91&amp;subd=devjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Már nem is tudom mióta csücsül itt ez draft verzióban, de akkor most kiposztolom.</p>
<p>Volt egy ötletem, meg is valósítottam, csak még nem tudom mibe fogom beleépíteni. Egyszerűen arról van szó, hogy nem látjuk a pálya egészét, mint ahogy sok stratégiai játékban sem. Ezzel is nehezítve/izgalmasabbá téve a dolgokat.</p>
<p>Még nem túl kifinomult a módszer, így csak fekete-fehérben működik, de kiterjeszteni színesre már nem olyan nagy dolog. A látható rész színes, minden más fekete-fehér.</p>
<p>Az ötlet maga pofon egyszerű. Egymára rajzoljuk a rétegeket és így az látszik, ami legfelül van. Értelem szerűen a következő sorrendben érdemes felrajzolni a canvasra a rétegeket: fekete háttér, fehér kör (ahol látszanak a dolgok), majd feketével a minták.</p>
<p>Egyelőre még nem vettem hasznát ennek az apró ötletnek, már azon túl persze, hogy megírtam a példaprogit. Amit meg is lehet nézni, sőt ki is lehet próbálni. Appletes cucc, egy újabb kísérlet. Ide wordpressbe nem sikerült beágyazni, nem nagyon hagyta magát, de van link, természetesen. <a href="http://tmichel.extra.hu/hsApplet.html">Itt lehet megtalálni a cuccot.</a></p>
<p>Csak zárójelben mondom, hogy a wordpress szolgáltatása iszonyat lassú (fél perc mire betölti ezt a szerkesztő felületet, pedig nem szar a net itthon). Nem tudom, hogy ez a motor hibája-e, vagy a wordpress.com nem tud normális sebességet produkálni. Nem is érdekel. Lehet, hogy váltok valami jól beváltra. Saját domain nem kell, jó valami ilyen közösségi és ingyenes oldal.</p>
<br />Kategória:ötlet  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devjungle.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devjungle.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devjungle.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devjungle.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devjungle.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devjungle.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devjungle.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devjungle.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devjungle.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devjungle.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devjungle.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devjungle.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devjungle.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devjungle.wordpress.com/91/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devjungle.wordpress.com&amp;blog=10580383&amp;post=91&amp;subd=devjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devjungle.wordpress.com/2010/01/16/fog-of-war-otlet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9cf24f2226878c4c08d709a6efd3355f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mt</media:title>
		</media:content>
	</item>
		<item>
		<title>Chrome extensions</title>
		<link>http://devjungle.wordpress.com/2009/12/08/chrome-extensions/</link>
		<comments>http://devjungle.wordpress.com/2009/12/08/chrome-extensions/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 21:27:14 +0000</pubDate>
		<dc:creator>michelbergert</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[extensions]]></category>

		<guid isPermaLink="false">http://devjungle.wordpress.com/?p=122</guid>
		<description><![CDATA[Mai nap hivatalosan is elindították. Már eddig is elérhető volt a fejleszői változatot használók részére, de ma a nagyközönség számára is megnyílt. Rögtön rá is vetettem magam, mert már csak ez hiányzott, hogy tényleges alternatívája legyen a Firefoxnak. Már régóta használom a Chrome-ot, mert a sebességet előbbre tartom a funckionalitásnál, de most ez a hátránya is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devjungle.wordpress.com&amp;blog=10580383&amp;post=122&amp;subd=devjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Mai nap hivatalosan is elindították. Már eddig is elérhető volt a fejleszői változatot használók részére, de ma a nagyközönség számára is megnyílt. Rögtön rá is vetettem magam, mert már csak ez hiányzott, hogy tényleges alternatívája legyen a Firefoxnak. Már régóta használom a Chrome-ot, mert a sebességet előbbre tartom a funckionalitásnál, de most ez a hátránya is megszűnt.</p>
<p>Egyelőre még nem túl nagy a választék, de a fontosabb dolgokat már lefedik az eddig megjelent pluginnek. GMail és GReader figyelő, delicious, adblock, mouse gestures. Az életben maradáshoz szükségesek szerencsére már megbízhatóan működnek.</p>
<p>A pluginnek használatához Chrome 4.0.x verziójú szükséges, ami jelenleg <a href="http://www.google.com/intl/en/landing/chrome/beta/">beta állapotú</a>, de nálam megbízhatóan fut már pár napja. Eddig egyszer sem omlott össze, ha a gép ki van nyitva, akkor állandóan fut a böngésző (és sajnos/nem sajnos ez elég sok üzemórát jelent).</p>
<p>Telepíteni és használni gyerekjáték a Chrome pluginneket. A fejlesztésbe eddig még nem kóstoltam bele, de a jövőben ez sem kizárt. A Google erősen épít a felhasználóira és az önkéntes fejlesztőire, szóval <a href="http://code.google.com/chrome/extensions/devguide.html">kellő segítséget találunk</a>, ha bele akarunk vágni.</p>
<p>További infókat a <a href="http://blog.chromium.org/2009/12/extensions-beta-launched-with-over-300.html">Chromium blogon</a> és a <a href="http://chrome.blogspot.com/2009/12/google-chrome-for-holidays-mac-linux.html">Google Chrome</a> hivatalos blogján találunk. Ja, és persze a legfontosabb: az <a href="https://chrome.google.com/extensions/">extension library</a>.</p>
<br />Kategória:google  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devjungle.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devjungle.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devjungle.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devjungle.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devjungle.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devjungle.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devjungle.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devjungle.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devjungle.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devjungle.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devjungle.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devjungle.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devjungle.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devjungle.wordpress.com/122/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devjungle.wordpress.com&amp;blog=10580383&amp;post=122&amp;subd=devjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devjungle.wordpress.com/2009/12/08/chrome-extensions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9cf24f2226878c4c08d709a6efd3355f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mt</media:title>
		</media:content>
	</item>
		<item>
		<title>Duplabufferelés</title>
		<link>http://devjungle.wordpress.com/2009/11/28/duplabuffereles/</link>
		<comments>http://devjungle.wordpress.com/2009/11/28/duplabuffereles/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 17:34:54 +0000</pubDate>
		<dc:creator>michelbergert</dc:creator>
				<category><![CDATA[elmélet]]></category>
		<category><![CDATA[grafikus]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[megjelenítés]]></category>

		<guid isPermaLink="false">http://devjungle.wordpress.com/?p=86</guid>
		<description><![CDATA[Dobjunk fel a formunkra egy rajzvásznat (vagy nevezzük canvasnak, ha úgy tetszik), rajzoljunk rá valamit, majd töröljük le. Tegyük ezt meg újra és újra, sokszor egymás után. Ha csak kicsit változik a kép, és ezt elég sűrűn teszi, akkor úgy tűnik, minhta mozognának az alakzatok a vásznon. Innen már csak egy ötlet és kitartás kérdése, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devjungle.wordpress.com&amp;blog=10580383&amp;post=86&amp;subd=devjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Dobjunk fel a formunkra egy rajzvásznat (vagy nevezzük canvasnak, ha úgy tetszik), rajzoljunk rá valamit, majd töröljük le. Tegyük ezt meg újra és újra, sokszor egymás után. Ha csak kicsit változik a kép, és ezt elég sűrűn teszi, akkor úgy tűnik, minhta mozognának az alakzatok a vásznon. Innen már csak egy ötlet és kitartás kérdése, s már is egy egyszerű kis játék büszke szerzői lehetünk.</p>
<p>Az örömünk mégsem teljes, mert a kép furcsán villódzik. Érthető is ez, mert ha csak a másodperc tört részére, de akkor is letöröljük a képernyőt és ezalatt csak a nagy fehérség látszik, aztán megint a kép, amit mutatni szeretnénk. Idegesítő jelenség, de szerencsére a megoldást tálcán nyújtják felénk csak el kell fogadni.</p>
<p><span id="more-86"></span>Felveszünk a háttérben egy másik vásznat, ami rejtett a felhasználó előtt. Erre rajzolgatunk, s majd ha kész, akkor kirajzoljuk a látható vászonra is.</p>
<p>Ez így mind szép és jó, de az implementáció tartogat néhány buktatót. Szóval akkor lássuk is. JAVAban természetesen.</p>
<p>Két megoldást is találtam. Az első, ami a &#8220;józan paraszti ész&#8221; csapásirányát követi és ezáltal a nyelvi lehetőségeket nem annyira használja ki. Létrehozunk egy rejtett vásznat (Image), meg egy Graphics objektumot, amivel tudunk rá rajozlni. A <code>paint()</code> metódusban rajzolgatunk kedvünkre, de ezt a rejtett vászonra tesszük. S majd a legvégén az egész képet egyszerre rajzoljuk ki a látható Canvasra. (Ne felejtsük el letörölni rajzolás előtt a vásznat!)</p>
<p>Példakód:</p>
<pre><code>public class myCanvas extends Canvas {

	Image bufferImage;
	Graphics bufferGraphics;

	public void paint(Graphics g){
		// letöröljük a vásznat
		bufferGraphics.clearRect(0, 0, getWidth(), getHeight());
		// itt rajzolgatunk, amit akarunk,
		// de ezt a rejtett vászonra tegyük pl:
		bufferGraphics.setColor(Color.RED);
		bufferGraphics.drawRoundRect(200, 200, 150, 100, 10, 15);
		...
		// kirajzoljuk a rejtett vásznat
		g.drawImage(bufferImage, 0, 0, null);
	}

	public void update(Graphics g){
		// ez alapból letörli a Canvast,
		// ezután pedig meghívja a paint metódust
		// a letörlést mi végezzük
		// különben is ez okozza a villódzást,
		// ezért most ezt mellőzük
		paint(g);
	}

	// elvégzi a rejtett és a látható vászon összerendelését.
	// ezt csak akkor tehetjük meg, ha már látható a Canvas!!!
	public void setDubleBuffer() {
		bufferImage = createImage(getWidth(), getHeight());
		bufferGraphics = bufferImage.getGraphics();
	}
}</code></pre>
<p>A másik lehetőség jobban kihasználja, hogy már mások is gondoltak erre a megoldásra, ezért jobban integrált nyelvi elemeket is adtak a kezünkbe.</p>
<p>Ebben az esetben nem piszkálunk bele a <code>paint()</code> metóduba, hanem ehelyett a az <code>update()</code> metódust módosítjuk. A duplabuffer kialakítását pedig a Canvas osztály <code>void createBufferStrategy(int bufferlayers)</code> metódusával végezzük, amit a <code>setDubleBuffer</code> metódusunkhoz hasonlóan csak a Canvas megjelenítése után futtathatunk.</p>
<p>Példakód (Canvas osztály update metódusának overloadingja):</p>
<pre><code>    public void update(Graphics g) {
        BufferStrategy b = getBufferStrategy();
        Graphics graph = b.getDrawGraphics();
        graph.clearRect(0, 0, getWidth(), getHeight());
        paint(graph);
        graph.dispose();
        b.show();
    }
</code></pre>
<p>A formunkon a következő képpen alakítható ki a duplabuffer:</p>
<pre><code>
        // mindenképpen láthatónak kell lennie a Canvasnak!!!
        form.setVisible(true);
        mycanvas.createBufferStrategy(2);
</code></pre>
<p>Bármelyik megoldást is választjuk, az eredmény ugyanaz. A megjelenítés nem villódzik, kényelmes a szemnek, és csupa jóság.</p>
<p>Megszenvedtem a wordpress szövegszerkesztőjével, szóval tessék megbecsülni. Meg is ijedtem, hogy ha ilyen szenvedés itt kódot beilleszteni és olvashatóra formázni, akkor virágzó kapcsolatom a wordpress-szel hamar derékba törik&#8230;</p>
<br />Kategória:elmélet  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devjungle.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devjungle.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devjungle.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devjungle.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devjungle.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devjungle.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devjungle.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devjungle.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devjungle.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devjungle.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devjungle.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devjungle.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devjungle.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devjungle.wordpress.com/86/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devjungle.wordpress.com&amp;blog=10580383&amp;post=86&amp;subd=devjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devjungle.wordpress.com/2009/11/28/duplabuffereles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9cf24f2226878c4c08d709a6efd3355f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mt</media:title>
		</media:content>
	</item>
		<item>
		<title>Pong &#8211; határidő</title>
		<link>http://devjungle.wordpress.com/2009/11/27/pong-hatarido/</link>
		<comments>http://devjungle.wordpress.com/2009/11/27/pong-hatarido/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 11:02:06 +0000</pubDate>
		<dc:creator>michelbergert</dc:creator>
				<category><![CDATA[pong]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[egyetem]]></category>
		<category><![CDATA[grafikus]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://devjungle.wordpress.com/?p=65</guid>
		<description><![CDATA[Ma van a házi leadási határidő, így kénytelen voltam néhány kompromisszumot kötni, hogy elkészüljek időben. A kimaradt feature-ket lehet, majd még később megvalósítom, de egyelőre be kell érni annyival, ami van. A tovább után képekkel, jó hosszan. Hátra volt még a szintlépés és az újrakezdés, valamint a labda sebességének és irányának változtatása, a játék élvezeti-faktorának [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devjungle.wordpress.com&amp;blog=10580383&amp;post=65&amp;subd=devjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ma van a házi leadási határidő, így kénytelen voltam néhány kompromisszumot kötni, hogy elkészüljek időben. A kimaradt feature-ket lehet, majd még később megvalósítom, de egyelőre be kell érni annyival, ami van.</p>
<p>A tovább után képekkel, jó hosszan.</p>
<p><span id="more-65"></span>Hátra volt még a szintlépés és az újrakezdés, valamint a labda sebességének és irányának változtatása, a játék élvezeti-faktorának növelése érdekében. :) Valamint &#8211; eddig ugyan elsikkadt, de a játékos tájékoztatása sem volt teljes. Ebből az első kettő maradéktalanul elkészült. Ha elfogyott az életünk, akkor gombnyomásra újraindíthatjuk a játékot az első pályától. Ha leütöttük az összes téglát, akkor természetesen eggyel magasabb szintre jutunk, s ezt egy plusz élettel jutalmazom. :)</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-68" title="pong_nyito" src="http://devjungle.files.wordpress.com/2009/11/pong_nyito.png?w=400&#038;h=412" alt="Pont nyitókép" width="400" height="412" /></p>
<p>Három előre elkészített pálya van, ezután a program magának generál véletlenszerűen új pályákat, így a végtelenségig játszató. Pontgyűjtésre is lehetőség van, minden téglaérintésnél 1 pontot kapunk. Toplista sajnos nem fért bele az időbe. Ennek az egyik oka, hogy a fájlkezelés JAVAban egyáltalán nem olyan kényelmes és hirtelen (egyelőre korlátozott nyelvi készletemmel) nem tudtam összerakni egy már elfogadható toplista mentés és megjelenítést. A toplista kiírása kapcsán pedig a hova? kérdés vetődött volna fel. A pálya már így is teljesen zsúfolt. Ha egyszer lesz időm és megint beletúrok a programba, akkor valami egyszerű XML-s megoldást fogok alkalmazni.</p>
<p>Az idő rövidsége ellenére is kerültek ötletes dolgok a programba. A szintlépésnél egyszerűen csak átdob a következő pályára és nincs semmi animáció (még ezen is lehetne szépíteni, ugye), de hogy mégse legyen ennyire csupasz, van egy elhalványuló &#8220;x. szint&#8221; felirat. Az egész modellt várakoztatni kell, hogy emberileg felfogható maradjon, ezért minden egyes alkalommal a labda haladása után várunk 10 ms-t. Ezt használtam ki az elhalványodó felirathoz. Az idő elteltével lineárisan növeltem a szín összetevőit, s így szépen kifakul, majd eltűnik.</p>
<p>A sebesség esetében valami véletlenszerű növekedés akartam, hogy legyen valami izgalom is. Sajnos hamar kiderült, hogy a sebesség csak nagyon szűk keretek között változtatható. A pálya 10 ms-ként rajzolódik újra, így 6-7 px-es haladás már elég gyors. Ennél gyorsabb labda már nagyon nehezen követhető.</p>
<p>Korlátok közé szorítani a növekedést nem volt olyan bonyolult, viszont nem várt bugokat okozott. A sebesség iránya megváltozott és pont olyan szögben haladt a labda, hogy a téglák sarkán képes volt behatolni azok belsejébe. (A sebesség vízszintessel bezárt szöge megegyezett a tégla átlójának vízszintessel bezárt szögével, s ezen a pályán beléphetett a tégla belsejébe, azonnal eltüntetve azt.) Ezen kívül valahogy a pálya szélén is be tudott ragadni, bár ezt csak 2-szer tapasztaltam, s szándékosan nem tudtam előidézni, így az okát sem tudom.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-71" title="pong_2lvl" src="http://devjungle.files.wordpress.com/2009/11/pong_2lvl.png?w=400&#038;h=412" alt="Pong - 2. pálya" width="400" height="412" /></p>
<p>Ezeket a bugokat nem volt időm kijavítani és nem is akartam, ezért a gyorsulás csak előre megadott módon történhet. A szögek úgy vannak beállítva, hogy ne fordulhasson elő az előbb vázolt két eset.</p>
<p>A visszapattanás szögének változtatása és a gyorsítás együtt szinte lehetetlenül nehézzé tette a játékot, ezért végül nem került bele a végleges megoldásba. Ennek ellenére elkészültek részek, s a tervek is készen vannak. Az ütőt 3 részre osztom. A közepéről úgy pattan vissza, ahogy eddig. Az érkezés oldalán a merőlegeshez törik, míg a másik oldalon a merőlegestől elfele. Köztes megoldás volt a koordináták felcserélése, ezzel azt értem el, hogy a beesési szög+kilépési szög = 90°.</p>
<p>A végeredmény így sem rossz, van még vele egy kevés munka, hogy tényleg élvezhető játék váljon belőle és ne csak egy stílusgyakorlat maradjon. Terveim szerint még visszatérek a Pongra és megcsinálom a kimaradt részeket, már csak a saját okulásomra is.</p>
<p>Verzióügyileg még nem teljesen értem, hogy mi alapján megy a számozás, de mondjuk, hogy ez most már public beta. A futtatáshoz <a href="http://java.sun.com/javase/downloads/index.jsp">6-os JRE </a>kell. Ahogy ígértem a forrást és a futtatható állományt is elérhetővé teszem:</p>
<p><a href="http://tmichel.extra.hu/egyetem/pong_src.zip">Forrás fájlok.</a> (van javadoc is csak generálni kell)<br />
<a href="http://tmichel.extra.hu/egyetem/pong.jar">Futtatható állomány.</a></p>
<br />Kategória:pong  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devjungle.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devjungle.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devjungle.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devjungle.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devjungle.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devjungle.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devjungle.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devjungle.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devjungle.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devjungle.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devjungle.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devjungle.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devjungle.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devjungle.wordpress.com/65/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devjungle.wordpress.com&amp;blog=10580383&amp;post=65&amp;subd=devjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devjungle.wordpress.com/2009/11/27/pong-hatarido/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9cf24f2226878c4c08d709a6efd3355f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mt</media:title>
		</media:content>

		<media:content url="http://devjungle.files.wordpress.com/2009/11/pong_nyito.png" medium="image">
			<media:title type="html">pong_nyito</media:title>
		</media:content>

		<media:content url="http://devjungle.files.wordpress.com/2009/11/pong_2lvl.png" medium="image">
			<media:title type="html">pong_2lvl</media:title>
		</media:content>
	</item>
		<item>
		<title>Mi fán terem az MVC?</title>
		<link>http://devjungle.wordpress.com/2009/11/23/mi-fan-terem-az-mvc/</link>
		<comments>http://devjungle.wordpress.com/2009/11/23/mi-fan-terem-az-mvc/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 21:07:49 +0000</pubDate>
		<dc:creator>michelbergert</dc:creator>
				<category><![CDATA[elmélet]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[tervezés]]></category>
		<category><![CDATA[tervezési minta]]></category>

		<guid isPermaLink="false">http://devjungle.wordpress.com/?p=42</guid>
		<description><![CDATA[Néha ilyen elméletet tárgyaló cikkek is lesznek, már amennyire tőlem telik. Nem lesz tudományos színvonal, de azért érthető lesz. Elsőnek az MVC-t veszem elő, ha már a Pong projekt kapcsán úgyis beleütköztem és használtam. Az MVC feloldása a Model-View-Control. Ez egy tervezési minta, aminek a lényege, hogy három elkülönülő részre bontjuk a programunkat. Modellre, a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devjungle.wordpress.com&amp;blog=10580383&amp;post=42&amp;subd=devjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Néha ilyen elméletet tárgyaló cikkek is lesznek, már amennyire tőlem telik. Nem lesz tudományos színvonal, de azért érthető lesz.</p>
<p>Elsőnek az MVC-t veszem elő, ha már a Pong projekt kapcsán úgyis beleütköztem és használtam. Az MVC feloldása a <strong>Model-View-Control</strong>. Ez egy tervezési minta, aminek a lényege, hogy három elkülönülő részre bontjuk a programunkat. Modellre, a megjelenítőre és a vezérlőre. Ezen tervezési minta használatának több előnye is van. Az egyes részek fejlesztése teljesen elkülöníthető, csak az interfészek ismerete szükséges. Egy modellhez több egymástól független megjelenítő és vezérlő is kapcsolható és ezek akár különbözhetnek is (pl. konzolos vagy grafikus megjelenítés).</p>
<p>A <strong>modell </strong>a nevéből adódóan a modellt tartalmazza. Ez a program &#8220;lényegi&#8221; része, ide pakoljuk bele az üzleti logikát, azaz itt kap értelmet a puszta adat. Az adatokat sokszor adatbázisban tároljuk, az adatelérés is a modellhez tartozik (az MVC nem különböztet meg külön adatelérési réteget). A Pong program esetében ez például a pályát és a rajta lévő egységeket menedzselő rész. Nyilvántartja, hogy mi hol van a pályán, mekkora a sebessége a labdának, vagy éppen azt számolja ki, hogy a labda a következő lépésnél visszapattanjon, vagy haladjon tovább egyenesen.</p>
<p>A <strong>view</strong>, azaz a megjelenítő az adatok megjelenítéséért felel. Nem kell semmit tudnia a modell működéséről, csak az adatokat kell elkérnie tőle. Innentől már mindent megold maga. A Pong esetében egy Canvas-ra rajzoljuk ki a pályát és a rajta lévő elemeket.</p>
<p>A <strong>control</strong>, azaz a vezérlő egység interakciót biztosít a felhasználó számára. Jellemzően eseményeket dolgoz fel és válaszol rájuk.</p>
<p>A három rész együttes működését az alábbi ábra mutatja:</p>
<p><a href="http://www.enode.com/x/markup/tutorial/mvc.html"><img class="aligncenter size-full wp-image-60" title="mvc" src="http://devjungle.files.wordpress.com/2009/11/mvc.gif?w=370&#038;h=248" alt="" width="370" height="248" /></a>Beérkezik egy esemény, amit a vezérlő feldolgoz. Ezután értesíti a modellt és a megjelenítőt a változásokról. A modell elvégzi a saját feladatát, majd értesíti a megjelenítőt, s elküldi neki az új adatokat. A megjelenítő frissíti magát, majd minden kezdődik előröl, mikor egy másik esemény üt be.</p>
<p><strong>Fontos megjegyezni, hogy a view nem fér hozzá közvetlenül a modellhez, és fordítva.</strong> A kapcsolatot a controller tartja fenn.</p>
<p>A teljes elszaparálást nagyon nehéz fentartani, ez megmutatkozott a Pong fejlesztése közben is. Viszont érdemes törekedni rá, mert ha csorbul az egyes részek szuverenitása, utána nehezebb új megjelenítőt vagy vezérlőt csatlakoztatni a modellre.</p>
<br />Kategória:elmélet  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devjungle.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devjungle.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devjungle.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devjungle.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devjungle.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devjungle.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devjungle.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devjungle.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devjungle.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devjungle.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devjungle.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devjungle.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devjungle.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devjungle.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devjungle.wordpress.com&amp;blog=10580383&amp;post=42&amp;subd=devjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devjungle.wordpress.com/2009/11/23/mi-fan-terem-az-mvc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9cf24f2226878c4c08d709a6efd3355f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mt</media:title>
		</media:content>

		<media:content url="http://devjungle.files.wordpress.com/2009/11/mvc.gif" medium="image">
			<media:title type="html">mvc</media:title>
		</media:content>
	</item>
		<item>
		<title>Bugfix: labda beragadás</title>
		<link>http://devjungle.wordpress.com/2009/11/21/bugfix-labda-beragadas/</link>
		<comments>http://devjungle.wordpress.com/2009/11/21/bugfix-labda-beragadas/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 20:01:53 +0000</pubDate>
		<dc:creator>michelbergert</dc:creator>
				<category><![CDATA[pong]]></category>
		<category><![CDATA[bugfix]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://devjungle.wordpress.com/?p=44</guid>
		<description><![CDATA[Ma egészen sokat haladtam a Ponggal. Már csak csinosítgatni kell, a váz már teljes. Egyedül a szintlépés és az újrakezdés hiányzik a lényegi funkciók közül. A téglák színkódolása kész, ezzel együtt az is, hogy mindig olyan színük van, ahányszor meg kell ütni őket. 3 különböző pályát is építettem a programba, de a végtelenségig lehet játszani, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devjungle.wordpress.com&amp;blog=10580383&amp;post=44&amp;subd=devjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ma egészen sokat haladtam a Ponggal. Már csak csinosítgatni kell, a váz már teljes. Egyedül a szintlépés és az újrakezdés hiányzik a lényegi funkciók közül.</p>
<p>A téglák színkódolása kész, ezzel együtt az is, hogy mindig olyan színük van, ahányszor meg kell ütni őket. 3 különböző pályát is építettem a programba, de a végtelenségig lehet játszani, mert a 4. szinttől generál magának véletlenszerű pályákat. A téglákat is helyre tettem, így már mindig jól pattan vissza róluk a labda, s nem képes tarolásra.</p>
<p>A mai legfontosabb eredmény mégis a labda beragadásának kiküszöbölése. Az oka elég trükkös és nem két perc ment el vele, míg rájöttem mi és miért történik.</p>
<p>Nem szinkronizációs probléma okozta, de nem is a feltételek voltak rosszak. A probléma gyökere abban keresendő, hogy az érzékelés felbontása túl nagy volt, azaz túl sűrűn mozdult a labda, így egyszerre csak nagyon keveset haladhatott (néhány pixel), hogy még követhető maradjon. Ennek következtében a labda ugyan visszapattant, de nem került elég messze az ütőtől. Az ütő mozdulhatott és mozdult is míg a labda mozgott, és így a labda újra belekerült az ütő hatókörébe. Ekkor megint irányt változtatott a labda, de már rossz irányba (eddig távolodott volna az ütőtől), és ezért indult el az ütő belseje felé.</p>
<p><a href="http://devjungle.files.wordpress.com/2009/11/pong_bug1.png"><img class="aligncenter size-full wp-image-53" title="pong_bug1" src="http://devjungle.files.wordpress.com/2009/11/pong_bug1.png?w=511&#038;h=200" alt="" width="511" height="200" /></a></p>
<p>A fenti ábrán a beérkező állapot látható. Az ütő körül a labda <em>r</em> sugarú környezetét ellenőrizzük. Ha ide belép a labda középpontja, akkor pattan vissza. (Sajnos az ábra nem méretarányos. :)) A lenti ábrán már a kilépés látható, de az ütő mozdulása következtében még mindig a hatókörön belül van. A sebesség megfordul, és így irány az ütő belseje.</p>
<p><a href="http://devjungle.files.wordpress.com/2009/11/pong_bug2.png"><img class="aligncenter size-full wp-image-55" title="pong_bug2" src="http://devjungle.files.wordpress.com/2009/11/pong_bug2.png?w=511&#038;h=200" alt="" width="511" height="200" /></a></p>
<p style="text-align:center;">
<p>A megoldás viszont tényleg nagyon egyszerű. A labda tudja magáról, hogy visszapattant-e az ütőről. Mikor visszapattan a <em>hitByRacket</em> boolean változó igaz lesz, s majd csak akkor válik megint hamissá, ha valami máshoz is hozzáért (fal, tégla, esetleg kiesett a pályáról). A visszapattanás előtt ellenőrizzük, hogy kétszer ne pattanhasson vissza a labda (<em>hitByRacket </em>igaz-e) az ütőről. Ezzel garantáljuk, hogy nem ragad be sohasem.</p>
<br />Kategória:pong  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devjungle.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devjungle.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devjungle.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devjungle.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devjungle.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devjungle.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devjungle.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devjungle.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devjungle.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devjungle.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devjungle.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devjungle.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devjungle.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devjungle.wordpress.com/44/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devjungle.wordpress.com&amp;blog=10580383&amp;post=44&amp;subd=devjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devjungle.wordpress.com/2009/11/21/bugfix-labda-beragadas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9cf24f2226878c4c08d709a6efd3355f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mt</media:title>
		</media:content>

		<media:content url="http://devjungle.files.wordpress.com/2009/11/pong_bug1.png" medium="image">
			<media:title type="html">pong_bug1</media:title>
		</media:content>

		<media:content url="http://devjungle.files.wordpress.com/2009/11/pong_bug2.png" medium="image">
			<media:title type="html">pong_bug2</media:title>
		</media:content>
	</item>
		<item>
		<title>Projekt: Pong &#8211; a kezdetek</title>
		<link>http://devjungle.wordpress.com/2009/11/20/projekt-pong-a-kezdetek/</link>
		<comments>http://devjungle.wordpress.com/2009/11/20/projekt-pong-a-kezdetek/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 20:22:52 +0000</pubDate>
		<dc:creator>michelbergert</dc:creator>
				<category><![CDATA[pong]]></category>
		<category><![CDATA[egyetem]]></category>
		<category><![CDATA[grafikus]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://devjungle.wordpress.com/?p=26</guid>
		<description><![CDATA[Elsőként, az éppen futó Pong projektet kezdem ide felvezetni. Egyetemi házi feladat, főleg a nyelvi elemek elsajátítása céljából. Feladat: egyszerű faltörő játék. Ennél pontosabb feladatkiírás nem volt, csupán néhány technológiai elvárás a feladattal kapcsolatban, ezért rendes specifikáció nem készült. Bár az &#8220;egyszerű faltörő játék&#8221; már egészen jól leírja miről is van szó. A teljesség kedvéért [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devjungle.wordpress.com&amp;blog=10580383&amp;post=26&amp;subd=devjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Elsőként, az éppen futó Pong projektet kezdem ide felvezetni. Egyetemi házi feladat, főleg a nyelvi elemek elsajátítása céljából.</p>
<p>Feladat: egyszerű faltörő játék. Ennél pontosabb feladatkiírás nem volt, csupán néhány technológiai elvárás a feladattal kapcsolatban, ezért rendes specifikáció nem készült. Bár az &#8220;egyszerű faltörő játék&#8221; már egészen jól leírja miről is van szó.</p>
<p><span id="more-26"></span>A teljesség kedvéért itt most megemlékezek egy vázlatos specifikációval. (Jó lesz ez még a leadásnál is. :))</p>
<p>A pályán egy labda mozog, amit egy ütővel lehet terelgetni, a cél a pályán fellelhető téglák széttörése. A téglákat egy vagy több alkalommal kell megütni, hogy eltűnjenek (ezt színük jelzi). Ha minden tégla elfogyott a következő pályára lépünk, vagy nyerünk, ha az utolsó pályán voltunk. A játék alapból 3 pályát tartalmaz, ezek különböző felépítésűek. A labda sebessége akkor változik, ha megütjük az ütővel.</p>
<p>Java SE-ben írom, természetesen az OO paradigmák szem előtt tartásával. Az MVC tervezési mintát alapul véve. Szálkezelést is emlegettek, de egy ilyen kis programnál nem látom értelmét. Még gyakorlás szinten sem. Egy labda és egy ütő van, így nincs is mit külön szálon futtatni. A soklabdás példaprogramban külön szálon mennek a labdák, de ez szinte csak formaiság, mert lényegében nem változtat semmit azzal szemben, mintha egy szálban lenne az összes labda.</p>
<p style="text-align:center;"><img class="size-medium wp-image-30 aligncenter" title="pong_preview" src="http://devjungle.files.wordpress.com/2009/11/pong-1.jpg?w=290&#038;h=300" alt="Pong preview" width="290" height="300" /></p>
<p>Jelenleg valahol félúton lehetek a már késznek mondható állapothoz képest. A labda már mozog, falakról, ütőről, téglákról visszapattan és a téglákat össze is töri. Egyelőre a visszapattanás a fénytörés törvényének megfelelő, azaz a beesési szög megegyezik a kilépési szöggel. Az ütő esetében ezen változtatni kell, mert így nem túl izgalmas a játék.</p>
<p>Pontszámokat és az életeket is adminisztrálja már. Ha leesik a labda, akkor újat kapunk.</p>
<p>A labda sebességét sem szabályozza még rendesen a program, így mindig ugyanolyan sebességgel halad. Apróság ugyan, de a téglák színkódolása is hátra van még, egyelőre véletlen színeket vesznek fel.</p>
<p>Az üzleti logika (heh milyen szakszavak vannak itt) nagy részét, azaz a visszapattanásokat már nagyjából megoldottam. Van még néhány bug, amit ki kell javítani.</p>
<p><img class="aligncenter size-medium wp-image-34" title="pong-preview2" src="http://devjungle.files.wordpress.com/2009/11/pong-2.jpg?w=290&#038;h=300" alt="pong - beragadó labda" width="290" height="300" /></p>
<p>A legsúlyosabb ezek közül, hogy a labda képes beleragadni az ütőbe. Erre két tippem van. Vagy az, hogy a labda mozgása és az ütő mozgatása nincs szinkronban. Így lehet olyat csinálni, hogy a labda úgy érzékeli mintha léphetne arra a koordinátára, mert nincs ott az ütő, de miközben lép odarántjuk az ütőt, ezért a labda belekerül és beleragad, mert a visszapattanási feltételeknek eleget tesz.</p>
<p>A másik lehetőség, hogy nincs gond a szinkronizációval, viszont ha sarok koordinátákon ér a labda az ütőhöz, az nem veszi észre és így képes belépni a belsejébe. Bár elméletileg ez nem lenne lehetséges, mert a feltételek ezt kizárják, de úgy látszik, tévedek.</p>
<p>Egyelőre ennyit a Pongról, még úgyis pörög majd ez a téma, mert valamikor jövő héten kell leadni, és még van vele munka rendesen.</p>
<br />Kategória:pong  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devjungle.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devjungle.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devjungle.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devjungle.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devjungle.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devjungle.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devjungle.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devjungle.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devjungle.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devjungle.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devjungle.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devjungle.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devjungle.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devjungle.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devjungle.wordpress.com&amp;blog=10580383&amp;post=26&amp;subd=devjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devjungle.wordpress.com/2009/11/20/projekt-pong-a-kezdetek/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9cf24f2226878c4c08d709a6efd3355f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mt</media:title>
		</media:content>

		<media:content url="http://devjungle.files.wordpress.com/2009/11/pong-1.jpg?w=290" medium="image">
			<media:title type="html">pong_preview</media:title>
		</media:content>

		<media:content url="http://devjungle.files.wordpress.com/2009/11/pong-2.jpg?w=290" medium="image">
			<media:title type="html">pong-preview2</media:title>
		</media:content>
	</item>
		<item>
		<title>Chromium OS</title>
		<link>http://devjungle.wordpress.com/2009/11/20/chromium-os/</link>
		<comments>http://devjungle.wordpress.com/2009/11/20/chromium-os/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 00:07:20 +0000</pubDate>
		<dc:creator>michelbergert</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[chrome_os]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://devjungle.wordpress.com/?p=15</guid>
		<description><![CDATA[Mielőtt beleugranék az éppen futó projektembe, vessünk néhány pillantást a most bejelentett Google operációs rendszerre, a Chrome OS-re. Van nekünk ez a látványos és könnyen érthető videónk és egy weboldalunk is, ahol megtudhatunk ezt-azt: Ami sokkal érdekesebb felhasználói szempontból, az az UI (user interface). Erre az alábbi videóban láthatunk elgondolásokat. Lássuk csak mit is kapunk. Gyorsaságot [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devjungle.wordpress.com&amp;blog=10580383&amp;post=15&amp;subd=devjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Mielőtt beleugranék az éppen futó projektembe, vessünk néhány pillantást a most bejelentett Google operációs rendszerre, a Chrome OS-re.</p>
<p><span id="more-15"></span></p>
<p>Van nekünk ez a látványos és könnyen érthető videónk és egy <a href="http://www.chromium.org/chromium-os">weboldalunk</a> is, ahol megtudhatunk ezt-azt:</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='600' height='368' src='http://www.youtube.com/embed/0QRO3gKj3qw?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<p>Ami sokkal érdekesebb felhasználói szempontból, az az UI (user interface). Erre az alábbi videóban láthatunk elgondolásokat.</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='600' height='368' src='http://www.youtube.com/embed/hJ57xzo287U?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<p>Lássuk csak mit is kapunk. Gyorsaságot ígérnek. Ez elég csábító, ha azt nézzük, hogy az XP-nek, ami gépemen fut, és elég minimálisra van szabva, minimum egy percre van szüksége, hogy használatra kész legyen. A Chrome OS ezzel szemben valami iszonyatos sebességet ígér, főleg a bootolás terén. Felugrik az op rendszer és már fent is vagyok az interneten.</p>
<p>Nem látom viszont, hogy a saját adataimat hol fogom tárolni, ha egyszer még az op rendszer is a netről jön. Persze biztos lesz valami helyi tár, ahova bepakolhatok cuccokat, de mégsem egy 160 GB-s HDD. Mondhatnánk, hogy így biztonságosabb is, ha nincsenek nálam az adataim, hanem &#8220;fent vannak az interneten&#8221;, azaz a Google valamelyik szervere mélyén tárolja.</p>
<p>És ez jó is, meg rossz is. Már most is a fél életem a Google szerverein nyugszik, de úgy már nagyjából az egész ott lesz. Ez picit aggasztó, még akkor is ha minden Google-lel kapcsolatos összeesküvés-elméletet elutasítunk.</p>
<p>Mégis a legnagyobb  problémát abban látom a Chrome OS-sel kapcsolatban, hogy mi van ha nincs internet? Akkor talán még lehetőségünk sem lesz, hogy folytassuk a munkát? Pedig sok esetben nem kell az internet, csak könnyebbséget jelent.</p>
<p>Ezt az &#8220;interneten van az operációs rendszer&#8221; dolgot valahogy úgy képzelem, hogy a lényegi rész a gépen fog csücsülni, és csak a személyes beállítások lesznek egy távoli szerveren, amit a mindenható Google accountommal érhetek el.</p>
<p>Nem néztem bele a projektbe, pedig megtehetném, mert opensource. Ez egy jó pont a fejlesztők részéről. Meggyőződésem, hogy a nyílt forráskódú szoftverek biztonságosabbak és dinamikusabban fejlődnek.</p>
<p>Átlag felhasználói szempontból a Chrome OS nagyon jó. Az interneten keresztül majdnem mindent el tudunk végezni, ami a mindennapi tevékenységünket lefedi. Ebben az esetben a nagy és lomha operációs rendszer csak visszafog a munkámban és csökkenti a hatékonyságot.</p>
<p>Most még csak találgatások vannak, de ha egyszer már tesztelhető állapotba kerül a Chrome OS, akkor én megnézem magamnak közelebbről is.</p>
<br />Kategória:web  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devjungle.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devjungle.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devjungle.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devjungle.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devjungle.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devjungle.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devjungle.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devjungle.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devjungle.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devjungle.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devjungle.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devjungle.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devjungle.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devjungle.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devjungle.wordpress.com&amp;blog=10580383&amp;post=15&amp;subd=devjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devjungle.wordpress.com/2009/11/20/chromium-os/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9cf24f2226878c4c08d709a6efd3355f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mt</media:title>
		</media:content>
	</item>
		<item>
		<title>Elindulunk</title>
		<link>http://devjungle.wordpress.com/2009/11/19/elindulunk/</link>
		<comments>http://devjungle.wordpress.com/2009/11/19/elindulunk/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 16:37:13 +0000</pubDate>
		<dc:creator>michelbergert</dc:creator>
				<category><![CDATA[gépház]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Ezt is megértük. Elindulunk végre. Most még bizakodó királyi többes van, mert ha talán egyszer beindul a dolog, majd csatlakoznak még szerzők; ezt előlegezem meg most. Tetszik ez a WordPress motor, a szolgáltatás egyetlen hibája, hogy néhány funkcióért fizetni kéne, amihez nincs kedvem és forrásom se. Szóval fapados marad a dizájn például. Így az elején [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devjungle.wordpress.com&amp;blog=10580383&amp;post=1&amp;subd=devjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ezt is megértük. Elindulunk végre. Most még bizakodó királyi többes van, mert ha talán egyszer beindul a dolog, majd csatlakoznak még szerzők; ezt előlegezem meg most.</p>
<p>Tetszik ez a WordPress motor, a szolgáltatás egyetlen hibája, hogy néhány funkcióért fizetni kéne, amihez nincs kedvem és forrásom se. Szóval fapados marad a dizájn például.</p>
<p>Így az elején még sok ötletem van, és még lendületben is vagyok, szóval várható értelmes tartalom is, de ahogy a tagline is mondja, rendszertelen frissülésre lehet készülni. :)</p>
<br />Kategória:gépház  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devjungle.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devjungle.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devjungle.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devjungle.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devjungle.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devjungle.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devjungle.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devjungle.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devjungle.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devjungle.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devjungle.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devjungle.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devjungle.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devjungle.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devjungle.wordpress.com&amp;blog=10580383&amp;post=1&amp;subd=devjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devjungle.wordpress.com/2009/11/19/elindulunk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9cf24f2226878c4c08d709a6efd3355f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mt</media:title>
		</media:content>
	</item>
	</channel>
</rss>
