<?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/"
	>

<channel>
	<title>Lusta.hu &#187; development</title>
	<atom:link href="http://www.lusta.hu/tag/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lusta.hu</link>
	<description>Amíg a test renyhe, az elme dolgozik</description>
	<lastBuildDate>Tue, 07 Feb 2012 12:08:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Slice Forward</title>
		<link>http://www.lusta.hu/2012/02/07/slice-forward/</link>
		<comments>http://www.lusta.hu/2012/02/07/slice-forward/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 12:08:31 +0000</pubDate>
		<dc:creator>Vagabond</dc:creator>
				<category><![CDATA[Szakmai]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://www.lusta.hu/?p=1261</guid>
		<description><![CDATA[I am a big fan of developing an application in a way that I create a thin, working slice first, and then add the other functionalities to this slice one by one. Yet, there is still a question about creating the original slice. Should I do it from the backend to the frontend, or the [...]]]></description>
			<content:encoded><![CDATA[<p>I am a big fan of developing an application in a way that I create a thin, working slice first, and then add the other functionalities to this slice one by one. </p>
<p>Yet, there is still a question about creating the original slice. Should I do it from the backend to the frontend, or the other way around (UI first)?</p>
<p>I prefer the second one, as it suits me better, but also, I think it&#8217;s better aligned with the original intention: To implement something visible &#8211; at that moment it is pretty much like a prototype &#8211; and then extending it backwards: adding the communication layer first, then the server side, then the database. (or just filling in the already created empty objects)<br />
With a few notable exceptions, most of what we do must be visible for the/a user. Therefore, upfront UI development acts as a second layer of test driven development, with the developer as the testing framework. </p>
<p>Thoughts?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lusta.hu/2012/02/07/slice-forward/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Naga Demon: Last day of the Month</title>
		<link>http://www.lusta.hu/2011/11/30/naga-demon-last-day-of-the-month/</link>
		<comments>http://www.lusta.hu/2011/11/30/naga-demon-last-day-of-the-month/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 19:55:53 +0000</pubDate>
		<dc:creator>Vagabond</dc:creator>
				<category><![CDATA[Hobbi]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[naga demon]]></category>
		<category><![CDATA[paint bomb]]></category>

		<guid isPermaLink="false">http://www.lusta.hu/?p=1254</guid>
		<description><![CDATA[It is the last day of the month, and I still haven&#8217;t finished the game. I have a handful of remaining tasks to make it work, and a few others to make it good. But I don&#8217;t really care about the deadline, because for this I have as much time as I want to spend [...]]]></description>
			<content:encoded><![CDATA[<p>It is the last day of the month, and I still haven&#8217;t finished the game. I have a handful of remaining tasks to make it work, and a few others to make it good. But I don&#8217;t really care about the deadline, because for this I have as much time as I want to spend on it.</p>
<p>Anyway, when I have free time &#8211; eating, travelling, etc. &#8211; I am trying to plan ahead. There is one last large task in my list, here is the broken down step-by-step guide for it:</p>
<table cellspacing="0">
<tbody>
<tr>
<td>
<div dir="ltr">
<ol>
<li>Validations
<ol>
<li>Is there anyone playing the game?
<ol>
<li>Players might be deleted</li>
<li>If 0 players are found, end the game</li>
<li>If 1 players is found, add extra score, end the game</li>
</ol>
</li>
</ol>
</li>
<li>Loading turns
<ol>
<li>Active turns only &#8211; a turn is active as long as no other turn was submitted for the same game from the same player</li>
</ol>
</li>
<li>More validations
<ol>
<li>Does the player still exist?</li>
<li>&#8220;Jump out&#8221;s are not included in active</li>
<li>If 0 or 1 actives are present, skip the turn &#8211; Turn count is increased, though., so skip to no. 9</li>
</ol>
</li>
<li><span style="color: #666666;"><em>Robots acting</em></span>
<ol>
<li><span style="color: #666666;"><em>Player substitution?</em></span></li>
</ol>
</li>
<li>Player positions calculated, &#8220;jump out&#8221;s are removed from the list</li>
<li>Explosion calculations
<ol>
<li>coos with bomber player ids</li>
</ol>
</li>
<li>Checking affected players
<ol>
<li>Effect types:
<ol>
<li>Self effect: negative score</li>
<li>Other effect: (Can happen in parallel with no. 1)
<ol>
<li>Score to the bomber</li>
<li>Death to to affected</li>
<li>Affected jumps out until net activity</li>
</ol>
</li>
<li>Store player scores</li>
<li>Recalc high scores</li>
<li>Store movie data</li>
<li>Store turn result data</li>
</ol>
</li>
</ol>
</li>
<li>Mark processed turns as executed in turn X, but keep them active</li>
<li>Check game end criteria:
<ol>
<li>Turn based: If turn count is &gt;= max turns, close the game</li>
<li>Deathmatch:
<ol>
<li>If there is only one survivor, close the game, give extra score to survivor, recalc high scores?</li>
<li>0 survivors: Close the game</li>
</ol>
</li>
</ol>
</li>
<li>Start a new game if needed?</li>
</ol>
</div>
</td>
</tr>
</tbody>
</table>
<p>This is about 5 hours worth of work &#8211; about three evenings.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lusta.hu/2011/11/30/naga-demon-last-day-of-the-month/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programozok a padlon</title>
		<link>http://www.lusta.hu/2010/12/15/programozok-a-padlon/</link>
		<comments>http://www.lusta.hu/2010/12/15/programozok-a-padlon/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 17:46:06 +0000</pubDate>
		<dc:creator>Vagabond</dc:creator>
				<category><![CDATA[Szakmai]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[humor]]></category>

		<guid isPermaLink="false">http://www.lusta.hu/?p=1006</guid>
		<description><![CDATA[Megint olyan munkam van, hogy rengeteget buildelek, ugyhogy szamtalan, programozassal kapcsolatos cikket olvastam el az elmult napokban. Ime a legszorakoztatobb: http://www.junauza.com/2010/12/top-50-programming-quotes-of-all-time.html Vicces programozassal kapcsolatos idezetek. A kedvencem: 32. &#8220;The evolution of languages: FORTRAN is a non-typed language. C is a weakly typed language. Ada is a strongly typed language. C++ is a strongly hyped language.&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Megint olyan munkam van, hogy rengeteget buildelek, ugyhogy szamtalan, programozassal kapcsolatos cikket olvastam el az elmult napokban.</p>
<p>Ime a legszorakoztatobb: <a href="http://www.junauza.com/2010/12/top-50-programming-quotes-of-all-time.html">http://www.junauza.com/2010/12/top-50-programming-quotes-of-all-time.html</a></p>
<p>Vicces programozassal kapcsolatos idezetek. A kedvencem:</p>
<p><em>32. &#8220;The evolution of languages: FORTRAN is a non-typed language. C is a weakly typed language. Ada is a strongly typed language. C++ is a strongly hyped language.&#8221;</em></p>
<p><em>- Ron Sercely</em><span id="_marker"> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lusta.hu/2010/12/15/programozok-a-padlon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Másold elé</title>
		<link>http://www.lusta.hu/2010/11/30/masold-ele/</link>
		<comments>http://www.lusta.hu/2010/11/30/masold-ele/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 17:39:51 +0000</pubDate>
		<dc:creator>Vagabond</dc:creator>
				<category><![CDATA[Szakmai]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://www.lusta.hu/?p=997</guid>
		<description><![CDATA[A programozok egyik kedvenc rossz szokasa a copy-paste. Nagyon konnyu vele hibat rakni a kodba, de mivel sokkal egyszerubb, mint ujragondolni es ujragepelni az egeszet, az emberek elnek vele. Az egyik tipikus eset, amikor en hasznalom, az az, amikor hasonlo feldolgozasi feladatot csinalok ket kulonfele objektumtombre. Pl. String lastname = null; for(Tipus peldany : peldanyLista) [...]]]></description>
			<content:encoded><![CDATA[<p>A programozok egyik kedvenc rossz szokasa a copy-paste. Nagyon konnyu vele hibat rakni a kodba, de mivel sokkal egyszerubb, mint ujragondolni es ujragepelni az egeszet, az emberek elnek vele.</p>
<p>Az egyik tipikus eset, amikor en hasznalom, az az, amikor hasonlo feldolgozasi feladatot csinalok ket kulonfele objektumtombre. Pl.</p>
<pre><code>
String lastname = null;
for(Tipus peldany : peldanyLista) {
  if(lastname == null) {
    peldany.valamilyenFuggveny();
    lastname = peldany.name();
  } else {
    peldany.masFuggveny(lastname);
    lastname = null;
  }
}
</code></pre>
<p>Majd ugyanezt meg akarom csinalni a MasTipusra is, de ott a szintenMas es a megintMas fuggvenyeket fogom hivni, emiatt a generics-es fuggveny sajnos nem megoldas. (ne foglalkozzunk azzal, milyen buta a kod, csak a pelda miatt van itt)<br />
Szoval fogom, atmasolom, atirom benne a dolgokat MasTipusra, es orulok.  A problema csak az, hogy mondjuk elfelejtettem kinullazni a lastname ojjektumot, es emiatt a masodik ciklus egesz mashogy fog viselkedni, mint kene. </p>
<p>Azon lusta programozok szamara, akik hozzam hasonloan elnek neha a copy-paste-tel, egy apro otlet: probaljak ilyen esetben a masik kod ele masolni az ujat. Ha a fenti peldaban a lastname ele masoljuk, akkor a lastname hasznalatat serelmezni fogja a fordito, es eszrevesszuk, hogy egy olyan dependenciat iktattunk be, amit nem kellett volna. Ez termeszetesen nem silver bullet, legfeljebb az esetek 20%-ban mukodik, de az se rossz. Persze, erdemes az egeszet kifaktoralni egy sajat fuggvenybe, es akkor meg olvashato is lesz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lusta.hu/2010/11/30/masold-ele/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Feltetelezes</title>
		<link>http://www.lusta.hu/2010/11/05/feltetelezes/</link>
		<comments>http://www.lusta.hu/2010/11/05/feltetelezes/#comments</comments>
		<pubDate>Fri, 05 Nov 2010 14:07:14 +0000</pubDate>
		<dc:creator>Vagabond</dc:creator>
				<category><![CDATA[Szakmai]]></category>
		<category><![CDATA[assert]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.lusta.hu/?p=959</guid>
		<description><![CDATA[A munkam kapcsan most kicsit utana kellett olvasnom az assertion-oknek, es az Oracle-os assert doksiban talaltam egy vicces reszt: static { boolean assertsEnabled = false; assert assertsEnabled = true; // Intentional side effect!!! if (!assertsEnabled) throw new RuntimeException("Asserts must be enabled!!!"); } Zsenialisan 1xu.]]></description>
			<content:encoded><![CDATA[<p>A munkam kapcsan most kicsit utana kellett olvasnom az assertion-oknek, es az <a href="http://download.oracle.com/javase/1.4.2/docs/guide/lang/assert.html">Oracle-os assert doksiban</a> talaltam egy vicces reszt:</p>
<p><code>
<pre>
    static {
        boolean assertsEnabled = false;
        assert assertsEnabled = true; // Intentional side effect!!!
        if (!assertsEnabled)
            throw new RuntimeException("Asserts must be enabled!!!");
    }
</pre>
<p></code></p>
<p>Zsenialisan 1xu. <img src='http://www.lusta.hu/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.lusta.hu/2010/11/05/feltetelezes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Araszolas</title>
		<link>http://www.lusta.hu/2010/10/04/araszolas/</link>
		<comments>http://www.lusta.hu/2010/10/04/araszolas/#comments</comments>
		<pubDate>Mon, 04 Oct 2010 16:26:03 +0000</pubDate>
		<dc:creator>Vagabond</dc:creator>
				<category><![CDATA[Hobbi]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[google challenge]]></category>

		<guid isPermaLink="false">http://www.lusta.hu/?p=914</guid>
		<description><![CDATA[Multkor mar meseltem az AI Contest-rol. Most &#8211; kulon keresre &#8211; irok meg egy kicsit a botomrol, azon apropobol, hogy a tegnap beposztolt botom soha nem latott magaslatokba emelkedett: 371 is volt a rank-je. Ugy tunik, mar lassul a botok evolucioja, de az elso 500 mar annyira durvan eros, hogy kifejezetten munkas dolog oda bejutni. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.lusta.hu/2010/09/24/google-ai-challengecontest/">Multkor</a> mar meseltem az <a href="http://ai-contest.com">AI Contest</a>-rol. Most &#8211; kulon keresre &#8211; irok meg egy kicsit a botomrol, azon apropobol, hogy a tegnap beposztolt botom soha nem latott magaslatokba emelkedett: 371 is volt a rank-je. Ugy tunik, mar lassul a botok evolucioja, de az elso 500 mar annyira durvan eros, hogy kifejezetten munkas dolog oda bejutni. Az, hogy sikerult, nagy elmeny szamomra.<br />
Hogyan is mukodik ez a bot? Az egyik legnagyobb erdekessege, hogy nem tarol allapotot, kiveve azt, hogy eppen hanyadik korben vagyunk. Minden kor elejen a rendelkezesre allo adatok alapjan ujraertekeli a teljes rendszert, es annak megfeleloen dont.<br />
A legelso lepesben vegigfut a sajat bolygoimon, es elemzi a veszely merteket. Az algoritmus egyelore nagyon durva, sokat lehetne meg finomitani rajta, de hozzavetoleg kepes eldonteni, hogy a harom lehetosegbol mi tortenik eppen: </p>
<ul>
<li>Nincs veszely</li>
<li>Van veszely, de onerobol meg tudjuk oldani</li>
<li>Van veszely es segitseg kell</li>
</ul>
<p>A kiertekeles utan megvizsgalja, hogy van-e lehetosegunk arra, hogy segitseget kuldjunk ezekre a bolygokra, majd ha ezt lerendezte, elkezdi az offenziv cselekveseket. A korabbi valtozatban egyebkent a bolygok csak magukat vedtek, most mar azonban egymast is, ez az, amit en korabban &#8220;aktiv vedelem&#8221;-kent aposztrofaltam, mig a legidosebb batyam ki nem talalta ra a nagyon talalo &#8220;NATO vedelem&#8221; kifejezest. Azota mar a kodban is ezt hasznalom <img src='http://www.lusta.hu/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Az offenziv cselekvesekre visszaterve, ebbol is harom fele van (nem azert, mert imadom a harmas szamot, egyszeruen ennyit talaltam):</p>
<ul>
<li>Terjeszkedes</li>
<li>Harc</li>
<li>Zaklatas</li>
</ul>
<p>A terjeszkedesi taktika az elejen fontos. Az ellenfellel azonos szamu sereggel, pontosan ugyanolyan poziciobol indulunk a palya egy masik pontjarol, es ebben a fazisban dol el, hogy ki szerez folenyt. A bot ebben a szakaszban nagyon erzekeny a betamadasokra, ugyhogy figyelni kell arra is, hogy a terjeszkedes rovasara ne hagyjuk vedtelenul a fobolygonkat. Erdemes az ellenfel taktikajat figyelnunk: Ha o arra hajt, hogy fuggetlen bolygokat foglaljon, mi is tegyunk igy. Ha bennunket tamad, vedekezzunk, es a folosleggel foglaljunk bolygokat, ha van erre lehetoseg.<br />
Fontos szempont minden fazisban, hogy ha csak el tudjuk kerulni, ne kuldjunk messzire flottakat. Amig ugyanis ezek uton vannak, semmire nem jok, mig ha elfoglalunk veluk egy kozeli bolygot, ott is megkezdodik a termeles.<br />
A terjeszkedesi fazis utan en a harci fazisba lepek. Ez mar arrol szol, hogy a seregek gyujtogetese helyett nekilatok az osszes extra egysegemet kitolni az urbe, a bolygoimon csak egy szukseges minimum vedelmet hagyva. Erre a megoldasra a kozepso batyam a &#8220;Mehraj technika&#8221; kifejezest hasznalja. Bar a seregek gyujtogetese ad egy extra vedelmi faktort a bolygoknak, a mehraj technika valamivel gyorsabb, mivel az elso seregek lenyegesen hamarabb ernek oda az ellenfelhez. Egyetlen ok miatt mondhatnank, hogy a sereggyujtes esetenkent jobb: kozelre tamadva nagy sereggel az ellenfelnek nincs ideje, hogy vedoseregeket kuldjon a bolygora.<br />
A harmadik fazis, amit en meg senki masnal nem lattam ebben a formaban, az, amit en zaklatasnak hivok. Akkor lepek at ebbe az uzemmodba, amikor mind seregszamban, mind bolygotermelesben erosebb vagyok az ellenfelnel. A lenyege, hogy a bolygotermelesem egy reszet arra forditom, hogy az ellenfel termeleset lefoglaljam, azaz a legjobban termelo bolygoim azonnal tovabbkuldik a termelesuket az ellenfel legjobban termelo bolygoi fele, igy mindkettonk termelese lecsokken. Gondoljuk vegig ennek a hatasat: En rendelkezem mondjuk 30, az ellenfel 25 termelessel. A kulonbseg marginalis, 20%. Azonban, ha 15 termelest arra forditok, hogy az o termelesebol 15-ot levegyek, akkor nekem 15 marad, neki csak 10, azaz mar 50%-kal magasabb a termelesem. A megoldas itt is nagyon durva meg, sokat lehetne finomitani rajta, azonban igy is sok esetben garantalja azt, hogy amint az ellenfellel szemben folenybe kerulok, ott is maradok.<br />
Nagyjabol ennyit kell most tudni rola. A kovetkezo lepesben tovabb finomitom a bolygok veszelyessegenek a felmereset, jo esellyel bevezetem az exposure szamolast, ami azt fogja megmondani, hogy egy bolygo mennyire van kiteve tamasasoknak &#8211; es ennek megfeleloen allapitom meg a vedelmi tartalekot. Valoszinuleg finomitok a zaklatasi taktikan is, es meg jobban fel fogom hasznalni a tartalekaimat a tamadasnal vagy a vedekezesnel. A kezdeti szakaszban bevezetem a veszelyeztetettseg figyeleset is.<br />
Ahhoz kepest, hogy miota fejlesztem a botom, meg mindig eleg sok fejlesztesi/hangolasi lepes van. Az utolso beadasi hatarido November vege. Remelem addigra sikerul bejutnom legalabb az elso 200-ba.<br />
Mint a fentiekbol kiderult, a ket batyam is jatszik. A kozepso batyam botja &#8211; nem keves munka aran &#8211; sokkal jobb, mint az enyem. A legidosebbe meg csak az 1200 koruli tartomanyban cirkal, de ha azt tekintjuk, hogy ez meg csak talan a harmadik vagy negyedik verzioja a botjanak, amit bekuldott, en latok benne fantaziat. Majd tudositok, ha lesz valami..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lusta.hu/2010/10/04/araszolas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google AI Challenge/Contest</title>
		<link>http://www.lusta.hu/2010/09/24/google-ai-challengecontest/</link>
		<comments>http://www.lusta.hu/2010/09/24/google-ai-challengecontest/#comments</comments>
		<pubDate>Fri, 24 Sep 2010 09:15:13 +0000</pubDate>
		<dc:creator>Vagabond</dc:creator>
				<category><![CDATA[Hobbi]]></category>
		<category><![CDATA[Szakmai]]></category>
		<category><![CDATA[Személyes]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[google challenge]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.lusta.hu/?p=903</guid>
		<description><![CDATA[Februarban neveztem eloszor a Google AI challengre, amikor Tront jatszo botot kellett irni. Utolag atgondolva a dolgot, az a feladat nem is annyira az AIrol szolt, inkabb a min-max algoritmus ugyes implementalasarol. Ennek megfeleloen nem voltam tulzottan lelkes, amikor a batyam bejelentette, hogy megint van egy AI challenge, de azert megnezegettem, mi a lenyeg iden. [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_904" class="wp-caption alignleft" style="width: 310px"><a href="http://ai-contest.com/profile.php?user_id=7090"><img src="http://www.lusta.hu/wp-content/uploads/2010/09/battle-300x250.png" alt="Harcban" title="battle" width="300" height="250" class="size-medium wp-image-904" /></a><p class="wp-caption-text">Harcban</p></div>Februarban neveztem eloszor a Google AI challengre, amikor Tront jatszo botot kellett irni. Utolag atgondolva a dolgot, az a feladat nem is annyira az AIrol szolt, inkabb a min-max algoritmus ugyes implementalasarol. Ennek megfeleloen nem voltam tulzottan lelkes, amikor a batyam bejelentette, hogy megint van egy AI challenge, de azert megnezegettem, mi a lenyeg iden.<br />
A mostani jatek szinten nagyon egyszeru elso latasra: Vannak bolygok, amik lehetnek a jatekose, az ellenfele, illetve fuggetlenek. Minden bolygon van egy bizonyos szamu hajo, es a jatekos es az ellenfel bolygoi folyamatosan termelik az uj hajokat a merettol fuggo mennyisegben. A bolygokrol el lehet kuldeni flottakat masik bolyogkra, akik vagy megtamadjak azt (ha ellenfel vagy fuggetlen) vagy csatlakoznak hozza (ha sajat).<br />
Tobbfelekeppen lehet nyerni:<br />
1: lenyomod az ellenfelet teljesen, azaz se bolyogja, se eppen repulo flottaja nincs<br />
2: Ha lejar a kor limit (jelenleg 200) es neked tobb hajod van.<br />
3: Ha az ellenfel rossz lepest ad ki, akkor azonnal vesztett, szoval ilyenkor is te nyertel..<br />
Az utobbi ketto mod amugy dontetlent is eredmenyezhet.<br />
Ez a jatek, bar elsore nagyon egyszerunek latszik, valojaban egeszen osszetett taktikakat igenyelhet, es nincs olyan algoritmus, amivel pikk-pakk meg lehetne nyerni.<br />
Peldaul, azonnal kikuldesz minden hajot, vagy nehany koronkent egy nagyobb flottat? Mennyit tartasz a bolygokon? Figyeled-e az ellenfel mozgasat, vagy csak azzal foglalkozol, hogy te mit akarsz csinalni? A fuggetleneket tamadod, vagy az ellenfelet?<br />
Az en elso botom annyira egyszeru volt, mint egy bot (pun intended). Egy bolygorol kuldtem ki hajokat, az osszes tobbi csak erre a bolygora kuldott minden termelest, meghagyva mindig a bolygon kb. 40 hajot. A &#8220;fo&#8221; bolygo meg kivalasztott a palyarol egy nagy bolygot, aztan odakuldott mindent, amig el nem foglalta. Biztos vannak olyan botok, akiket ezzel a taktikaval meg lehet verni, de nagyon hamar rajottem, hogy a hajoim folosleges utaztatasa eleg folosleges, inkabb minden bolygorol azonnal el kene kuldeni a termelest a celbolygora.<br />
Innen indultam. Mostanra a kod sokszorosan bonyolultabb, a jatek allasatol fuggoen valtoztatja a taktikajat a bot, a bolygok figyelik, hogy tamadjak-e oket, es ha igen, akkor vedekeznek, etc. Nagyon tetszik a kihivas, rengeteget gondolkozom azon, hogy lehetne fejleszteni a taktikat meg, es nezem a meccseimet, hogy hogyan nyertem vagy miert vesztettem.<br />
Akit erdekel, megnezheti az aktualis botom meccseit itt: <a href="http://ai-contest.com/profile.php?user_id=7090">Moonson</a></p>
<p>Egy tovabbi elonye a mostani versenynek, hogy ugy gondoltam, most a valtozatossag kedveert nem Javaban, hanem Pyhonban fogom a botom kesziteni. Korabban a python nyelvvel csak futolag talalkoztam, atolvastam egy konyvet, meg szuttyogtem kicsit a konzolon, de semmi komolyat nem alkottam benne. Ehhez kepest most egy csomo dolgot fel kellett hasznalom, amirol eddig csak halvany elkepzelesem volt, hogy jobb, okosabb, hatekonyabb kodot irjak.<br />
Vicces, mennyire alkalmasak ezek a versenyek a programozas elsajatitasara. A kezdocsomagban kapsz egy kicsi programot, amit kedvedre modosithatsz. Kezdheted egy passziv bottal: semmi mas parancsot nem ad ki, csak a kor veget. Aztan mondjuk fogod a bolygok listajat, kivalasztasz egyet, es odakuldesz 50 hajot. Megnezed, hogy mi tortenik. Aztan tovabb, tovabb, mig a vegen mar lambdakkal es list comprehensionnel dobalozol, hogy egy sorban legyen meg az ellenfel ot legjobb bolygojanak a listaja.<br />
Minden ismerosomnek nagyon ajanlom, aki erdeklodik a programozas irant. Jo kis ujjgyakorlat, kellemes kihivas, es bar gyozni szinte lehetetlen (nagyon okos csavok is jatszanak am) nagyon jo latni, amikor a botod nyer egy harcot. <img src='http://www.lusta.hu/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.lusta.hu/2010/09/24/google-ai-challengecontest/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Az elmúlt napok csendessége</title>
		<link>http://www.lusta.hu/2010/09/17/az-elmult-napok-csendessege/</link>
		<comments>http://www.lusta.hu/2010/09/17/az-elmult-napok-csendessege/#comments</comments>
		<pubDate>Fri, 17 Sep 2010 16:26:49 +0000</pubDate>
		<dc:creator>Vagabond</dc:creator>
				<category><![CDATA[Hobbi]]></category>
		<category><![CDATA[Személyes]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[költözés]]></category>

		<guid isPermaLink="false">http://www.lusta.hu/?p=893</guid>
		<description><![CDATA[Egy ideig nem írtam most. Ennek két oka volt: a költözés és a Google AI Challenge Szombaton áköltöztünk. Három óra volt a cuccokat levinni a kocsihoz, átfuvarozni és felvinni az új lakásba, aztán kezdődött az otthoni pakolás. Estére sikerült a hálószobát olyanná varázsolni, hogy tudjunk benne aludni, és előszedni a legfontosabb dolgokat a mindennapos élethez. [...]]]></description>
			<content:encoded><![CDATA[<p>Egy ideig nem írtam most. Ennek két oka volt: a költözés és a <a href="http://ai-contest.com">Google AI Challenge</a><br />
Szombaton áköltöztünk. Három óra volt a cuccokat levinni a kocsihoz, átfuvarozni és felvinni az új lakásba, aztán kezdődött az otthoni pakolás. Estére sikerült a hálószobát olyanná varázsolni, hogy tudjunk benne aludni, és előszedni a legfontosabb dolgokat a mindennapos élethez. Másnap összeraktunk egy csomó bútort, pakoltunk, takarítottunk. Harmadnap visszamentünk a régi lakásba, ott is kitakarítottunk és összeszedtünk mindent, ami még ott maradt. Így telt el a hétvége, de gyakorlatilag azóta is folyamatosan dolgozunk a lakáson, illetve a költözéssel kapcsolatos problémákon, mint a parkolási engedély vásárlása, illetve a cím átíratása mindenhol. Már csak egy szobában vannak dobozok, zsákok és szétszedett bútorok, ami egészen kényelmes. Az is nagyon jó amúgy, hogy 25 percre van a hely a munkahelytől, az eddigi 1 óra fölötti bejáráshoz képest.<br />
Az AI challenge érdekesen indult. A legutóbbi esemény óta nem voltam olyan nagyon lelkes, hogy megint résztvegyek, de a bátyáim beszélgetése alapján úgy gondoltam, ez érdekesebb lehet. Így aztán elkezdtem beleásni magam a problémába, és teljesen magával ragadott a probléma. Fogok írni majd egy másik blogbejegyzést is róla, mert érdekes dolgokat találtunk ki.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lusta.hu/2010/09/17/az-elmult-napok-csendessege/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Letészem a .. voksot</title>
		<link>http://www.lusta.hu/2010/09/02/leteszem-a-voksot/</link>
		<comments>http://www.lusta.hu/2010/09/02/leteszem-a-voksot/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 10:06:20 +0000</pubDate>
		<dc:creator>Vagabond</dc:creator>
				<category><![CDATA[Személyes]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[desire]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.lusta.hu/?p=871</guid>
		<description><![CDATA[Az iPhone-Android háborúban mindeddig semleges voltam, ma azonban megjött a céges Desire (na jó, ez az én döntésem, választhattam volna iPhone-t is) úh. kvázi elköteleztem magam az Android mellett. Persze ez nem jelenti azt, hogy utálnám az iPhone-t. Épp ellenkezőleg, nagyon jó telefonnak tartom (bár még soha nem volt) és nagyon örülök, hogy oligopol piaci [...]]]></description>
			<content:encoded><![CDATA[<p>Az iPhone-Android háborúban mindeddig semleges voltam, ma azonban megjött a céges Desire (na jó, ez az én döntésem, választhattam volna iPhone-t is) úh. kvázi elköteleztem magam az Android mellett. Persze ez nem jelenti azt, hogy utálnám az iPhone-t. Épp ellenkezőleg, nagyon jó telefonnak tartom (bár még soha nem volt) és nagyon örülök, hogy oligopol piaci verseny van, mert az szerintem nagyon jót tesz a termékeknek, de a cégek se járnak rosszul.</p>
<p>Mindenesetre, neki fogok állni megtanulni az androidos fejlesztést. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.lusta.hu/2010/09/02/leteszem-a-voksot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Régen én is..</title>
		<link>http://www.lusta.hu/2010/08/13/regen-en-is/</link>
		<comments>http://www.lusta.hu/2010/08/13/regen-en-is/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 10:55:35 +0000</pubDate>
		<dc:creator>Vagabond</dc:creator>
				<category><![CDATA[Szakmai]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://www.lusta.hu/?p=832</guid>
		<description><![CDATA[Minap hallottam pár informatikust beszélgetni az utcán. Az egyik mondott egy olyan mondatot, amivel csodálatosan le lehet írni egy csomó régi projektet: &#8220;Persze ezt a változtatást alaposan le kell tesztelni. Hálistennek ott van az az állandó tesztrendszerünk, amit élesnek hívunk&#8230;&#8221; Azért ez egyre ritkább. Jó irányba halad a szakma.]]></description>
			<content:encoded><![CDATA[<p>Minap hallottam pár informatikust beszélgetni az utcán. Az egyik mondott egy olyan mondatot, amivel csodálatosan le lehet írni egy csomó régi projektet:<br />
&#8220;Persze ezt a változtatást alaposan le kell tesztelni. Hálistennek ott van az az állandó tesztrendszerünk, amit élesnek hívunk&#8230;&#8221;</p>
<p>Azért ez egyre ritkább. Jó irányba halad a szakma.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lusta.hu/2010/08/13/regen-en-is/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

