Pomoc oko JAVA programiranja!

gogos11

New Member
Joined
Aug 26, 2010
Messages
793
Likes
0
Points
0
#1
OVAKO...

Potrebno mi da se urade ovi zadatci, ima ih 5, posto bas slabo poznajem javu, ne znam da uradim, pa bih molio nekog ako zna i da mu ne oduzima mnogo vremena, da mi uradi ih, ne sve nego koliko moze...

Uplaodovao sam u zippu ove zadatke....


http://www34.zippyshare.com/v/31017465/file.html

ZAHVALAN SAMM VAM NA BILO KAKVOJ POMOCI !!!! :D
 

Stale

New Member
Joined
Sep 29, 2006
Messages
2,066
Likes
0
Points
0
#3
[rquote=619438&tid=34864&author=gogos11]OVAKO...
...posto bas slabo poznajem javu...
[/rquote]

a ima li bolje prilike da je naucis nego radeci ove zadatke?!?
 

gogos11

New Member
Joined
Aug 26, 2010
Messages
793
Likes
0
Points
0
#4
Nemam bas sad vremena da ucim javu, u skripcu sam sa vremenom, pa sam zato trazio pomoc da mi neko uradi ove zadate, odnosno neke od ovih, kako bi mogao predati na vrijeme!
 

forsaken demon

Supper Administrator
Joined
Aug 9, 2002
Messages
13,499
Likes
0
Points
0
#6
Mislio sam da smo se dogovorili da se ne prave ovakvi topic, nismo stvarno forum za domaće zadatke... U krajnjem slučaju vidite i kako ljudi reaguju.
 

Stale

New Member
Joined
Sep 29, 2006
Messages
2,066
Likes
0
Points
0
#7
Ma nije problem u trazenu pomoci, da je postavio konkretno pitanje ja bi mu prvi pomogao :)
 
Joined
Oct 9, 2004
Messages
2,323
Likes
0
Points
0
#8
I ja isto, potpuno je ok ako se nesto ne razumije, ili nesto skripi tu sam da pomognem.

Sto se tice radjena domacih zadataka vecina javaforuma (dreamincode, javaranch) ima praksu da automatski zatvara ovakve topice.
 

Nick

Active Member
Staff member
Joined
Jul 30, 2002
Messages
30,519
Likes
0
Points
36
#9
Meni treba neko ko ima najosnovnija znanja o Javi da mi objasni neke really basic gluposti, cimajte na u2u.
 

master_yoda

on probation
Joined
Dec 23, 2004
Messages
3,646
Likes
0
Points
0
#11
OK, imam jedno konkretno pitanje.

Dobili smo zadatak da preradimo/prevedemo igru sa interneta u Javi. Evo sta sam uradio:

https://rapidshare.com/files/3160396239/javaProjekat.rar

Na to sam dobio odgovor od profesora da je \"treperenje tako uzasno da program ne moze da se koristi\" i da pogledam primer sa poslednjeg casa i to primenim.

Taj primer:

https://rapidshare.com/files/3624387157/tocak.rar

Prvi tocak navodno treperi a kod drugog je to ispravljeno, mada ja ne vidim razliku osim u boji. Isto to iz Tocka2 i ja treba da primenim ali mi ne ide, da li neko moze da pomogne? Pretpostavljam da ne treba da menjam nista u postojecem kodu vec samo treba dodati sledeca 4 koraka koja se vide u kodu za tocak2:

1. Najpre se deklarišu 2 promenljive ( na primer: drugiEkranSlika i drugiEkrang).
2. Zatim se kreiraju ova 2 objekta tako da budu jednaki veličini prozora apleta.
3. Kad god treba da crtamo nešto, crtamo na drugom ekranu.
4. Na kraju prikažemo sliku u paint-metodu (kao i druge slike).
 

Stale

New Member
Joined
Sep 29, 2006
Messages
2,066
Likes
0
Points
0
#12
Mislim da je profa hteo da odradis double buffering. Tvoj primer iz nekog razloga kod mene ne iscrtava nista.
primer: http://www.realapplets.com/tutorial/DoubleBuffering.html
 

