Hirdetés

2024. április 26., péntek

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Java programozás (kiemelt téma)

Hozzászólások

(#1) andriscs


andriscs
aktív tag

Hi!

Láttam, hogy nincs igazi Java topic, ezért gondoltam, én nyitok egyet, jó lenne, ha itt kérdezgetnénk Java-s dolgokat. Szóval, hogy megnyissam a sort, lenne is egy kérdésem. Szóval van egy egyszerű Java alkalmazás, é szeretnék beolvasni az inputról. Van két {B}int tpusú változó, és {B}readCharacter(){/B} függvénnyel próbáltam beolvasni, de nem igazán ismeri a függvényt a fordító. Mit kell importálni, hogy működjön?

Kb. ilyen a progi:
class xy{
public static void main(String []args)
{
int x;
int y;
x=readCharacter();
y=readCharacter();
}
}

Ha van ötlet, írjatok!!

Andris - http://andriscs.blogspot.com

(#2) Szenty válasza andriscs (#1) üzenetére


Szenty
tag

Hali!

Ezt máshogy lehet csak megoldani.
Most már túl álmos vagyok a válaszhoz, de addig is, amíg fel nem ébredek, töltsd le az alábbi filet:
ftp://ftp.gdf.hu/Public/Java/javaprog.zip

Ebben lesz egy Extra nevű csomag, abban egy Console nevű osztály. Abban van számbeolvasó rutin (mert amúgy csak stringbe lehetne).

Alszok...
Szenty

[Szerkesztve]

(#3) andriscs válasza Szenty (#2) üzenetére


andriscs
aktív tag

Hi!

Nekem jó az is, ha String-be olvassa be, mert utána átalakítom parseInt-el, de a readCharacter sehogy sem működik. String-gel hogy kell?

Andris - http://andriscs.blogspot.com

(#4) WuDu válasza andriscs (#1) üzenetére


WuDu
tag

Input.readInt();

(#5) andriscs válasza WuDu (#4) üzenetére


andriscs
aktív tag

Hi!

És ezzel most mit kezdjek? Mi az input? Mert nem igazán ismer ilyen függvényket, bármit import-álok be. ha xyválozó.readInt() van, akkor nem lehet hívni, ha csak magában readInt() van, az úgy nem elérhető, ha osztályszinten csinálom, az se jó. Szóval ez így nem működik. Kicsit bőveb help?

Andris - http://andriscs.blogspot.com

(#6) Alvin_ti4200 válasza andriscs (#1) üzenetére


Alvin_ti4200
félisten

Az említett Console osztály segítségével a Console.ReadInt() paranccsal tudod beolvasni őket, ha ki akarsz írni vmit a beolvasás elé, pl., hogy ''írj be egy számot'', akkor x=Console.ReadInt(''Írj be egy számot''). Persze ha jól emléxem:)

(#7) faster válasza Alvin_ti4200 (#6) üzenetére


faster
nagyúr

Console.ReadInt() ? A Console nem .NET osztály?

Mod: Ja nem, van Java is. Az Console.readInt();

[Szerkesztve]

(#8) Alvin_ti4200 válasza faster (#7) üzenetére


Alvin_ti4200
félisten

Nem, arról az osztályról van szó, amiről a kolléga fentebb beszélt.

(#9) faster válasza Alvin_ti4200 (#8) üzenetére


faster
nagyúr

Ez valami extra osztály, nem a Java része?

(#10) andriscs válasza Alvin_ti4200 (#6) üzenetére


andriscs
aktív tag

Hi!

Oké, de akkor ebből a Console osztályból kellene származtatnom az eredeti osztályt, hogy elérjem a Console class metódusait. De ez a Console nem ''gyári'' Java osztály, hiába írnám be, hogy class xy extends Console. Szóval vmi eredeti Sun inputolvasás nincs? :)

[Szerkesztve]

Andris - http://andriscs.blogspot.com

(#11) faster válasza andriscs (#10) üzenetére


faster
nagyúr

Van inputolvasás, anélkül nehéz lenne bármit is csinálni. de már olyan rég foglalkoztam Java-val, alig emlékszem.
Nem tudom, talán a System.in InputStream-nek kéne a tagfüggvényeit megnézni.

(#12) andriscs válasza faster (#11) üzenetére


andriscs
aktív tag

Hi!

Megnéztem, létezik olyan, hogy System.in.read(), és elvileg van olyan verziója, ami int-et kér argumentumnak, de miután megkapja, gondol egyet, és kér még egy int-et, meg egy byte-ot. Pedig van olyan read aminek 1 int argumentum kell. Szerintem be van b*szv* a fordítóm. :)

Andris - http://andriscs.blogspot.com

(#13) andriscs válasza andriscs (#12) üzenetére


andriscs
aktív tag

Hi!

De lehet, hogy én is be vagyok :) Késő van már, nem tudom, miért ilyenkor programozok. Szóval melyik a jó verzió(amúgy egyik sem működik):
int first=System.in.read();
vagy:
System.in.read(first);
?

Andris - http://andriscs.blogspot.com

(#14) faster válasza andriscs (#12) üzenetére


faster
nagyúr

Egy példa:

Bővebben: link

Ebből már bizonyára tudsz parseInt-tel számot csinálni.

Ezért nem emlékeztem erre, mert bonyolult. BufferedReader, InputStreamReader, readLine(); sok ez egyszerre. :DD

[Szerkesztve]

(#15) Alvin_ti4200 válasza faster (#9) üzenetére


Alvin_ti4200
félisten

nem a Java része

(#16) Alvin_ti4200 válasza andriscs (#10) üzenetére


Alvin_ti4200
félisten

Csinálsz egy Console nevű osztályt és belemásolod a letöltött Console osztály minden sorát, a package extra sort pedig kitörlöd. Így már elvileg tudsz majd hivatkozni rá.

(#17) faster válasza Alvin_ti4200 (#15) üzenetére


faster
nagyúr

Mondom, hogy eredetileg .NET osztály. :DD

(#18) andriscs válasza Alvin_ti4200 (#16) üzenetére


andriscs
aktív tag

Hi!

Ez így oké, de majd mikor ZH-t írok Java-ból, akkor mit írjak a lapra? Hogy tessék tanár úr, itt egy link, ezen ellenőrizheti, hogy az általam használt Console osztály létezik, csak nem jegyeztem meg, de amúgy müködik. :) Megpróbálom ezt a BufferedInputStream.In.Read.Int.Load.Integer.ReadLine.DoWork.Already.Java.Very.Easy.ToUse.This.Input.Read() függvényt, talán működik :D

Andris - http://andriscs.blogspot.com

(#19) andriscs válasza andriscs (#18) üzenetére


andriscs
aktív tag

Hi!

Működik a dolog, csak csináltam auto-formázást, és a csodálatos progi átrakott egy {-t, így minden a catch alá került, persze, hogy nem futott le. Ez így elég hosszadalmas dolog, de ha nincs ló, jó a szamár is (én is megnéztem C#-ban van olyan Console-os readInt() ). :)

[Szerkesztve]

Andris - http://andriscs.blogspot.com

(#20) andriscs


andriscs
aktív tag

HI!

Címkézett vezérlésnél mi a teendő? Elvileg csináltam egy ide: cimkét, majd használtam a break ide parancsot, de hibát jelez, hogy a cimke hiányik. Hova kell rakni?

Andris - http://andriscs.blogspot.com

(#21) andriscs válasza andriscs (#20) üzenetére


andriscs
aktív tag

Hi!

Megvan a hiba, hiába, minden ember a saját példáján okul. :)

Andris - http://andriscs.blogspot.com

(#22) andriscs


andriscs
aktív tag

Sziasztok!

Új problémával állok elő. Szóval van egy 2 dimenziós tömb, amiben azt vizsgálom, hogy egy adott elemtől indulva az elemet körbevevú 8 irányban találok-e még legalább 3 ugyanolyan elemet (amőba jellegű a dolog). A probléma azt, hogy a tömb belsejében tökéletesen működik a dolog, de a széleken mintha összeadná az összes találatot. Emiatt megcsináltam úgy, hogy minden irányban új változó tárolja a találatot, de így sem működik. Nincs ötletem, hogy mi a hiba. Természtesen a tömböknél figyelni kell, hogy ne lépje túl a tömb határait. Bemásolom ide az adott függvény kódját, hátha valaki rátalála hibára:

public boolean searchEngine() //need to check
{
int clone1=0;
int clone2=0;
int clone3=0;
int clone4=0;
int clone5=0;
int clone6=0;
int clone7=0;
int clone8=0;

for(row=0;row<size;row++)
{
for(col=0;col<size;col++)
{
for(int count=1;row+count<game.length;count++){
if (game[row+count][col].equals(game[row][col])) {
clone1++;
if (clone1>=3) return true;}
else clone1=0;
}
for(int count=1;row-count>-1;count++)
if (game[row-count][col].equals(game[row][col])) {clone2++;
if (clone2>=3) return true;}
else clone2=0;
for(int count=1;col+count<game.length;count++)
if (game[row][col+count].equals(game[row][col])) {clone3++;
if (clone3>=3) return true;}
else clone3=0;
for(int count=1;col-count>-1;count++)
if (game[row][col-count].equals(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++)
if (game[row+count][col+count].equals(game[row][col])) {clone5++;
if (clone5>=3) return true;}
else clone5=0;
for(int count=1;(row-count>-1) && (col-count>-1);count++)
if (game[row-count][col-count].equals(game[row][col])) {
clone6++;
if (clone6>=3) return true;}
else clone6=0;
for(int count=1;(row+count<game.length)&& (col-count>-1);count++)
if (game[row+count][col-count].equals(game[row][col])) {clone7++;
if (clone7>=3) return true;}
else clone7=0;
for(int count=1;(row-count>-1) && (col+count<game.length) ;count++)
if (game[row-count][col+count].equals(game[row][col])) {clone8++;
if (clone8>=3) return true;}
else clone8=0;
}
}
return false;
}

Akinek van ötlete, ne kíméljen!

Andris - http://andriscs.blogspot.com

(#23) Miracle válasza andriscs (#22) üzenetére


Miracle
senior tag

mondjuk azt nem vágom, hogy mit akar az a hosszú függvény amit leírtál, mert a kommenteknél csak a whitespacekkel bántál fukarabbul(jó, ez lehet, hogy a PH), nomeg hajnali 2 van... de abból amit mondtál talán segíthet, hogy ha n*m-es a meződ, akkor (n+2)*(m+2) méretű tömbben tárolod, aminek a szélső soraiban és oszlopaiban nincsen csak 0 vagy az, amivel jelölöd, hogy nincs ott semmi, és okosan írod meg a hozzáférő-függvényeket, úgy, hogy a felhasználó ebből semmit se lásson, tobábbra is n*m-esként kell paraméterezni. azaz amikor kap egy n*mes paramétert, hozzáad egyet egyet.
mondjuk nyilván van elegéns megoldás is a problémára, de ahoz egy szépen igazított kód kellene ide bekommentelve.

értelmező késziszótár :: rekurzió --> lásd : rekurzió

(#24) andriscs válasza Miracle (#23) üzenetére


andriscs
aktív tag

Hi!

Azt hiszem, hogy egy ilyen, viszonylag egyszerű kódot nem kell agyonkommentezni. A lényege az, hogy minden egyes elemtől indulva végigmegy az irányokon. amit mondazs, azt más is ajánlotta már, de nem tudom, hogy miért jobb az, ah a for ciklusok feltételében ez van, hogy a következő elem 0 (ami a keretező tömbelemeket jelentené), vagy hogy ne lépje túl a tömb htaárait. Ennek így is működnie kellene. Amit te ajánlasz, az annyiban változtatná meg a kódot, hogy for(count=1;game[row+count][col]!=''0'';count++). De ez pontosan azt csinálná, mint hogy elér az eredeti tömb széléhez, ami az én feltételeimben van.

Andris - http://andriscs.blogspot.com

(#25) andriscs válasza andriscs (#24) üzenetére


andriscs
aktív tag

Hi!

Úgy látom, hogy tényleg el kell megyaráznom, hogy hogyan működik a függvény. Szóval a külső 'for' ciklus a tömb oszlopain lépdes egyesével, az abba beágyazott 'for' pedig a sorokon lépked, magyarul a két 'for' bejárja a 2D-s hálót. A kis 'for' ciklusok az adott elem (game[row][col]) értékét hasonlítják össze egy bizonyos irányban a többi tömbelemmel (tehát mikor pl- game[row+count][col] van, akkor egy soron megy végig addig, amíg el nem éri a tömb szélét). Minden irányban más változó tárolja az azonos elemek számát. Mikor ez a változó elérte a 3-at, akkor van 4 egyforma elem ugyanabban az irányban. Ilyenkor lesz a return true. Egyébként pedig false. Szóval egy elég primitív algoritmus. Csak ezt nem értem, hogy miért nem működik a széleken. Ha valaki rájön a megoldásra, szóljon!

Andris - http://andriscs.blogspot.com

(#26) andriscs


andriscs
aktív tag

Hi!

Látom, hogy senkit sem mozgat az előbbi probléma, most viszont van egy újabb. betöltöttem egy képet így: Image img=Toolkit.getDefaultToolkit().getImage(''bg.jpg''); Ezután egy a metódusban meghívtam ezt: g.drawImage(img,0,0,Color.RED,this);, ennek ellenére csak egy fehér képet kapok. Mi a hiba?

Andris - http://andriscs.blogspot.com

(#27) andriscs válasza andriscs (#26) üzenetére


andriscs
aktív tag

Hi!

Arra már rájöttem, hogy miért fehér a háttér, de a képet még mindig nem tölti be. Van ötletetek?

[Szerkesztve]

Andris - http://andriscs.blogspot.com

(#28) andriscs válasza andriscs (#25) üzenetére


andriscs
aktív tag

Hi!

Azt hiszem, hogy megtaláltam a 2000-es év 101. matematikai problémáját, ugyanis a kód szintaktikailag jó, és véleményem szerint szemantikailag is, csak éppen nem úgy működik, ahogy kellene, de ne, jövök rá, hogy mi okozza az anomáliát. Ha valaki tudna segíteni, annak nagyon örülnék, mindegy, hogy milyen nyelven próbálja ki, nekem még pszeudo-kód is jó, csak valaki nézzen már rá, hogy mi a hiba! Arra már rájöttem, hogy akkor is talál megoldást, ha egy irányban elszórva vannak azonos elemek. De ez még nem magyarázza meg, hogy a derékszögű 4-es sort miért találja meg. Légyszi segítsetek!

Andris - http://andriscs.blogspot.com

(#29) Kr1xX


Kr1xX
csendes tag

import java.awt.*;
import java.applet.Applet;

public class Valami extends Applet {
Image background;

public void init() {
background=getImage(getCodeBase(), ''egyKep.gif'');
}

public void paint(Graphics g) {
g.drawImage(background, 0, 0, this);
}
}

Én ezt ha lefordítom, akkor kirajzolja a képement. Próbáld meg lefuttatni te is ezt először, aztán módosítsd kedvedre. Ja értelem szerűen az ''egyKep.gif''-nek léteznie kell abban a könyvárban, ahol a class is van!

(#30) Kr1xX


Kr1xX
csendes tag

Nekem is van egy kérdésem. Írtam egy Snake apletet, de annyi bajom van vele, hogy ahhoz, hogy a kígyó az mozogjon, ahhoz animálno kell, tehát azadott területet minig repaint()-elnem kell mozgásonként. Ettől viszont néha villog a kép. Láttam már viszont olyan megoldásokat is, ahol ezt megoldották valahogy. Tud e valaki segíteni, mi ennek a titka?

(#31) andriscs válasza Kr1xX (#30) üzenetére


andriscs
aktív tag

Hi!

Segítek, ha te is nekem :) Na jó, ilyenkor kell double buffering-et használni, hogy ne villogjon. A neten rengeteg cucc van róla, lényegében Foreground és Background -okat kell váltogatni (ha jól emlékszem)

Andris - http://andriscs.blogspot.com

(#32) Kr1xX


Kr1xX
csendes tag

Thx, esetlen ha tudsz dobj egy linet is ;) ! Egyébként ha tudok persze segítek!

(#33) andriscs válasza Kr1xX (#32) üzenetére


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!

Andris - http://andriscs.blogspot.com

(#34) andriscs válasza Kr1xX (#29) üzenetére


andriscs
aktív tag

Hi!

Kipróbáltam, de így nem működik. A getImage() metódus csak egy paraméterrel működik, nem lehet egyszerre getCodeBase() és képnév is a paramétereknél. Tuti így működött neked?

Andris - http://andriscs.blogspot.com

(#35) Kr1xX


Kr1xX
csendes tag

Kössz a linket! Lehet nem értem a problémádat... ha én képeket akarok megjeleníteni mindig így csinálom, igen nekem így működik. Egykét munkám eddig: http://sztyan.uw.hu/Sztyan/java/java.htm

(#36) Kr1xX


Kr1xX
csendes tag

Uhh, volna még egy kérdésem: játékhoz toplistát szeretnék írni. Ehhez pedig azt kellene egoldani, hogy nevet és eredményt kiírni egy fájlba. Ezzel nincs is gond, csupán annyi,hogy apletben nem sikerült megoldanom. Be tudok olvasni TextField-ből egy stringet me minden,de nem tudom, hogy lehetne kiírni egy fájlba (alkalmazásnál tökéetesen működik, de applenél nem megy).

(#37) andriscs válasza Kr1xX (#36) üzenetére


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. :)

Andris - http://andriscs.blogspot.com

(#38) Kr1xX


Kr1xX
csendes tag

Mert mit kellene a négyzethálóddal kezdeni?

(#39) andriscs válasza Kr1xX (#38) üzenetére


andriscs
aktív tag

Hi!

Olvasd el a #22 üzenetet, ott leírtam. De ddig még senki nem tudta megoldani.

[Szerkesztve]

Andris - http://andriscs.blogspot.com

(#40) Kr1xX


Kr1xX
csendes tag

Csak egy őszinte megjegyzés, aztán elkezdek kondolozni is. Így végigolvasva a forráskódod, csodálom, hogy ezt a sok feltételt még a géped felfogja, és lefordítja. Persze nem cseszegetni akarlek, mert már velem is előfordult, hogy nagyon nem jöttek össze a dolgok, aztán jöttek a feltételek egymás után, hogy szűrjem vele a hibákat, kivételeket...DE az kizárt, hogy ezt más is felfogja rajtad kívól, feltéve ha te még érted. Ja meg olyan tömör egy kicsit. Azt javaslom, inkább fogalmazd meg a problémádat pontosabban, azzzal talán rövidebb átláthatóbb és frappánsabb kódokat kaphatsz cserébe.

(#41) andriscs válasza Kr1xX (#40) üzenetére


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;
}

Andris - http://andriscs.blogspot.com

(#42) Kr1xX


Kr1xX
csendes tag

http://sztyan.uw.hu/Andris.rar

(#43) Kr1xX


Kr1xX
csendes tag

Annyi hozzáfűznivalóm van, hogy tiszta lappal indultam, mert nekem úgy könnyebb. Egy 10x10-es integer mátrixban keres egymás mellett 4 ugyan olyan számot, és ha talál, akkor azt írja ki a konzolra, hogy talált, egyébként, hogy nem. Még annyi megjegyzés, hogy felesleges pl vízszintnél jobbról + balról viszgálgatni, mert ha balról jobbra haladva találunk egymás mellet 4 ugyanolyan értéket, akkor nyílván jobbról balrahaladva is :). Ugyanez igaz a többi irányra. Tesztelgessed, állítsd át a mátrix értékeit kölönböző helyeket azonos értékűre, és kerestesd meg vele. Nekem műxött. Próbáld értelmezni a kódot, hátha tudtam segíteni...

(#44) andriscs válasza Kr1xX (#43) üzenetére


andriscs
aktív tag

Hi!

Csak most olvastam, hogy válaszoltál, ezért lehet, hogy így éjjel nem látom át tisztán, de nagyon köszönöm a segítséget, örülök, hogy vannak ilyen segítőkész emberek. Remélem, hogy nálam is működni fog!

Andris - http://andriscs.blogspot.com

(#45) andriscs válasza andriscs (#44) üzenetére


andriscs
aktív tag

Hi!

Nem tudtam megállni, és teszteltem, úgy néz ki működik. Ahogy átnéztem a kódodat, rájöttem, hogy az enyém túlságosan körülményes, a tied viszont lényegretörő. Az egyik tanáromnak is írtam már, aki azt ajánlotta, hogy vigyázzak, mivel én String tömben tárolom a dolgokat, és a sima == csak referencia, inkább használjak equals() tagfüggvényt, mert az ő szavaival élve a ''programom egy időzített bomba''. Remélem, hogy azzal már rendesen működni fog, most már csak egy alap mesterséges intelligencia kell bele, aztán mehet a dolog.
Apró megjegyzés, hogy rájöttem (mivel ma tanultuk :) ), hogy hogyan lehet képet betölteni (kicsit eltér az Applet-ek képbetöltésétől): Szóval valahogy így kell:
Image img=Toolkit.getDefaultToolkit().getImage(''kep.jpg'');
utána pedig paint()-ben g.drawImage(img,0,0,this). Apró szépséghiba, hogy a kép nem jelenik meg. Vajon miért nem? Add metódus nincs képekhez, requestFocus() nem kell neki, tehát elvileg már látnom kellene a képet. De mégsem látok semmit. Ötlet?

Andris - http://andriscs.blogspot.com

(#46) andriscs válasza andriscs (#45) üzenetére


andriscs
aktív tag

Hi!

Nem akarom elvenni a kedved, hogy újra átnézd, de ezt is be lehet csapni, mert sikerült olyasmiket csinálnom, aminél elfogadta megoldásnak. Pl itt nincs sehol 4 hosszú sor, mégis nyert az 'O' játékos:

Andris - http://andriscs.blogspot.com

(#47) andriscs válasza andriscs (#46) üzenetére


andriscs
aktív tag

Hi!

Most megtettem azt, hogy String helyett int tömböt használok, most viszont nem mindig találja meg az átlókat a program. Érdekes...

Andris - http://andriscs.blogspot.com

(#48) andriscs válasza andriscs (#47) üzenetére


andriscs
aktív tag

Hi!

Rájöttem, hogy miért nem találta meg az átlókat. Azért, mert a lefele balról jobbra függvény csak a mátrix felső háromszögét járja be, az alsót nem, és ugyanez igaz a másik irányra is. Szóval ezt kellene még megoldani. De az lehet, hogy már holnapra marad.:)

Andris - http://andriscs.blogspot.com

(#49) Kr1xX


Kr1xX
csendes tag

Fúha. Énis éjszaka írtam, szóval biztosan nem hibátlana szoftver, én is inkább kezdő lökésnek szántam. Most per pillanat nincs indőm vele foglalkozni, de majd még átnézem a kódomat. Ha nem sikerül megoldanod a problémát csak szólj... addig is gondolkozom a megodáson, de ezt igazából csak úgy lehetne, ha írom a progit közben. ja egy kis ízelítés a progijaimból ha érdekel: http:sztyan.uw.hu ott van egy menüpont legalul, hogy Java progik amiket én írtam. Nézd meg. AMúgy én sem vagyok még benne a Javaban teljesen, Szeptemner óta tanuklom a nyelvet. Sok sikert!

(#50) Fko


Fko
tag

Sziasztok! Ha Java-val kapcsolatos kérdésetek van, gyertek el a most induló Bővebben: link oldalra és tegyétek fel ott is a kérdést.

UHU Linux forever

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Java programozás (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.