Hirdetés
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- LordAthis: RETRÓnia - RETRÓ Mánia - Úton van hozzám egy csodás történelmi darab!
- Lalikiraly: Kinek milyen setupja van?
- Elektromos rásegítésű kerékpárok
- GoodSpeed: KLINTHOLM 3 fiókos fekete, acél, zárható kiegészítő elem
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Meggyi001: Kórházi ellátás: kuka vagy finom?
Új hozzászólás Aktív témák
-
Geza ba
csendes tag
Javaslom használd az antot ilyenre Bővebben: link. Ha jól emlékszem NetBeans/Eclipse/JEdit/stb-ben van hozzá GUI támogatás.
Edit: Link (harmadikra talán sikerül már
[Szerkesztve] -
andriscs
aktív tag
Hi!
Legegyszerűbb ha írsz rá egy paraméteres batch állományt, ami megkönnyíti a dolgod. Mondjuk ez nem pont Java megoldás. Én Eclispe 3-at használok, de nem találtam meg még benne az automatizált jar állomány létrehozást. És az a legjobb, hogy nem is működik a jar-os megoldás, ugyanis a manifest file-t nem mindig fogadja el, ami felettébb érdekes, ugyanis fél órán keresztül magyarázták, hogy a jar készítés hogy történik, és a manifest file-nak mit kell tartalmaznia. Szóval így megy a dolog:
jar.exe -cvfm manifest akarmi.jar *.class *.jpg
és a manifest filenak ezt kell tartalmaznia:
Main-Class:'Foosztaly'
Ennyi lenne a dolog, szépen létre is hozza a jar file-t, azonban mikor futtatnám, akkor manifest hibával leáll, hogy a manifest által hivatkozott osztály nincs meg. Erre varjatok gombot...
[Szerkesztve] -
andriscs
aktív tag
Hi!
Nem akarok hülyeséget mondani, de ha nem applet-ként csinálod a dolgokat, akkor a szerverre felrakott Java application simán kezeli a szerveren lévő file-okat. Lehet, hogy nem olyan szép egy Java frame, amint leugrik a böngészőből, de legalább normálisan lehetne file-t kezelni. Ha nagy hülyeséget mondtam, akkor bocsika.
Ami az én problémámat illeti, MI-t írni szerintem a legnehezebb programozási feladat. Eddig úgy viselkedik, mint egy kutya, amelyik nincs betanítva
Egészen mást csinál, mint amit én szeretnék. Olvastam valahol egy oldalon, hogy lehet olyan progikat csinálni, amik fejlődnek idővel. Remélem, hogy ez is ilyen, mert egyelőre nagyon buta. Írt már valaki MI-t Java-ban? -
andriscs
aktív tag
Hi!
Kipróbáltam, tök pofás a játék. Tehát jó lehet az a szálas megoldás, mit egy másik kolléga ajánlott, vagy csinálhatod azt, hogy csak akkor engedélyez irányváltást, ha már legalább 1 ''egységet'' mozdult a kigyó feje jobbra vagy balra. Gondolom, hogy ez is megoldható, feltéve ha te nem egészen máshogy programozol, mint én
Majd írd meg, hogy mire jutottál! -
andriscs
aktív tag
Hi!
BME Informatikán vagyok.
Ami a problémádat illeti (bár nem tudom, hogy milyen formában oldottad meg), én általában az ilyen kölcsönös kizárású dolgokat flag-gel szoktam csinálni. A te esetedeben talán az lenne a legjobb, ha irányonként csinálnál boolean flag-eket, és az egymást kizáróakat nem engedélyeznéd (pl. if (előre && !hátra) ... stb. ) Persze emiatt kissé meg kellene variálni az irányítást, de elvileg működne. De ez csak egy ötlet, ha másnak jobb van, szóljon nyugodtan. -
andriscs
aktív tag
Hi!
Persze, hogy örülök
De rájöttem, hogy ez az MI dolog nem is olyan egyszerű. Ezzel is lesz pár gondolkodós órám úgy vélem. A panel-es cuccot nem tudtam megcsinálni, pedig egy másik órán ma erről tanultunk, de semmi ilyesmiről nem volt szó, csak annyit mondtak, hogy a panel a frame egy része. Szóval lehet, hogy azt hanyagolom. -
andriscs
aktív tag
Hi!
Sajnos még nem akadtam rá a panel-es megoldásra, viszont óriási hírem van: hétvégén SIKERÜLT olyan algoritmust írnom, amelyik rendesen keres a négyzethálón, tehát sikerül hibamentesen kerestetni vele ( kb. 3 órát gondolkodtam rajta). Eddig még nem tudtam megszívatni, szóval most már talán menni fog a dolog. Ráadásul a kép betöltése is sikerül, tehát már háttér is van. Ha kész lesz a progi, akkor majd publikálom
Természetesen most MI-t kellene bele rakni. Van elképzelésem, de ha valakinek van valami szuper ötlete, akkor ne kíméljen! -
andriscs
aktív tag
Hi!
Jó a te kódod, hogy vízszintesen, majd függőlegesen utána meg átlósan keresel, de az átlósak nem keresik meg mindet, mert pl a balról jobbbra le csak így fut le: 0-0,1-1,2-2,..., majd utána 0-1,1-2 stb., tehát nem megy végig a 3-0... stb irányokban. Ezért csak a felső karéjt ellenőrzi, tehát kimarad az alja. Erre kellene egy ugyanilyen kereseés, csak fordítva (jobbról balra felfelé, illetve balról jobbra felfelé). Ennyi. Ezt kellene megcsinálni, dfe a héten nem nagyon van rá időm. -
andriscs
aktív tag
Hi!
Sajnos nekem sem volt időm arra, hogy átnézzem újra a kódot, viszont az egyik tanárom elmondta, hogy mi a hiba az eredeti programomban. Ezt beidézem:
''a program azért hibás, mert nem a megfelelő feltétel esetén törlöd a számlálót.
Vegyük például a clone1-et. Ha például 3 darab 0 van egy oszlop végén, pl.
mint itt a harmadik oszlopban, akkor az első elemtől lefelé indulva talál két egyezést,
így clone1 értéke 2. Majd mivel a tábla széléhez ér, a második elmetől
kezdve keres egyezést, és talál egyet, így clone1 értéke már 3, és igazzal tér vissza.
{{'0', 'x', '0', 'x', '0'},
{'x', '0', 'x', '0', 'x'},
{'0', 'x', '0', 'x', '0'},
{'x', '0', '0', 'x', '0'},
{'0', 'x', '0', '0', '0'}}''
Szóval ezért hibás a dolog. A nagy kérdés az, hogy hogyan lehet kijavítani!
De valszeg érdemeseb a te progidat továbbfejleszteni. A lényege az lenne, hogy amikor a te progid balról jobbra megy felülről lefele, akkor utána egy jobbról balra felfelé ugyanolyan ciklus kell. És ugyanez a másik irányban is, csak ott meg fordítva. Remélem érthető. -
andriscs
aktív tag
Hi!
Kicsit átírtam a kódot, hogy világosabb legyen, tettem bele megjegyzéseket. Természtesen értem, ogy mit csinála kód, a látszólagos kuszasága ellenére eléggé szimpla kód, csak sokat ismétlődik, apróbb változásokkal. Szóval a koncepció az, hogy minden kattintás után a függvény végigfut a tömbelemeken, ls megvizsgálja, hogy van-e valamelyik irányban 4 egyforma jel. A lényeg (tehát a keresés) mindenhol ugyanaz, csak az irány változik, szóval lényegében 8x fut le ugyanaz a kód, nagyon minimális eltéréssel. Ami a for ciklusok feltételeit illeti, az azért annyira bonyolult, mert ugye nem léphetek túl a tömb határain, tehát pl. az 1,1 elemtől nem tudok 4-et balra menni, mert az már kilépne a tömbből. Tehát biztonsági intézkedések miatt van a hosszfigyelés. Ha még valami nem tiszta, akkor magyarázok, de itt az új kód (ez már csak max. 4 egyforma elemet talál):
public boolean searchEngine() //need to check
{
for(col=0;col<size;col++) //oszlopokon lépked
{
for(row=0;row<size;row++) //sorokon lépked
{
for(int count=1;row+count<game.length && count<4;count++) //soron jobbra
{ //ameddig nem éri
if (game[row+count][col]==(game[row][col])) //el a tömb szélét v. 4 jelet
{
clone1++; //ha van egyforma, növeli
if (clone1==3) return true; //min. 3 kell, hogy összesen 4 legyen
}
else clone1=0; //ha nincs egyforma, nullázza a számlálót
}
for(int count=1;row-count>-1 && count<4;count++){ //elemtől balra megy
if (game[row-count][col]==(game[row][col])) //stb...
{
clone2++;
if (clone2==3) return true;
}
else clone2=0;
}
for(int count=1;col+count<game.length && count<4;count++)
{
if (game[row][col+count]==(game[row][col]))
{
clone3++;
if (clone3==3) return true;
}
else clone3=0;
}
for(int count=1;col-count>-1 && count<4;count++)
{
if (game[row][col-count]==(game[row][col])) {
clone4++;
if (clone4==3) return true;}
else clone4=0;
}
for(int count=1;(row+count<game.length) && (col+count<game.length) && count<4;count++)
{
if (game[row+count][col+count]==(game[row][col]))
{
clone5++;
if (clone5==3) return true;}
else clone5=0;
}
for(int count=1;(row-count>-1) && (col-count>-1) && count<4;count++)
{
if (game[row-count][col-count]==(game[row][col])) {
clone6++;
if (clone6==3) return true;}
else clone6=0;
}
for(int count=1;(row+count<game.length)&& (col-count>-1) && count<4;count++)
{
if (game[row+count][col-count]==(game[row][col]))
{
clone7++;
if (clone7==3) return true;}
else clone7=0;
}
for(int count=1;(row-count>-1) && (col+count<game.length) && count<4;count++)
{
if (game[row-count][col+count]==(game[row][col]))
{
clone8++;
if (clone8==3) return true;}
else clone8=0;
}
}
}
return false;
} -
andriscs
aktív tag
Hi!
Az ilyen file-kezelésről nem nagyon tudok még dologokat, de asszem itt is valami FileInputStream kell, meg adatcsatornák, ilyesmi. Szerintem nézz körül a Sun honlapján.
Nem tudom, hogy miért nem működik, de kiírja, hogy a paraméterlistában vessző helyett ) kell. Szóval nem megy. Megnézem, hátha találok mást is. Egyelőre a háttér a legkisebb bajom. Fontosabb a hégyzethálóm problémája, amit sehogy se lehet megoldani. Azt hiszem, ez lesz a diplomamunkám: Univerzális hálóprobléma, avagy egy újabb NP probléma, amelyik megoldásra vár.
-
andriscs
aktív tag
Hi!
Itt egy link, remélem, nem gond, hogy angol:
Bővebben: link
Az én problémámra nem talál senki megoldást? Már el tudom érni, hogy 1 irányban max 3 egységig keressen, de még mindig talál derékszögű dolgokat. Help me!
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- GYÖNYÖRŰ iPhone 13 Pro 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3356
- HIBÁTLAN iPhone 13 mini 128GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3840, 100% Akksi
- Minis Forum Mini PC MS-A2 Ryzen 9955HX RAM és SSD nélkül 1 év garanciával
- Bomba ár! Dell Latitude 5491 - i7-8850H I 16GB I 512GB SSD I 14" FHD I HDMI I Cam I W10 I Gari!
- Lenovo Thinkpad T14 Gen 3, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

De rájöttem, hogy ez az MI dolog nem is olyan egyszerű. Ezzel is lesz pár gondolkodós órám úgy vélem. A panel-es cuccot nem tudtam megcsinálni, pedig egy másik órán ma erről tanultunk, de semmi ilyesmiről nem volt szó, csak annyit mondtak, hogy a panel a frame egy része. Szóval lehet, hogy azt hanyagolom.


