A HelloWorld után elkészítettem életem első J2ME alkalmazását, egy elég bugyután kivitelezett Sudoku játékot. Unalmas percekre és a fejlesztgetés közben a J2ME (és a Java nyelv) mélyebb megismerésére tökéletesen alkalmas lesz, ezért publikálom. A következő az lesz, hogy megírom Android alá is, esetleg párhuzamosan pofozgatom mind a kettőt. A cucc forráskóddal együtt letölthető (bezippeltem az egész Eclipse projectet). Igaz, a kódot szokásomhoz híven ezúttal is sikerült túl bőbeszédűen kommentálni, de annyi baj legyen.
A Sudoku táblát elég favágó módon generálja: egy beégetett megoldás oszlopait és sorait permutálja, majd véletlenszerűen elhagyja az elemek kb. felét.
Az irányítás mehet joystick-kel, ekkor a dzsojjal lehet lépkedni, a számgombokkal pedig a táblát kitölteni (törölni a 0-val lehet). Hibás számot nem enged beírni a táblázatba, az egyszerűségre törekedtem. A * gombbal ki lehet kapcsolni a joystick-módot, ekkor a számgombokkal lehet navigálni minden irányba, az ötös lenyomásával pedig begépelhető a tipp. Rosszat ilyenkor sem enged beírni. Ha mégis máshova szeretnénk tippelni, a # gombot kell megnyomni. Nagyjából ennyi a lényeg, a többi kiderül a kódból. A billentyűzet kezelésére bizonyára kulturáltabb megoldás is létezik, mint amit összehoztam. Valahol el kell kezdeni. ;-)
A Java mellesleg jóság. Állítólag úgy lehet megtanulni könnyen Javaul, hogy az ember sokat felejt C++-ból. :-)
Címkék: java j2me sudokuEddigi vélemények (14):
2008-02-18 15:59:26
Feltöltöttem az elvileg jól működő verziót. A prog.hu-n van egy friss topic, innen el lehet indulni. A Java nyelvet magát Nagy Gusztáv Java jegyzetéből tanulgatom, ha van némi C++ tapasztalatod, akkor gyorsan lehet ezzel a jegyzettel haladni.
A J2ME-vel Google barátom és a Sun dokumentációja alapján barátkozom, illetve az Eclipse kódkiegészítését is kihasználom. :-)
2008-02-18 19:02:12
mostanaban en is tanulgatom a nyelvet. van benne par furcsasag, /*pl a switch statement nem megy stringekkel*/ de az oo szemlelet kiraly.
sok sikert!
2008-02-19 16:02:07
A switch statement normális erősen típusos nyelveken csak integral típusokkal megy (ilyen a felsorolási, és különböző egész típusok). A C++ és a Java is így műkszik. Ez nem bug, hanem feature, alaposan átgondolt feature. Amúgy ajánlatos a Java fejlesztéshez elolvasni Bruce Eckel Thinking in Java című könyvét (lehetőleg a legújabbat, a 4-ik kiadást, mert abban talán Java 6 is van, de Java 5 biztos). Amúgy ha Java-t tanulsz, minenképp olyan könyvből, ami már az 5-öt is tárgyalja, mert az alatt sok minden elég bénán van megoldva (pl: nem léteztek generic-ek, stb.).
2008-02-19 17:08:20
Talien: feature, de ettol meg "furcsasag". a scriptnyelvek utan legalabbis ez vagott fejbe a leginkabb. es koszonom a tippet.
kritizali
2008-02-21 11:19:59
Elevx: Ha Delphiben meg PHP5-ben nem OOP-ztál, akkor bizony illik letörni a saját kezed. Mivel főleg a Delphi alapból OOP alapú, de a PHP 5 is komoly objektum-orientált modellezési képességekkel rendelkezik. Az OOP-ban igazából ami újdonság, az a szemlélet, illetve az, hogy illik megatanulni, adott problémához hogyan építesz fel egy osztály/objektum alapú modellt, amit könnyű implementálni, és újrafelhaszálni. http://aszt.inf.elte.hu/~nyeky/Prny3ea/ itt meg lehet nézni a diákat, nem csak az OOP-hoz kapcsolódókat, elég hasznos anyag. Ja, és kérdés: van valakinek ötlete egy nextgen ablakkezelőbe/asztalikörnyezetbe mit illik beletenni? (kezd elegem lenni a start menü-s mentalitásból, valami újon gondolkozok.).
2008-02-21 16:38:07
Talien:Köszi szépen! (egyépként kihangsúlyoztam az OOP szócskát a PHP5 után ;) ) Next Gen ablakkezelő hmm... Szerintem:Olyan google desktop search féle lehetne... és listázhatná a leggyakrabban használt programokat, lehetne benne startmenus mentalitás de akkor, mindent szigorúan osztályozni kell kategóriák szerint...
2008-02-21 19:02:28
ElevX: pl olyasmire gondoltam, hogy középen lenne egy kör alakú menü, ami csak külön gombnyomásra, vagy mouse gesture-re jönne elő. A menüpontok meg piktogrammok lennének, mert azt az ember könnyebben megjegyzi, és könnyebben keresi meg. Ez persze feltételezés, kíváncsi lennék, hogy válna be. Amúgy ha valaki vállal egy kis C++ programozást, azt szívesen látom, illetve ha vki vállalna felülettervezést, azt is :D ( C++ -hoz nem árt egy kis Xlib tudás sem, de amennyi jelenleg kell, azt egy hét alatt el lehet sajátítani :D )
2008-02-25 03:01:59
ezek a szinek mindig is ilyenek voltak? vagy most hogy bütyköltem valamit a monitoron így látom csak kellemesebbnek? :D
na, de a desktop témához lenne ötletem. nem tudom telefonra vagy mire szeretnétek, és csak a saját elkézelésem, igényem tudom kifejteni:
az ilyen leggyakrabban használt programok dologra azt mondanám, hogy ha nem fullad logikai kudarcba a forradalom kitörése és lesz hely még a falnál az elsők között, akkor aki ilyet kitalált, azt szeretném elsők között falhoz állítani :D ki nem állhatom ha változik egy jól megszokott menüstruktúrám annak függvényében hogy van-e kedvem/időm egy bizonyos alkalmazásra vagy sem
másfelől ez a középen gomb dolog nem újkeletű ötlet. anno - sok sok olvasással és kevesebb sikerrel - elkezdtem egy ablakozó rendszert valamikor a kilencvenes évek közepe felé még dos alatt. nem lett belőle semmi, de az ötletet továbbra is használhatónak tartom, ezért leírom, hátha jó lesz nektek is.
alapból semmi nincs a képenyőn, max háttérkép. kattintásra a kattintás helyén helyi menü jelenik meg maximalizált menüelemmel (én szövegesen kiirva gondoltam akkor, de az ikonos dolog tényleg jobb ötlet) külön jelzés szolgálna arra hogy valami újabb menüelem vagy program (menü esetén a 3 pont a végén)
futó program minimalizálás esetén ikonként jelnik meg az asztalon. ja és még valami: a kattintás rendszerkattintás (én anno a jobbegeret szántam erre, és balegérre minden mást) azért, hogy a főmenü bármikor bárhol előhívható legyen
másik: akkor még nem ismertem, azóta volt szerencsém összebarátkozni az autodesk cég inventor progijával munka miatt. nos... hogy is mondjam... kurva jó :D minden pillanatban csak azt látom a menün amit épp tehetek, nem pedig egy halom felesleges dolgot. pl 2d nézetben semmiféle 3d művelet nem jelenik meg, és forditva. de vég nélkül sorolhatnám ezeket.
na kb ennyi. ja meg hogy én 3x3 de maximum 4x4 menüs dologban gondolkodnék, nem jó a bonyolultság...
ja és egy kis adalék ha már start menü. szóval nekem valahogy igy néz ki:
-gém (itt vannak azon kevés -főként logikai- játékok amiket elviselek)
-más (amiket nem tudtam besorolni)
-nem (olyan programok amiket szinte sosem futtatok de törölni meg nincs szivem)
-net (internettel kapcsolatos programok)
-pic (képszerkesztők, videolejátszók)
-sys (rendszerprogramok)
-txt (szövegszerkesztők)
-zaj (zene :) )
ezen kivül számos programhoz hotkey került beállitásra, hogy még kattintani se kelljen. és megszoktam ezt az osztályozást, lassan bő egy éve, és rosszul esne ha meg kéne tőle válnom valamiért. nekem logikusnak tűnik :)
na, bocs hogy ennyit offoltam :D
2009-09-08 12:48:12
Én is nemrég készítettem el az első játékom, és már javában készül a második is.
Az első nekem egy ötödölő volt, először shell-es java program volt amit kötelező programnak készítettem el(a feladat nem az volt hogy egy ötödölőt írjunk, hanem hogy a program tartalmazzon bizonyos dolgokat). Majd átírtam java böngészőben futtatható appletre, majd végül mobiltelefonra, tökéletesen fut a saját telefonomon(k310i) és barátnőm új telefonján is(c510), a játék letölthető a forráskóddal együtt. Rögtön belekezdtem egy újabb játék írásába The Wreckhunter címen, amiről videó is van.
![[RSS]](images/rss_small.gif)










2008-02-18 11:56:05
Amúgy bugzik, a blokkokat rosszul ellenőrzi. :-(