master_yoda

on probation
Joined
Dec 23, 2004
Messages
3,646
Likes
0
Points
0
#13
Da, to treba da primenim. Ne znam sto ti ne prikazuje, evo koda:

http://pastebin.com/WvmGGKNK

[Edited on 14.6.2011 by master_yoda]
 

meca dobric

*tatina devojcica*
Joined
Aug 9, 2002
Messages
2,986
Likes
0
Points
0
#14
[rquote=622402&tid=34864&author=master_yoda]Da, to treba da primenim. Ne znam sto ti ne prikazuje, evo koda:


Code:
ceo kod
[/rquote]

Sjajan post!

Preporuka za http://pastebin.com/ za ovakve copy/paste poruke.

edit:sklonjen kod na pastebin :)

[Edited on 14-6-2011 by meca dobric]
 

Rocky

Capcom sUiCidE
Joined
Apr 24, 2003
Messages
4,658
Likes
0
Points
0
#15
Možda bi mogao da razmisliš da razdvojiš funkcionalnosti u par klasa... ali da ne davimo sa onim što nije tema.
 

master_yoda

on probation
Joined
Dec 23, 2004
Messages
3,646
Likes
0
Points
0
#16
[rquote=622464&tid=34864&author=meca dobric]
Sjajan post!

Preporuka za http://pastebin.com/ za ovakve copy/paste poruke.[/rquote]

OK promenio sam, nisam znao za to.

[rquote=622468&tid=34864&author=Rocky]Možda bi mogao da razmisliš da razdvojiš funkcionalnosti u par klasa... ali da ne davimo sa onim što nije tema.[/rquote]

Ima sest klasa (Avioni, Novcici, Oblaci itd.) samo sam ih sve prekopirao odjednom.

Jos samo da mi neko pomogne oko implementacije double bufferinga na ovaj primer jer sam ja nesto pokusavao i uspeo da kompajliram bez gresaka ali nista se nije promenilo...
 

Stale

New Member
Joined
Sep 29, 2006
Messages
2,066
Likes
0
Points
0
#17
U onom projektu ti fale sve slicice. Zato mi nista ne iscrtava. Aj okaci projekat sa svim resursima.

Trebao si da procitas komentare u onom primeru sto sam ti okacio
Code:
     // Always required for good double-buffering. 
     // This will cause the applet not to first wipe off 
     // previous drawings but to immediately repaint. 
     // the wiping off also causes flickering. 
     // Update is called automatically when repaint() is called. 

     public void update(Graphics g) 
     { 
          paint(g); 
     }
Znaci u update-u stavi samo poziv paint(g);
inicijalizaciju vanSlike i vanGrafike prebaci u init.

ostatak iz update-a prebaci u paint metodu

provere if(vanGrafike == null) i if(vanGrafike != null) ti ne trebaju, jer si samu inicijalizaciju obavio u init-u.


OBAVEZNO:
Nemoj koristiti stringove da ti odredjuju pravac. To je jaaako neoptimizovano. Preporucujem ti da koristis enumeraciju.
Koristi switch case ili else if kod provere pravca. Jer ovo kako si sad odradio je da se svaki put porede svi moguci pravci sto je opet jako neoptimizovano, jer u delu koji ti radi iscrtavanje i treba da bude sto brzi ti radis X poredjenja stringova bespotrebno.
Slike preload-uj u init-u, jer ih ovako svaki put iznova ucitavas u memoriju.

Sredi prvo ovo pa vidi hoce li ti manje seckati.

[Edited on 14.6.2011 by Stale]

[Edited on 14.6.2011 by Stale]
 

master_yoda

on probation
Joined
Dec 23, 2004
Messages
3,646
Likes
0
Points
0
#18
Slike su u bin folderu, okacio sam ceo folder iz Eclipse workspace foldera, ne znam kako drugacije, zar nije to sve?

Nazalost kao sto rekoh ja sam samo uzeo gotovu igru sa interneta, promenio slike, zvukove, imena promenljivih i sve ih preveo na srpski, nemam dovoljno znanja da znam da primenim sve sto si naveo kao sto je optimizacija, ja sam srecan sto radi. :) U update sam stavio paint(g) a sve ostalo prebacio u paint.

Image vanSlike i Graphics vanGrafike (al sam preveo) ako prebacim u init a obrisem sa pocetka dobijam dosta errora. Nadao sam se da mogu da dodam samo par linija koda za double buffering i da to tako resim, ne bih umeo da sustinski izmenjam ceo kod...
 

Stale

New Member
Joined
Sep 29, 2006
Messages
2,066
Likes
0
Points
0
#19
Ti ovde vec imas double buffering. Samim tim sto iscrtavas sve na vanGrafike pa onda iscrtas samo to. Sad si ga samo malo dodatno sredio.

vanSlike i vanGrafike ostavi kao field-ove, ali ih inicijalizuj u initu.

Code:
//znaci gore

Image vanSlike;  //Image and Graphics za crtanje van ekrana i kopiranje
Graphics vanGrafike;  


//a u initu

vanSlike = createImage(500, 500);
vanGrafike = vanSlike.getGraphics();
Sto se tice enumeracije u javi http://download.oracle.com/javase/tutorial/java/javaOO/enum.html

ti bi imao:
Code:
public enum Pravac {
    start1, usporenje, izlaz, gorelevo, goredesno // i tako nabrojis sve one stringove koje si koristio za pravac
}

private Pravac pravac = Pravac.start1; // umesto stringa pravac imao bi ovo

...

if(pravac1.equals(Pravac.izlaz)) // ovako bi ga poredio. Ovo ti je puno brze nego kad bi poredio stringove

sto se tice onih if- ova

Code:
if(pravac.equals(\"dolelevo\"))  //Avion se krece brzo dole i levo.
{
 ... neki kod
}
	
if(pravac.equals(\"doledesno\"))  //Avion se krece brzo dole i desno.
{
 ... neki kod 

}

if(pravac.equals(\"dole\"))  //Avion se krece brzo dole i desno.
{
 ... neki kod 

}
posto se svi ti if-ovi medjusobno iskljucuju tj ne moze u jednom prolazu kroz tu funkciju pravac biti razlicitih vrednosti

stavi npr ovako

Code:
if(pravac.equals(\"dolelevo\"))  //Avion se krece brzo dole i levo.
{
 ... neki kod
}
else if(pravac.equals(\"doledesno\"))  //Avion se krece brzo dole i desno.
{
 ... neki kod 

}
else if(pravac.equals(\"dole\"))  //Avion se krece brzo dole i desno.
{
 ... neki kod 

}
Time ces dobiti to da ne radis svaki put sva poredjenja nego samo dok ne dodjes do onog koje je trenutno stanje pravca.
Najbolje je da ti napocetku budu najcesci slucajevi, a oni redji nize u else if \"lancu\".


Slicice i ostale resurse bi trebao da drzis negde van bin-a, al ok, Posto ih meni eclipse izgleda obrisao pri buildu. Sad kad sam iskopirao radi ok. Kod mene ovo tvoje ne secka, al ne znam kakva je profina masina.

[Edited on 14.6.2011 by Stale]
 

master_yoda

on probation
Joined
Dec 23, 2004
Messages
3,646
Likes
0
Points
0
#20
OK izmenjao sam ovo ali ja i dalje ne vidim neku razliku nakon pokretanja igre u odnosu na ranije. Ja sam profesoru taj projekat poslao na mail i dobio odgovor da je \"treperenje tako uzasno da program ne moze da se koristi\" pa sam ocekivao da ceo ekran treperi ili nesto slicno ali isprobao sam na vise racunara/browsera i svuda radi isto a i ti si mi potvrdio... Jedino ako ne misli na to sto avioni, oblaci i novcici trepere pri brzom kretanju u odnosu na onog aviona kojim igrac upravlja, sto ne znam da li moze da se ispravi?
 
Top