Ú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ítvaEgé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 énMajd í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ökDe 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
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Vicces képek
- Építő/felújító topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- LEGO klub
- Spórolós topik
- exHWSW - Értünk mindenhez IS
- Milyen billentyűzetet vegyek?
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- ArmA 3 - This Is War
- Telekom mobilszolgáltatások
- További aktív témák...
- Eladó konfig! Ryzen 7 7800X3D 2TB SSD 64GB DDR5 RX9070XT 16GB!
- Új, makulátlan állapotú Samsung Galaxy Buds FE, fehér, fél év garancia
- Új, makulátlan állapotú Samsung Galaxy Watch7 44mm ezüst, 2 év garancia
- Új, makulátlan állapotú Samsung Z Fold 6 256GB Tengerészkék, független, 2 év garancia
- Használt TP-Link Deco M4 - AC1200 Router (Mesh-ként is használható)
- Eladó ÚJ, BONTATLAN Samsung Galaxy A05s 4/64GB ezüst / 12 hónap jótállással!
- Csere-Beszámítás! Asus Rog Strix RTX 3070Ti 8GB GDDR6X Videokártya!
- Apple iPhone 13Pro 128GB Kártyafüggetlen 1Év Garanciával
- Telefon felvásárlás!! Xiaomi Redmi Note 13, Xiaomi Redmi Note 13 Pro, Xiaomi Redmi Note 13 Pro+
- Lenovo ThinkPad X270 (16) - i5-7300U, 16GB, 512GB SSD, 12" FULL HD
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest