Inofficiellt forum för Nintendo i Sverige

Du är inte inloggad.

Meddelande

Detta forum är nu ett arkiv för gamla minnen! Det går ej att registrera sig eller skriva på detta forum.
Vi hänvisar till nf2.se för vidare diskussioner.

#1 2008-10-31 02:59:51

Cjuub
Medlem P30
Från: \o/
Registrerad: 2008-09-07
Inlägg: 3979
Webbsida

Java

Java

Någon som håller på med Java? Vad tycker ni om det? Har ni kanske nått kul att visa?

Själv hade jag min första lektion i Java för några månader sen så jag kan en del. Vi tittade på kapitel 1 i boken i skolan men här hemma har jag snart gjort hela 9 med. tongue
Jag tycker det är kul, har länge velat lära mig programera.

Tack för mig!


Jag gjorde nyss en REMAKE av GOTY 2007, StringTrollet Emil v.0.0.1 av Burbruee.
http://cjuub.mine.nu/Applets/TROLLETrem … LETv1.html

Laggar som fan på min dator pga musiken, men dunno om det är så för andra! noes


fest i svea rike o/

Sluta vara så jävla butthurt över att ingen tycker om dig hela jävla tiden, gör något åt saken istället och duscha eller något yo

Offline

 

#2 2008-10-31 09:37:26

Bwa Kell
Medlem
Från: West Clocktown
Registrerad: 2008-08-30
Inlägg: 882
Webbsida

Re: Java

Ja jag läser Programmering C och vi programmerar i Java, vilket vi har gjort sedan A-kursen. Och ja Java är väll ganska enkelt och smidigt tycker jag.


Jag hänger på Loading.

Wii-nr: 2362 3133 6235 8005
Brawl-fc: 5413-2455-2274

Offline

 

#3 2008-10-31 16:04:49

Philip Cristofer Lönn
Medlem P28
Från: Ljungby
Registrerad: 2008-08-29
Inlägg: 11098
Webbsida

Re: Java

STRINGTROLLET FTW! Dnoes


Ami: Du är grym Philip. big_smile
Philip Cristofer Lönn: Jag är best eu!
Ami: Såklart är du det. big_smile
Var glad att du är du och ingen annan.

Offline

 

#4 2008-10-31 16:33:01

Fr4sbokz
Medlem P27
Från: Här, lol.
Registrerad: 2008-08-03
Inlägg: 2832
Webbsida

Re: Java

Jag vill ju lära mig Java! >:


;;;;;;;;_;;;;;;;;; <---- RIKTIGT JÄVLA LEDSEN

"Jag hostar en porr torrent tracker i mitt skåp i skolan." - KapuX

Offline

 

#5 2008-10-31 17:42:48

Bwa Kell
Medlem
Från: West Clocktown
Registrerad: 2008-08-30
Inlägg: 882
Webbsida

Re: Java

Java är väll typ som C++, så det är ju enkelt att lära sig om man redan kan det sistnämnda.


Jag hänger på Loading.

Wii-nr: 2362 3133 6235 8005
Brawl-fc: 5413-2455-2274

Offline

 

#6 2008-10-31 17:53:54

jensa92
Medlem P17
Från: Partille
Registrerad: 2008-08-27
Inlägg: 2153
Webbsida

Re: Java

Bwa Kell skrev:

Java är väll typ som C++, så det är ju enkelt att lära sig om man redan kan det sistnämnda.

de flästa progameringsspråken är ganska lika varandra?


http://img161.imageshack.us/img161/7707/sigy.gif
"En Podcast"
Keke:
Zelderu Maryoto blir lycklig av äpplen tror jag
CarlCon 2, du vill inte missa det!!

Offline

 

#7 2008-10-31 18:45:13

Cjuub
Medlem P30
Från: \o/
Registrerad: 2008-09-07
Inlägg: 3979
Webbsida

Re: Java

Fast Java har dåliga Applets som funkar skit! ;D

Men ganska soft att bara lägga upp spelen/programmen på internet, sen kan folk köra dem direkt genom webläsaren. =3
Uppdaterat min version av TROLLET v0.0.1 nu, tog bort hemsk bugg som gjorde att man inte kunde styra TROLLET, samt fixat texten så det är mer likt orginalet. noes

http://cjuub.mine.nu/Applets/TROLLETrem … LETv1.html


fest i svea rike o/

Sluta vara så jävla butthurt över att ingen tycker om dig hela jävla tiden, gör något åt saken istället och duscha eller något yo

Offline

 

#8 2008-10-31 19:04:21

Fr4sbokz
Medlem P27
Från: Här, lol.
Registrerad: 2008-08-03
Inlägg: 2832
Webbsida

Re: Java

Cjuub skrev:

Fast Java har dåliga Applets som funkar skit! ;D

Men ganska soft att bara lägga upp spelen/programmen på internet, sen kan folk köra dem direkt genom webläsaren. =3
Uppdaterat min version av TROLLET v0.0.1 nu, tog bort hemsk bugg som gjorde att man inte kunde styra TROLLET, samt fixat texten så det är mer likt orginalet. noes

http://cjuub.mine.nu/Applets/TROLLETrem … LETv1.html

Är det menat att man bara skall kunna styra trollet och inget mer...? >_>

Aja, finns det några bra guider eller sådant till detta? Jag kollade lite på SUN's hemsida, men det var bara skit där. xD


;;;;;;;;_;;;;;;;;; <---- RIKTIGT JÄVLA LEDSEN

"Jag hostar en porr torrent tracker i mitt skåp i skolan." - KapuX

Offline

 

#9 2008-10-31 19:08:40

Cjuub
Medlem P30
Från: \o/
Registrerad: 2008-09-07
Inlägg: 3979
Webbsida

Re: Java

Såklart man bara ska kunna styra fram och tillbaka och inget mer! noes
Det är TROLLET v0.0.1, så det ska spelas! noes

Perfekt gameplay <3


fest i svea rike o/

Sluta vara så jävla butthurt över att ingen tycker om dig hela jävla tiden, gör något åt saken istället och duscha eller något yo

Offline

 

#10 2008-10-31 19:13:02

.nick
Medlem P18
Från: Göteborg
Registrerad: 2008-08-04
Inlägg: 1028

Re: Java

TROLLET ;D

Offline

 

#11 2008-10-31 19:29:37

Burbruee
Administratör P
Från: SKÅNE
Registrerad: 2008-08-28
Inlägg: 2605

Re: Java

Cjuub skrev:

Fast Java har dåliga Applets som funkar skit! ;D

Men ganska soft att bara lägga upp spelen/programmen på internet, sen kan folk köra dem direkt genom webläsaren. =3
Uppdaterat min version av TROLLET v0.0.1 nu, tog bort hemsk bugg som gjorde att man inte kunde styra TROLLET, samt fixat texten så det är mer likt orginalet. noes

http://cjuub.mine.nu/Applets/TROLLETrem … LETv1.html

http://143.mine.nu/java/TROLLETv1/launch.jnlp

Jag decompilade din .class-fil och fick ut källkoden och ändrade om lite grejer så att det gick att använda med Java Web Start istället.
Gillar det bättre att få ett fönster istället för något som sitter fast på en hemsida. Och man kan genom att skriva 'javaws -viewer' i kör skapa t.ex en genväg till skrivbordet.
Och den laddar ner uppdateringar automatiskt då det gjorts ändringar.

Bwa Kell: Jag har en fråga till dig, vad får ni lära er i Java C? Jag läste det på gymnasiet men det var ett jäkla strul med vårt schema så egentligen läste vi Java A och Java B i C-kursen, och hälften av lektionerna föll bort p.ga praktik eller strul med nätverket så man inte kunde logga in på datorerna.
(och jag fick MVG på kursen, fast vi inte lärde oss ett skit inom Java C, vi gjorde bara Applets och i slutet fick vi lära oss klasser, lite av en introduktion till objektorienterad programmering...)

EDIT:

Cjuub skrev:

Jag gjorde nyss en REMAKE av GOTY 2007, StringTrollet Emil v.0.0.1 av Burbruee.

Men det är ju en fusk-remake. Den blå bakgrunden är ju bara en gif du har laddat in! Jag använde nästlade for-satser när jag skrev originalet i Fenix! noes

Senast redigerat av Burbruee (2008-10-31 19:32:35)


http://miniprofile.xfire.com/bg/sh/type/2/Burb.png

<+liag> <Burbruee> Inte alltid jättebra dock om man råkar högerklicka i analen av mistak. =/
<+liag> sparad

Offline

 

#12 2008-10-31 19:55:11

Bwa Kell
Medlem
Från: West Clocktown
Registrerad: 2008-08-30
Inlägg: 882
Webbsida

Re: Java

Burbruee skrev:

Cjuub skrev:

Fast Java har dåliga Applets som funkar skit! ;D

Men ganska soft att bara lägga upp spelen/programmen på internet, sen kan folk köra dem direkt genom webläsaren. =3
Uppdaterat min version av TROLLET v0.0.1 nu, tog bort hemsk bugg som gjorde att man inte kunde styra TROLLET, samt fixat texten så det är mer likt orginalet. noes

http://cjuub.mine.nu/Applets/TROLLETrem … LETv1.html

http://143.mine.nu/java/TROLLETv1/launch.jnlp

Jag decompilade din .class-fil och fick ut källkoden och ändrade om lite grejer så att det gick att använda med Java Web Start istället.
Gillar det bättre att få ett fönster istället för något som sitter fast på en hemsida. Och man kan genom att skriva 'javaws -viewer' i kör skapa t.ex en genväg till skrivbordet.
Och den laddar ner uppdateringar automatiskt då det gjorts ändringar.

Bwa Kell: Jag har en fråga till dig, vad får ni lära er i Java C? Jag läste det på gymnasiet men det var ett jäkla strul med vårt schema så egentligen läste vi Java A och Java B i C-kursen, och hälften av lektionerna föll bort p.ga praktik eller strul med nätverket så man inte kunde logga in på datorerna.
(och jag fick MVG på kursen, fast vi inte lärde oss ett skit inom Java C, vi gjorde bara Applets och i slutet fick vi lära oss klasser, lite av en introduktion till objektorienterad programmering...)

EDIT:

Cjuub skrev:

Jag gjorde nyss en REMAKE av GOTY 2007, StringTrollet Emil v.0.0.1 av Burbruee.

Men det är ju en fusk-remake. Den blå bakgrunden är ju bara en gif du har laddat in! Jag använde nästlade for-satser när jag skrev originalet i Fenix! noes

Vi lärde oss om klasser i B. Det är ju liksom klasser och objektorienterad programmering som är styrkan med Java. Det vi har lärt oss hittills i Proggrammering C är mer om klasser (arv, åtkomst, interface, abstrakta klasser), enums och lite mer om GUI.

jensa92 skrev:

Bwa Kell skrev:

Java är väll typ som C++, så det är ju enkelt att lära sig om man redan kan det sistnämnda.

de flästa progameringsspråken är ganska lika varandra?

Jo, fast Java skapades typ med utgångspunkt i C++. Man tyckte att C++ bar på för mycket barlast från sin C-historia, så därför skapade man Java som är säkrare och där man typ "städat upp" lite.

Senast redigerat av Bwa Kell (2008-10-31 19:59:33)


Jag hänger på Loading.

Wii-nr: 2362 3133 6235 8005
Brawl-fc: 5413-2455-2274

Offline

 

#13 2008-11-01 19:03:44

Fr4sbokz
Medlem P27
Från: Här, lol.
Registrerad: 2008-08-03
Inlägg: 2832
Webbsida

Re: Java

Jag har börjat lära mig Java. :3
Jag är fortfarande sämst, men jag gjorde denna söta sak:

http://carl.nintendoforumet.se/java/grftest.htm

:3


;;;;;;;;_;;;;;;;;; <---- RIKTIGT JÄVLA LEDSEN

"Jag hostar en porr torrent tracker i mitt skåp i skolan." - KapuX

Offline

 

#14 2008-11-01 23:27:37

Burbruee
Administratör P
Från: SKÅNE
Registrerad: 2008-08-28
Inlägg: 2605

Re: Java

Cjuub's nya: http://cjuub.mine.nu/Applets/TROLLETrem … LETv2.html
(Fortfarande remake på mitt gamla spel ;D)

Senast redigerat av Burbruee (2008-11-01 23:31:15)


http://miniprofile.xfire.com/bg/sh/type/2/Burb.png

<+liag> <Burbruee> Inte alltid jättebra dock om man råkar högerklicka i analen av mistak. =/
<+liag> sparad

Offline

 

#15 2008-11-02 00:09:57

Cjuub
Medlem P30
Från: \o/
Registrerad: 2008-09-07
Inlägg: 3979
Webbsida

Re: Java

Men ofta du skryter om mina spel före mig! noes

Bara för det tänker jag också skryta om det! noes

NY TROLLET REMAKE
http://cjuub.mine.nu/Applets/TROLLETrem … LETv2.html

Alla ska spela till minst 50K och få reda på hemligheten!

EDIT: Oh, och min värdelösa källkod för spelet:

Kod:

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

public class TROLLETv2 extends Applet implements Runnable{
    private Image TROLLET, shigeru, dbImage, intro, bakgrund, gameover, katt, win, oTROLLET;
    private Font font, font2;
    private Graphics dbg;
    int r1=r(), r2=r(), r3=r(), r4=r(), r5=r(), r6=r(), r7=r(), r8=r(), r9=r(), r10=r(), r11=r(), r12=r(), r13=r(), r14=r(), r15=r();
    int l1=l(), l2=l(), l3=l(), l4=l(), l5=l(), l6=l(), l7=l(), l8=l(), l9=l(), l10=l(), l11=l(), l12=l(), l13=l(), l14=l(), l15=l();
    int x = 720/2;
    int y = 410;
    int y2 = 0;
    int y3 = 450;
    int y4 = 400;
    int x2 = 720;
    int x3 = 0;
    int x4 = 0;
    int x5 = 720;
    int x6 = -30;
    int x_speed = 0;
    int y_speed = 0;
    int y_speed2 = 10;
    int y_speed3 = 10;
    int score = 0;
    int level = 1;
    boolean radera = true;
    boolean collide = false;
    boolean gover = false;
    boolean winrar = false;
    boolean kattfan = false;
    boolean otroll = false;
    AudioClip låt, kattskrik, empty;
    Thread th = new Thread(this);
    
    Rectangle rek, rek1, rek2, rek3, rek4, rek5, rek6, rek7, rek8, rek9, rek10, rek11, rek12, rek13, rek14, rek15;
    
    public void init(){
        font = new Font("System", Font.BOLD, 12);
        font2 = new Font("System", Font.BOLD, 50);
        TROLLET  = getImage(getCodeBase(), "TROLLET.png");
        oTROLLET  = getImage(getCodeBase(), "ofc.png");
        shigeru = getImage(getCodeBase(), "shigeru.gif");
        intro = getImage(getCodeBase(), "intro.png");
        gameover = getImage(getCodeBase(), "gameover.gif");
        låt = getAudioClip(getCodeBase(), "badkarma.wav");
        kattskrik = getAudioClip(getCodeBase(), "scream1.wav");
        empty = getAudioClip(getCodeBase(), "empty.wav");
        bakgrund = getImage(getCodeBase(), "bakgrund.gif");
        katt = getImage(getCodeBase(), "katt.png");
        win = getImage(getCodeBase(), "win.png");
        låt.loop();
        
        rek = new Rectangle (38, 42);
        rek1 = new Rectangle (27, 40);
        rek2 = new Rectangle (27, 40);
        rek3 = new Rectangle (27, 40);
        rek4 = new Rectangle (27, 40);
        rek5 = new Rectangle (27, 40);
        rek6 = new Rectangle (27, 40);
        rek7 = new Rectangle (27, 40);
        rek8 = new Rectangle (27, 40);
        rek9 = new Rectangle (27, 40);
        rek10 = new Rectangle (27, 40);
        rek11 = new Rectangle (27, 40);
        rek12 = new Rectangle (27, 40);
        rek13 = new Rectangle (27, 40);
        rek14 = new Rectangle (27, 40);
        rek15 = new Rectangle (27, 40);
        
    }
    public void start(){
        th.start();
    }
    public void stop() {
        låt.stop();
        th.stop();
    }
    public void destroy() { 
        låt.stop();
        th.stop();
    }
    public void run() {
        Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
        
        
        while(x3 < 260){
            x3 += 4;
            x4 += 4;
            repaint();
            
            try{Thread.sleep (30);}
            catch (InterruptedException ex){}
            
            Thread.currentThread().setPriority(Thread.MAX_PRIORITY);}
        
        while(score < 1430*6){
            l1 += y_speed;
            l2 += y_speed;
            l3 += y_speed;
            l4 += y_speed;
            l5 += y_speed;
            l6 += y_speed;
            l7 += y_speed;
            l8 += y_speed;
            l9 += y_speed;
            l10 += y_speed;
            
            x += x_speed;
            x2 -= 7;
            
            if(otroll == false){
            if(x < 0)
                x=0;
            else if(x > 720-TROLLET.getWidth(this))
                x = 720-TROLLET.getWidth(this);
            }
            
            if(otroll == true){
            if(x < 0)
                x=0;
            else if(x > 720-oTROLLET.getWidth(this))
                x = 720-oTROLLET.getWidth(this);
            }
            
            if(l1 >= 480){
                l1 = l(); r1=r();
                score += 143;}
            if(l2 >= 480){
                l2 = l(); r2=r();
                score += 143;
            }
            if(l3 >= 480){
                l3 = l(); r3=r();
                score += 143;}
            if(l4 >= 480){
                l4 = l(); r4=r();
                score += 143;
            }
            if(l5 >= 480){
                l5 = l(); r5=r();
                score += 143;
            }
            if(l6 >= 480){
                l6 = l(); r6=r();
                score += 143;
            }
            if(l7 >= 480){
                l7 = l(); r7=r();
                score += 143;
            }
            if(l8 >= 480){
                l8 = l(); r8=r();
                score += 143;
            }
            if(l9 >= 480){
                l9 = l(); r9=r();
                score += 143;
            }
            if(l10 >= 480){
                l10 = l(); r10=r();
                score += 143;
            }
            
            
            
                
            
            rek.x = x+5;
            rek.y = y+5;
            rek1.x = r1+5;
            rek1.y = l1+5;
            rek2.x = r2+5;
            rek2.y = l2+5;
            rek3.x = r3+5;
            rek3.y = l3+5;
            rek4.x = r4+5;
            rek4.y = l4+5;
            rek5.x = r5+5;
            rek5.y = l5+5;
            rek6.x = r6+5;
            rek6.y = l6+5;
            rek7.x = r7+5;
            rek7.y = l7+5;
            rek8.x = r8+5;
            rek8.y = l8+5;
            rek9.x = r9+5;
            rek9.y = l9+5;
            rek10.x = r10+5;
            rek10.y = l10+5;
            
            if(rek1.intersects(rek) || rek2.intersects(rek) || rek3.intersects(rek) || 
                    rek4.intersects(rek) || rek5.intersects(rek) || rek6.intersects(rek) || 
                    rek7.intersects(rek) || rek8.intersects(rek) || rek9.intersects(rek) || 
                    rek10.intersects(rek)){
                while(true){
                l1 += 0;
                l2 += 0;
                l3 += 0;
                l4 += 0;
                l5 += 0;
                l6 += 0;
                l7 += 0;
                l8 += 0;
                l9 += 0;
                l10 += 0;
                repaint();
                gover = true;
                
                try{Thread.sleep (30);}
                catch (InterruptedException ex){}
            
                Thread.currentThread().setPriority(Thread.MAX_PRIORITY);}
            }
            
            
            repaint();
            
            try{Thread.sleep (30);}
            catch (InterruptedException ex){}
            
            Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
        }
        while (kattfan == false){
            l1 += 20;
            l2 += 15;
            l3 += 20;
            l4 += 15;
            l5 += 20;
            l6 += 15;
            l7 += 20;
            l8 += 20;
            l9 += 15;
            l10 += 20;
            l11 += 15;
            l12 += 20;
            l13 += 20;
            l14 += 15;
            l15 += 20;
            
            x += x_speed;
            x2 -= 7;
            
            if(otroll == false){
            if(x < 0)
                x=0;
            else if(x > 720-TROLLET.getWidth(this))
                x = 720-TROLLET.getWidth(this);
            }
            
            if(otroll == true){
            if(x < 0)
                x=0;
            else if(x > 720-oTROLLET.getWidth(this))
                x = 720-oTROLLET.getWidth(this);
            }
            
            if(l1 >= 480){
                l1 = l(); r1=r();
                score += 143;}
            if(l2 >= 480){
                l2 = l(); r2=r();
                score += 143;
            }
            if(l3 >= 480){
                l3 = l(); r3=r();
                score += 143;}
            if(l4 >= 480){
                l4 = l(); r4=r();
                score += 143;
            }
            if(l5 >= 480){
                l5 = l(); r5=r();
                score += 143;
            }
            if(l6 >= 480){
                l6 = l(); r6=r();
                score += 143;
            }
            if(l7 >= 480){
                l7 = l(); r7=r();
                score += 143;
            }
            if(l8 >= 480){
                l8 = l(); r8=r();
                score += 143;
            }
            if(l9 >= 480){
                l9 = l(); r9=r();
                score += 143;
            }
            if(l10 >= 480){
                l10 = l(); r10=r();
                score += 143;
            }
            if(l11 >= 480){
                l11 = l(); r11=r();
                score += 143;
            }
            if(l12 >= 480){
                l12 = l(); r12=r();
                score += 143;
            }
            if(l13 >= 480){
                l13 = l(); r13=r();
                score += 143;
            }
            if(l14 >= 480){
                l14 = l(); r14=r();
                score += 143;
            }
            if(l15 >= 480){
                l15 = l(); r15=r();
                score += 143;
            }
            
            
            while(score == 2860 && level <= 1)//lv2
                level++;
            while(score == 2860*2 && level <= 2)//lv3
                level++;
            while(score == 2860*4 && level <= 3)//lv4
                level++;
            while(score == 2860*6 && level <= 4)//lv5
                level++;
            while(score == 2860*8 && level <= 5)//lv6
                level++;
            while(score == 2860*10 && level <= 6)//lv7
                level++;
            while(score == 2860*12 && level <= 7)//lv8
                level++;
            while(score == 2860*14 && level <= 8)//lv9
                level++;
            while(score == 2860*16 && level <= 9)//lv10
                level++;
            while(score == 2860*18 && level <= 10)//lv11
                level++;
            while(score == 2860*20 && level <= 11)//lv12
                level++;
            while(score == 2860*22 && level <= 12)//lv13
                level++;
            while(score == 2860*24 && level <= 13)//lv14
                level++;
            while(score == 2860*26 && level <= 14)//lv15
                level++;
            
            if(score > 30000)
                kattfan = true;
            
            
            rek.x = x+5;
            rek.y = y+5;
            rek1.x = r1+5;
            rek1.y = l1+5;
            rek2.x = r2+5;
            rek2.y = l2+5;
            rek3.x = r3+5;
            rek3.y = l3+5;
            rek4.x = r4+5;
            rek4.y = l4+5;
            rek5.x = r5+5;
            rek5.y = l5+5;
            rek6.x = r6+5;
            rek6.y = l6+5;
            rek7.x = r7+5;
            rek7.y = l7+5;
            rek8.x = r8+5;
            rek8.y = l8+5;
            rek9.x = r9+5;
            rek9.y = l9+5;
            rek10.x = r10+5;
            rek10.y = l10+5;
            rek11.x = r11+5;
            rek11.y = l11+5;
            rek12.x = r12+5;
            rek12.y = l12+5;
            rek13.x = r13+5;
            rek13.y = l13+5;
            rek14.x = r14+5;
            rek14.y = l14+5;
            rek15.x = r15+5;
            rek15.y = l15+5;
            
            if(rek1.intersects(rek) || rek2.intersects(rek) || rek3.intersects(rek) || 
                    rek4.intersects(rek) || rek5.intersects(rek) || rek6.intersects(rek) || 
                    rek7.intersects(rek) || rek8.intersects(rek) || rek9.intersects(rek) || 
                    rek10.intersects(rek) || rek11.intersects(rek) || rek12.intersects(rek) || 
                    rek13.intersects(rek) || rek14.intersects(rek) || rek15.intersects(rek)){
                while(true){
                l1 += 0;
                l2 += 0;
                l3 += 0;
                l4 += 0;
                l5 += 0;
                l6 += 0;
                l7 += 0;
                l8 += 0;
                l9 += 0;
                l10 += 0;
                l11 += 0;
                l12 += 0;
                l13 += 0;
                l14 += 0;
                l15 += 0;
                repaint();
                gover = true;
                
                try{Thread.sleep (30);}
                catch (InterruptedException ex){}
            
                Thread.currentThread().setPriority(Thread.MAX_PRIORITY);}
            }
                
            
            
            
            repaint();
            
            try{Thread.sleep (30);}
            catch (InterruptedException ex){}
            
            Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
        }
        
        while(kattfan == true){
            l1 += 25;
            l2 += 20;
            l3 += 25;
            l4 += 20;
            l5 += 25;
            l6 += 20;
            l7 += 25;
            l8 += 25;
            l9 += 20;
            l10 += 25;
            l11 += 20;
            l12 += 25;
            l13 += 25;
            l14 += 20;
            l15 += 25;
            
            x += x_speed;
            x2 -= 7;
            
            if(otroll == false){
            if(x < 0)
                x=0;
            else if(x > 720-TROLLET.getWidth(this))
                x = 720-TROLLET.getWidth(this);
            }
            
            if(otroll == true){
            if(x < 0)
                x=0;
            else if(x > 720-oTROLLET.getWidth(this))
                x = 720-oTROLLET.getWidth(this);
            }
            
            if(l1 >= 480){
                l1 = l(); r1=r();
                score += 143;}
            if(l2 >= 480){
                l2 = l(); r2=r();
                score += 143;
            }
            if(l3 >= 480){
                l3 = l(); r3=r();
                score += 143;}
            if(l4 >= 480){
                l4 = l(); r4=r();
                score += 143;
            }
            if(l5 >= 480){
                l5 = l(); r5=r();
                score += 143;
            }
            if(l6 >= 480){
                l6 = l(); r6=r();
                score += 143;
            }
            if(l7 >= 480){
                l7 = l(); r7=r();
                score += 143;
            }
            if(l8 >= 480){
                l8 = l(); r8=r();
                score += 143;
            }
            if(l9 >= 480){
                l9 = l(); r9=r();
                score += 143;
            }
            if(l10 >= 480){
                l10 = l(); r10=r();
                score += 143;
            }
            if(l11 >= 480){
                l11 = l(); r11=r();
                score += 143;
            }
            if(l12 >= 480){
                l12 = l(); r12=r();
                score += 143;
            }
            if(l13 >= 480){
                l13 = l(); r13=r();
                score += 143;
            }
            if(l14 >= 480){
                l14 = l(); r14=r();
                score += 143;
            }
            if(l15 >= 480){
                l15 = l(); r15=r();
                score += 143;
            }
            
            
            while(score == 2860 && level <= 1)//lv2
                level++;
            while(score == 2860*2 && level <= 2)//lv3
                level++;
            while(score == 2860*4 && level <= 3)//lv4
                level++;
            while(score == 2860*6 && level <= 4)//lv5
                level++;
            while(score == 2860*8 && level <= 5)//lv6
                level++;
            while(score == 2860*10 && level <= 6)//lv7
                level++;
            while(score == 2860*12 && level <= 7)//lv8
                level++;
            while(score == 2860*14 && level <= 8)//lv9
                level++;
            while(score == 2860*16 && level <= 9)//lv10
                level++;
            while(score == 2860*18 && level <= 10)//lv11
                level++;
            while(score == 2860*20 && level <= 11)//lv12
                level++;
            while(score == 2860*22 && level <= 12)//lv13
                level++;
            while(score == 2860*24 && level <= 13)//lv14
                level++;
            while(score == 2860*26 && level <= 14)//lv15
                level++;
            
            if(score > 50000)
                winrar = true;
            
            if(winrar == true){
                x5 -= 5;
                x6 += 5;
            }
            
            rek.x = x+5;
            rek.y = y+5;
            rek1.x = r1+5;
            rek1.y = l1+5;
            rek2.x = r2+5;
            rek2.y = l2+5;
            rek3.x = r3+5;
            rek3.y = l3+5;
            rek4.x = r4+5;
            rek4.y = l4+5;
            rek5.x = r5+5;
            rek5.y = l5+5;
            rek6.x = r6+5;
            rek6.y = l6+5;
            rek7.x = r7+5;
            rek7.y = l7+5;
            rek8.x = r8+5;
            rek8.y = l8+5;
            rek9.x = r9+5;
            rek9.y = l9+5;
            rek10.x = r10+5;
            rek10.y = l10+5;
            rek11.x = r11+5;
            rek11.y = l11+5;
            rek12.x = r12+5;
            rek12.y = l12+5;
            rek13.x = r13+5;
            rek13.y = l13+5;
            rek14.x = r14+5;
            rek14.y = l14+5;
            rek15.x = r15+5;
            rek15.y = l15+5;
            
            if(rek1.intersects(rek) || rek2.intersects(rek) || rek3.intersects(rek) || 
                    rek4.intersects(rek) || rek5.intersects(rek) || rek6.intersects(rek) || 
                    rek7.intersects(rek) || rek8.intersects(rek) || rek9.intersects(rek) || 
                    rek10.intersects(rek) || rek11.intersects(rek) || rek12.intersects(rek) || 
                    rek13.intersects(rek) || rek14.intersects(rek) || rek15.intersects(rek)){
                while(true){
                l1 += 0;
                l2 += 0;
                l3 += 0;
                l4 += 0;
                l5 += 0;
                l6 += 0;
                l7 += 0;
                l8 += 0;
                l9 += 0;
                l10 += 0;
                l11 += 0;
                l12 += 0;
                l13 += 0;
                l14 += 0;
                l15 += 0;
                repaint();
                gover = true;
                
                try{Thread.sleep (30);}
                catch (InterruptedException ex){}
            
                Thread.currentThread().setPriority(Thread.MAX_PRIORITY);}
            }
                
            
            
            
            repaint();
            
            try{Thread.sleep (30);}
            catch (InterruptedException ex){}
            
            Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
        }
            
            
            
            
            
    }
            
    public void update(Graphics g){
        if(dbImage == null){
            dbImage = createImage (this.getSize().width, this.getSize().height);
            dbg = dbImage.getGraphics();
        }
        dbg.setColor(getBackground());
        dbg.fillRect (0, 0, this.getSize().width, this.getSize().height); 

        dbg.setColor (getForeground());
        paint (dbg);

        g.drawImage(dbImage, 0, 0, this); 
    }
    public void paint(Graphics g){
        
        if(radera == true){
            g.drawImage(intro, 0, 0, this);
            g.setColor(Color.yellow);
            g.setFont(font);
            g.drawString("StringTrollet Emil v.0.0.2 APPLET-REMAKE skapad av Cjuub, bakgrund skapad av Burbruee, " +
                "musik av chaozz, grafik av Burbruee och Cjuub............. MegaLordJonas som BETA-tester ;<", x2, 20);
            g.setColor(Color.white);
            g.drawString(" Vänster / Höger flyttar TROLLET", x4, 150);
            g.drawString("      Tryck space för att starta!", x3, 170);}
        
        if(radera == false){
            
            g.fillRect(rek.x, rek.y, rek.width, rek.height);
            g.fillRect(rek1.x, rek1.y, rek1.width, rek1.height);
            g.fillRect(rek2.x, rek2.y, rek2.width, rek2.height);
            g.fillRect(rek3.x, rek3.y, rek3.width, rek3.height);
            g.fillRect(rek4.x, rek4.y, rek4.width, rek4.height);
            g.fillRect(rek5.x, rek5.y, rek5.width, rek5.height);
            g.fillRect(rek6.x, rek6.y, rek6.width, rek6.height);
            g.fillRect(rek7.x, rek7.y, rek7.width, rek7.height);
            g.fillRect(rek8.x, rek8.y, rek8.width, rek8.height);
            g.fillRect(rek9.x, rek9.y, rek9.width, rek9.height);
            g.fillRect(rek10.x, rek10.y, rek10.width, rek10.height);
            if(score > 1430*6){
                g.fillRect(rek11.x, rek11.y, rek11.width, rek11.height);
                g.fillRect(rek12.x, rek12.y, rek12.width, rek12.height);
                g.fillRect(rek13.x, rek13.y, rek13.width, rek13.height);
                g.fillRect(rek14.x, rek14.y, rek14.width, rek14.height);
                g.fillRect(rek15.x, rek15.y, rek15.width, rek15.height);
            }
            
            
            g.drawImage (bakgrund, 0, 0, this); 
            if(kattfan == true){
                g.drawImage(katt, 0, 0, this);
                kattskrik.play();
                kattskrik = empty;
            }
            if(winrar == true)
                g.drawImage(win, 0, 0, this);
            if(otroll == true)
                g.drawImage(oTROLLET,x,y,this);
            if(otroll == false)
                g.drawImage(TROLLET,x,y,this);
            g.drawImage(shigeru, r1, l1, this);
            g.drawImage(shigeru, r2, l2, this);
            g.drawImage(shigeru, r3, l3, this);
            g.drawImage(shigeru, r4, l4, this);
            g.drawImage(shigeru, r5, l5, this);
            g.drawImage(shigeru, r6, l6, this);
            g.drawImage(shigeru, r7, l7, this);
            g.drawImage(shigeru, r8, l8, this);
            g.drawImage(shigeru, r9, l9, this);
            g.drawImage(shigeru, r10, l10, this);
            if(score > 1430*6){
                g.drawImage(shigeru, r11, l11, this);
                g.drawImage(shigeru, r12, l12, this);
                g.drawImage(shigeru, r13, l13, this);
                g.drawImage(shigeru, r14, l14, this);
                g.drawImage(shigeru, r15, l15, this);
            }
            
            g.setColor(Color.yellow);
            g.setFont(font);
            g.drawString("Level: " + level, 660, 20);
            g.drawString("Score: " + score, 20, 20);
            g.setColor(Color.white);
            g.drawRect(130, 20, 420, 50);
            g.drawString(" Vänster / Höger flyttar TROLLET", 250, 15);
            g.setColor(Color.yellow);
            g.drawString("Shigeru Miyamoto har klonat sig för att utplåna TROLLET, undvik honom!", 140, 35);
            g.drawString("(Klarar du att få 50,000 poäng?)", 245, 60);
            if(winrar == true){
                g.drawString("SPELA SPELET FÖR ATT FÅ REDA PÅ DENNA TEXT", x6, y4);
                g.drawString("SPELA SPELET FÖR ATT FÅ REDA PÅ DENNA TEXT", x5, y3);
            }
            
            
            if(gover == true){
                g.drawImage(gameover, 0, 0, this);
                g.setColor(Color.white);
                g.setFont(font2);
                g.drawString("Score: " + score, 200, 300);
                if(winrar == true){
                    g.setFont(font);
                    g.drawString("SPELA SPELET FÖR ATT FÅ REDA PÅ DENNA TEXT", 240, 400);
                    g.drawString("SPELA SPELET FÖR ATT FÅ REDA PÅ DENNA TEXT", 290, 450);
                }
                th.stop();
                låt.stop();
            }
        }
    }
    public boolean keyDown (Event e, int key){
      if (key == Event.LEFT){
          x_speed = -10;}
      if (key == Event.RIGHT){
          x_speed = 10;}
      if(x3 >= 260){
          if (key == 32){
              radera = false;
              x3 = 34234;
          }
      }
      if(x3 >= 260){
          if (key == 27){
              radera = false;
              otroll = true;
              x3 = 34234;
              y_speed=10;
          }
      }
      
      return true;
    }
    public boolean keyUp (Event e, int key){
      if (key == Event.LEFT){
          x_speed = 0;}
      if (key == Event.RIGHT){
          x_speed = 0;}
      if(x3 >= 260){
          if(key == 32){
              y_speed=10;
          }
      }
      return true;
    }
    public static int r(){
        return (int)(Math.random()*720+1);
    }
    public static int l(){
        return (int)(Math.random()*-400-1);
    }
}

Senast redigerat av Cjuub (2008-11-02 02:40:28)


fest i svea rike o/

Sluta vara så jävla butthurt över att ingen tycker om dig hela jävla tiden, gör något åt saken istället och duscha eller något yo

Offline

 

#16 2008-11-02 10:08:23

Bwa Kell
Medlem
Från: West Clocktown
Registrerad: 2008-08-30
Inlägg: 882
Webbsida

Re: Java

Rent spontant känner jag att det skulle vara bra om du gjorde både trollet och shigeru till klasser.

Sedan så skulle det kanske underlätta om du använde en array vid vissa tillfällen. Som t.ex. med rektanglarna.
Istället för:
Rectangle rek, rek1, rek2, rek3, rek4, rek5, rek6, rek7, rek8, rek9, rek10, rek11, rek12, rek13, rek14, rek15;
Så kan du ju skriva: Rectangle [] rek = new Rectangle [16];
Sedan i init():
rek[0] = new Rectangle (38, 42);
for(int i = 1; i<rek.length; i++)
{
     rek[i] = new Rectangle (27, 40);
}


Jag kan ju posta koden till mitt slutprojekt i Programmering B som jag gjorde. Dock är inte det en Applet, utan en applikation.

Senast redigerat av Bwa Kell (2008-11-02 10:10:49)


Jag hänger på Loading.

Wii-nr: 2362 3133 6235 8005
Brawl-fc: 5413-2455-2274

Offline

 

#17 2008-11-02 12:33:03

Zetanon
Medlem P32
Från: Valdemarsvik/Stockholm
Registrerad: 2008-08-12
Inlägg: 3944

Re: Java

Snälla, fixa så att man slipper ladda om sidan när man dör.


Hon ser dig

"'For the win.' Means uh... My tweet kicks your tweet's butt." - Richard Castle

Offline

 

#18 2008-11-02 13:15:32

Cjuub
Medlem P30
Från: \o/
Registrerad: 2008-09-07
Inlägg: 3979
Webbsida

Re: Java

Bwa Kell skrev:

Rent spontant känner jag att det skulle vara bra om du gjorde både trollet och shigeru till klasser.

Sedan så skulle det kanske underlätta om du använde en array vid vissa tillfällen. Som t.ex. med rektanglarna.
Istället för:
Rectangle rek, rek1, rek2, rek3, rek4, rek5, rek6, rek7, rek8, rek9, rek10, rek11, rek12, rek13, rek14, rek15;
Så kan du ju skriva: Rectangle [] rek = new Rectangle [16];
Sedan i init():
rek[0] = new Rectangle (38, 42);
for(int i = 1; i<rek.length; i++)
{
     rek[i] = new Rectangle (27, 40);
}


Jag kan ju posta koden till mitt slutprojekt i Programmering B som jag gjorde. Dock är inte det en Applet, utan en applikation.

Oh jäklar, kan man göra så? XD
Men ja, min källkod är hemsk, mycket copy/paste för att jag inte fick rätt på metoder.

Men jag har bara läst A-kursen i Java.. Och för 5 dagar sen kunde jag inte ens göra en Applet noes
Detta var mitt första spel i Java, ever. noes


Zetanon: Jag vet inte hur man gör! ;D
Men ja, jag har såklart också tänkt på det, men som sagt, detta var mitt första spel jag programmerat och jag vettefan hur man gör bara. ;D


fest i svea rike o/

Sluta vara så jävla butthurt över att ingen tycker om dig hela jävla tiden, gör något åt saken istället och duscha eller något yo

Offline

 

#19 2008-11-02 13:55:59

Bwa Kell
Medlem
Från: West Clocktown
Registrerad: 2008-08-30
Inlägg: 882
Webbsida

Re: Java

Cjuub skrev:

Bwa Kell skrev:

Rent spontant känner jag att det skulle vara bra om du gjorde både trollet och shigeru till klasser.

Sedan så skulle det kanske underlätta om du använde en array vid vissa tillfällen. Som t.ex. med rektanglarna.
Istället för:
Rectangle rek, rek1, rek2, rek3, rek4, rek5, rek6, rek7, rek8, rek9, rek10, rek11, rek12, rek13, rek14, rek15;
Så kan du ju skriva: Rectangle [] rek = new Rectangle [16];
Sedan i init():
rek[0] = new Rectangle (38, 42);
for(int i = 1; i<rek.length; i++)
{
     rek[i] = new Rectangle (27, 40);
}


Jag kan ju posta koden till mitt slutprojekt i Programmering B som jag gjorde. Dock är inte det en Applet, utan en applikation.

Oh jäklar, kan man göra så? XD
Men ja, min källkod är hemsk, mycket copy/paste för att jag inte fick rätt på metoder.

Men jag har bara läst A-kursen i Java.. Och för 5 dagar sen kunde jag inte ens göra en Applet noes
Detta var mitt första spel i Java, ever. noes

Fast i A-kursen borde ni väll ha gått igenom Arrays? ^^
Blir ju mycket enklare då.

T.ex. så kan du ju kolla krockar snabbare:

for(int i = 1; i<rek.length; i++)
{
     if(rek[i].intersects(rek[0]))
     {
            Någonting.....
      }
}

Sedan kan det också vara bra att känna till matriser (listor av listor).
String [][] någonting = new String [50][50];

Samt att man kan sortera listor om man importerar java.util.*; och använder kommandot Arrays.sort(din array).

Hittade ett litet program som jag gjorde i Programmering A (då man ännu inte kunde klasser och kollektioner).

Kod:

import java.util.*;

public class Uppg12
{
    public static void main(String [] args)
    {
        Scanner scan = new Scanner (System.in);

        String [] namn = new String [100];

        int [] [] info = new int [3] [100];

        int fix = -1;

        int pg = 1;

        while(pg==1)
        {
            System.out.println("\nVad vill du göra?");
            System.out.println("Skapa en pizza (1)\nSe menyn (2)\nKöpa pizzor (3)\nÄndra pizza (4)\nTa bort pizza (5)\nAvsluta (6)\n");
            int go = scan.nextInt();

            //Skapa pizza
            if(go==1)
            {
                int go2 = 1;
                while(go2==1)
                {
                    fix = fix + 1;

                    System.out.println("\n\nVad ska pizzan heta?");
                    namn[fix] = scan.next();

                    System.out.println("\nVad ska dess diameter vara (cm)?");
                    info [0] [fix] = scan.nextInt(); //Diameter

                    System.out.println("\nVad ska dess vikt vara (g)?");
                    info [1] [fix] = scan.nextInt(); //Vikt

                    System.out.println("\nVad ska dess pris vara (kr)?");
                    info [2] [fix] = scan.nextInt(); //Pris

                    System.out.println("\nDessa pizzor har du gjort.");

                    for(int i = 0; i <= fix; i++)
                    {
                        System.out.println("\nNamn: " + namn[i]);
                        System.out.println("Diameter: " + info [0] [i] + " cm.");
                        System.out.println("Vikt: " + info [1] [i] + " gram.");
                        System.out.println("Pris: " + info [2] [i] + " kr.");
                    }

                    System.out.println("\nVill du göra en till pizza? Tryck 1 för Ja och 2 för Nej.");
                    go2 = scan.nextInt();
                }
            }

            //Se meny
            else if(go==2)
            {
                for(int i = 0; i <= fix; i++)
                {
                    System.out.println("\nPizza #" + (i+1) + "\n-----------------------------------------");
                    System.out.println("Namn: " + namn[i]);
                    System.out.println("Diameter: " + info [0] [i] + " cm.");
                    System.out.println("Vikt: " + info [1] [i] + " gram.");
                    System.out.println("Pris: " + info [2] [i] + " kr.");
                }

                if(fix==-1)
                {
                    System.out.println("\nDet finns inga pizzor i menyn ännu.");
                }
            }

            //Köpa pizzor
            else if(go==3)
            {
                System.out.println("\nDu har valt att köpa pizzor.\nHur många pizzor vill du köpa?");
                int antal = scan.nextInt();

                for(int i = 0; i <= fix; i++)
                {
                    System.out.println("\nPizza #" + (i+1) + "\n-----------------------------------------");
                    System.out.println("Namn: " + namn[i]);
                    System.out.println("Diameter: " + info [0] [i] + " cm.");
                    System.out.println("Vikt: " + info [1] [i] + " gram.");
                    System.out.println("Pris: " + info [2] [i] + " kr.");
                }

                System.out.println("\nAnge sifferindex för de pizzor du vill köpa.");

                int [] num = new int [100];

                for(int i = 0; i < antal; i++)
                {
                    System.out.print("Pizza #");
                    num[i] = scan.nextInt();

                }

                int b = 0;

                System.out.println("\nFöljande pizzor valde du att köpa.");

                for(int i = 0; i < antal; i++)
                {
                    System.out.println("Pizzan " + namn[num[i]-1] + " (" + info [2] [num[i]-1] + " SEK)");
                    b = b + info [2] [num[i]-1];
                }

                System.out.println("\nSom tillsammans kostar " + b + " SEK.");
            }

            //Ändra pizza
            else if(go==4)
            {
                System.out.println("\nDu har valt att ändra en pizza.\nVilken pizza vill du ändra?");

                for(int i = 0; i <= fix; i++)
                {
                    System.out.println("\nPizza #" + (i+1) + "\n-----------------------------------------");
                    System.out.println("Namn: " + namn[i]);
                    System.out.println("Diameter: " + info [0] [i] + " cm.");
                    System.out.println("Vikt: " + info [1] [i] + " gram.");
                    System.out.println("Pris: " + info [2] [i] + " kr.");
                }

                System.out.println("\nAnge sifferindex för den pizzan du vill ändra.");

                int b = scan.nextInt();

                System.out.println("\nDu valde följande pizza att ändra.");

                System.out.println("\nNamn: " + namn[b-1]);
                System.out.println("Diameter: " + info [0] [b-1] + " cm.");
                System.out.println("Vikt: " + info [1] [b-1] + " gram.");
                System.out.println("Pris: " + info [2] [b-1] + " kr.");

                System.out.println("\nAnge nu pizzans nya värden.");

                System.out.println("\n\nVad ska pizzan heta?");
                namn[b-1] = scan.next();

                System.out.println("\nVad ska dess diameter vara (cm)?");
                info [0] [b-1] = scan.nextInt(); //Diameter

                System.out.println("\nVad ska dess vikt vara (g)?");
                info [1] [b-1] = scan.nextInt(); //Vikt

                System.out.println("\nVad ska dess pris vara (kr)?");
                info [2] [b-1] = scan.nextInt(); //Pris

                System.out.println("\nPizzan är nu ändrad.");
            }

            //Ta bort pizza
            else if(go==5)
            {
                for(int i = 0; i <= fix; i++)
                {
                    System.out.println("\nPizza #" + (i+1) + "\n-----------------------------------------");
                    System.out.println("Namn: " + namn[i]);
                    System.out.println("Diameter: " + info [0] [i] + " cm.");
                    System.out.println("Vikt: " + info [1] [i] + " gram.");
                    System.out.println("Pris: " + info [2] [i] + " kr.");
                }

                System.out.println("\nVilken pizza vill du ta bort? (Ange sifferindex.)");

                int b = scan.nextInt();

                System.out.println("Du tog bort pizza " + namn[b-1] + ".");

                namn[b-1] = "0";
                info [0] [b-1] = 0;
                info [1] [b-1] = 0;
                info [2] [b-1] = 0;

                int g = 0;

                while(g<=fix)
                {
                    if(g>b-1)
                    {
                        namn[g-1] = namn[g];
                        info [0] [g-1] = info [0] [g];
                        info [1] [g-1] = info [1] [g];
                        info [2] [g-1] = info [2] [g];
                    }

                    g = g + 1;
                }

                fix = fix - 1;
            }

            //Avsluta
            else if(go==6)
            {
                System.out.println("\nDu valde att avsluta programmet.");
                pg = 2;
            }

            //Städar upp
            else
            {
                System.out.println("\nDu valde ett ej giltigt alternativ. Var god välj igen.");
            }
        }
    }
}

Finns ju en hel del som kan förfinas i det programmet. ^^
Kommandon som =+, ++ och break skulle ju underlätta.

Sedan är det ju alltid bra att göra en egen print-metod i textbaserade program.

public static void println(String s)
{
     System.out.println(s);
}

Det kommer man att spara tecken på i längden. ^^
Blir ju println("Hej!") istället för System.out.println("Hej!") varje gång.

Senast redigerat av Bwa Kell (2008-11-02 14:03:16)


Jag hänger på Loading.

Wii-nr: 2362 3133 6235 8005
Brawl-fc: 5413-2455-2274

Offline

 

#20 2008-11-02 14:06:40

Cjuub
Medlem P30
Från: \o/
Registrerad: 2008-09-07
Inlägg: 3979
Webbsida

Re: Java

Arrays? noes
Neh, står inget om det i A-boken! ;<

Men nu vet jag att det finns till mitt nästa projekt iaf, thx ;D


fest i svea rike o/

Sluta vara så jävla butthurt över att ingen tycker om dig hela jävla tiden, gör något åt saken istället och duscha eller något yo

Offline

 

#21 2008-11-02 15:23:30

Bwa Kell
Medlem
Från: West Clocktown
Registrerad: 2008-08-30
Inlägg: 882
Webbsida

Re: Java

Cjuub skrev:

Arrays? noes
Neh, står inget om det i A-boken! ;<

Men nu vet jag att det finns till mitt nästa projekt iaf, thx ;D

Kanske heter någonting annat än Arrays i er bok, men vår lärare säger Arrays i alla fall. Fält tror jag det också kan kallas.

Men när man håller på med grafiska program brukar man vilja kunna använda någon form av Kollektor. Så som Linked List, Stack eller Vector. Eftersom dessa är dynamiska, vilket inte Arrays är. D.v.s. att man kan enkelt ta bort ett objekt och själva "listan" minskas. En Array har ju en fast storlek.

Själv gillar jag att använda en Vector. (För att använda en sådan måste du importera java.util.*)
I vår senaste uppgift i Programmering C använder jag en sådan.

Vector rek = new Vector(); (En vektor kan för övrigt också innehålla flera olika sorters objekt.)

Några användbara metoder för en Vector. (Du kan ju hitta alla i Java-docen.)
¤ size(): Retunerar Vectorns storlek.
¤ clear(): Tömmer hela Vectorn, d.v.s. tar bort alla objekt i den.
¤ elementAt(i): Retunerar det objekt med indexet i.
¤ addElement(Objekt o): Lägger till ett önskat objekt.
* removeElementAt(i): Tar bort objektet med indexet i.
* isEmpty(): Retunerar en boolean med true eller false.

Dock kan man inte använda en kollektor för primitiva datatyper så som int, double, float, char, osv.
Om man nu ända skulle vilja ha en vector för t.ex. olika tal, så får man använda en ints klass. D.v.s. Integer().
Integer tal = new Integer(53);

Om man bara vill ha en sorts objekt i en vector, så kan man använda generics. (Det använder jag i min senaste uppgift.) Det kan se ut såhär. (Fordon är en klass jag själv har konstruerat.)
Vector <Fordon> varor = new Vector <Fordon>();

Använder man generics kan man också göra förenklade for-loopar. Ex.

for(Fordon f : varor)
{
       System.out.println(f.skrivUtInfo());
}

Här betyder denna loop helt enkelt att den går igenom hela vectorn varor. Fordon är ju en egen klass som jag har gjort och i Fordons-klassen har jag en metod som heter skrivUtInfo(), som skriver ut all info om just det specifika fordonet, t.ex. pris, vikt och färg.

Metoden skrivUtInfo kan se ut på följande sätt.
(pris, vikt, farg är instansvariabler som finns i klassen Fordon.)

public String skrivUtInfo()
{
    return ("Pris: " + pris + "\nVikt: " + vikt + "\nFärg: " + farg);
}

Ja nu vet jag inte hur mycket du kan om klasser, men enkelt kan man säga att med klasser så håller varje objekt reda på all information om sig själv, så programmet slipper göra det.

Ska man vara lat så kan man låta skrivUtInfo() anta namnet toString(). I Java är detta en speciell metod som gör att man bara behöver skriva ut objektets namn för att metoden ska anropas. Så den förenklade for-loopen kan göras ännu enklare.

for(Fordon f : varor)
{
       System.out.println(f);
}

Senast redigerat av Bwa Kell (2008-11-02 15:43:06)


Jag hänger på Loading.

Wii-nr: 2362 3133 6235 8005
Brawl-fc: 5413-2455-2274

Offline

 

#22 2008-11-02 17:09:55

Burbruee
Administratör P
Från: SKÅNE
Registrerad: 2008-08-28
Inlägg: 2605

Re: Java

Arrays kommer i kapitel 2 i B-kursens bok. (jag hade samma bok som Cjuub när jag läste Java)
Det heter fält där, och det du beskriver som matriser liknar flerdimensionella fält. (kapitel 3)

Så han har helt enkelt inte fått lära sig det där ännu. smile


http://miniprofile.xfire.com/bg/sh/type/2/Burb.png

<+liag> <Burbruee> Inte alltid jättebra dock om man råkar högerklicka i analen av mistak. =/
<+liag> sparad

Offline

 

#23 2008-11-02 17:17:21

Cjuub
Medlem P30
Från: \o/
Registrerad: 2008-09-07
Inlägg: 3979
Webbsida

Re: Java

Men snart.. Ska börja med B-boken inom de närmaste 2 veckorna.
Men Bwa Kell verkar lagom hax på Java... Får fråga här om det uppstår nåt Burb inte kan hjälpa mig med! ;D

Ny uppdatering av mitt TROLLET-spel, sista uppdateringen och nu är projektet släppt!

http://cjuub.mine.nu/Applets/TROLLETrem … date).html

Läs changelog på sidan! Dnoes

Senast redigerat av Cjuub (2008-11-02 17:18:04)


fest i svea rike o/

Sluta vara så jävla butthurt över att ingen tycker om dig hela jävla tiden, gör något åt saken istället och duscha eller något yo

Offline

 

#24 2008-11-02 17:25:15

Bwa Kell
Medlem
Från: West Clocktown
Registrerad: 2008-08-30
Inlägg: 882
Webbsida

Re: Java

Burbruee skrev:

Arrays kommer i kapitel 2 i B-kursens bok. (jag hade samma bok som Cjuub när jag läste Java)
Det heter fält där, och det du beskriver som matriser liknar flerdimensionella fält. (kapitel 3)

Så han har helt enkelt inte fått lära sig det där ännu. smile

Det var ju typ en av de mest grundläggande sakerna i kurs A för oss. Vad lärde ni er egentligen i kurs A?
I vår kurs A så lär man sig inget grafiskt, utan man kör bara textbaserat.

Vårt kurskompendium i B innehöll följande.
1. Applets
2. Grafik
3. Array/Matriser (Repetition)
4. Objektorienterad Programmering
5. Util-klasser
6. Struktur av din kod
7. Mer om Applets
8. Awt och Swing (grafiska komponenter)
9. Applets och Applications
10. Trådprogrammering
11. Animering
12. Händelser (Events)
13. Bilder i Java
14. Textuppdelning
15. Filhantering
16. Kollektioner (Collections)

Där överlägset mest fokus låg på objektorienterad programmering, eftersom det är egentligen värdelöst/onödigt att använda Java om man inte programmerar på det sättet.
----------------------------------------------------------------------------------------------------------------------------
Här får ni hela mitt slutprojekt i B kursen. Det är en applikation och därför kan man inte få musik lika lätt som man kan få i en applet. Jaja nu får ni se alla klasser och allt, så ni vet hur ett riktigt spel ska se ut. smile Dock får ni inga bilder och detta är inte heller den slutgiltiga versionen för i den så får man bonus beroende på hur snabbt man klarat bossen.

Klassen för skott.

Kod:

import java.awt.*;
import javax.swing.*;

public class Skott
{
    /*Instansvariabler: Data om objektet*/
    //x och y koordinater
    private int x;
    private int y;

    //Bredd och höjd
    private int b;
    private int h;

    //Hastighets variabler
    private int vx;
    private int vy;

    //Anger typ
    private int i;

    //Utseende (bild)
    private Image img;


    //Konstruktor (specialmetod för att skapa objekt av klassen)
    public Skott(int xx, int yy, int ii)
    {
        x = xx;
        y = yy;

        b = 4;
        h = 9;

        i = ii;

        if(i==1){vy=-4; vx=0;} //Vanliga skott (Hjältens).
        else if(i==2){vy=4; vx=(int)(Math.random()*7); if((int)(Math.random()*2)==0){vx=vx*-1;}} //Fåglarnas skott.

    }

    public Skott(int xx, int yy, int ii, Image im)
    {
        x = xx;
        y = yy;

        i = ii;

        //Bossens skott. 3=typ1 4=typ2.
        if(i==3){img = im; b = img.getWidth(null); h = img.getHeight(null); vy=4; vx=(int)(Math.random()*2+1); if((int)(Math.random()*2)==0){vx=vx*-1;}}
        else if(i==4){img = im; b = img.getWidth(null); h = img.getHeight(null); vy=6; vx=(int)(Math.random()*4+1); if((int)(Math.random()*2)==0){vx=vx*-1;}}
    }

    /********** Metoder *********/
    public void draw( Graphics g )
    {
        //Ritar ut skottet.
        if(i==1)
        {
            g.setColor(Color.white);
            g.fillOval(x, y, b, h);
        }
        else if(i==3)
        {
            g.drawImage(img, x, y, null);
        }
        else if(i==4)
        {
            g.drawImage(img, x, y, null);
        }
        else
        {
            g.setColor(Color.red);
            g.fillOval(x, y, b, h);
        }
    }

    public Rectangle getBBox(){return new Rectangle(x, y, b, h);}
    public boolean checkHit(Rectangle other){Rectangle me = getBBox(); return me.intersects(other);}

    public void setX(int nx){x=nx;}
    public void setY(int ny){y=ny;}
    public void incX(int vx){x = x + vx;}
    public void incY(int vy){y = y + vy;}
    public int getVx(){return vx;}
    public int getVy(){return vy;}
    public int getX(){return x;}
    public int getY(){return y;}
    public int getB(){return b;}
    public int getH(){return h;}
    //public void setImg(Image k){img=k;}

}

Klassen för hjälten. (Gubben man styr.)

Kod:

import java.awt.*;
import javax.swing.*;
import java.util.*;

public class Hero
{
    /*Instansvariabler: Data om objektet*/
    //x och y koordinater
    private int x;
    private int y;

    private int x2;
    private int y2;

    //Bredd och höjd
    private int b;
    private int h;

    private int score;
    private int hitTime;
    private int killCount;

    //Utseende (bild)
    private Image img = (new ImageIcon("ship.gif")).getImage();
    private Image hit = (new ImageIcon("shipHit.gif")).getImage();

    //Skott
    private Vector <Skott> sk = new Vector <Skott> ();


    //Konstruktor (specialmetod för att skapa objekt av klassen)
    public Hero( int xx, int yy)
    {
        x = xx;
        y = yy;

        x2 = x;
        y2 = y;

        b = img.getWidth(null);
        h = img.getHeight(null);

        score = 00000;
        hitTime = 0;
        killCount = 0;

    }

    /********** Metoder *********/
    public void draw( Graphics g )
    {
        if(hitTime==0){g.drawImage(img, x, y, null);}
        else{g.drawImage(hit, x, y, null);}

        try
        {
            for(Skott s : sk)
            {
                s.draw(g);
            }
        }
        catch(Exception e){System.out.println("Litet fel.");}

        if(hitTime>0){hitTime--;}
    }

    public Rectangle getBBox(){return new Rectangle(x, y, b, h);}
    public boolean checkHit(Rectangle other){Rectangle me = getBBox(); return me.intersects(other);}

    public void setX(int nx){x=nx;}
    public void setY(int ny){y=ny;}
    public void incX(int vx){x2=x; x = x + vx;}
    public void incY(int vy){y2=y; y = y + vy;}
    public int getX(){return x;}
    public int getY(){return y;}
    public int getB(){return b;}
    public int getH(){return h;}
    public void goBack(){y=y2; x=x2;} //Så att hjälten går tillbaka till sin tidigare position.
    public void setImg(Image k){img=k;}
    public void incScore(int sc){score = score + sc;}
    public void incKC(){killCount++;}
    public void setScore(int sc){score = sc;}
    public void setKC(int kc){killCount = kc;}
    public int getScore(){return score;}
    public int getKC(){return killCount;}
    public void wasHit(){hitTime=9;}

    public void shoot()
    {
        sk.add(new Skott(getX()+(b/2-2), getY(), 1));
    }

    public void incShots()
    {
        try{for(Skott s : sk){s.incX(s.getVx()); s.incY(s.getVy());}}
        catch(Exception e){System.out.println("Ett litet fel har skett. Troligen av typ ConcurrentModificationException.");}
    }

    public void emptyShots(){sk.clear();}

    public void checkBounds(Rectangle fon)
    {
        for(int i = 0; i<sk.size(); i++)
        {
            if(fon.intersects(sk.elementAt(i).getBBox())==false){sk.removeElementAt(i);}
        }
    }

    public boolean checkCol(Rectangle fon)
    {
        boolean collision = false;
        for(int i = 0; i<sk.size(); i++)
        {
            if(fon.intersects(sk.elementAt(i).getBBox())==true){sk.removeElementAt(i); collision=true; i=sk.size();}
        }

        return collision;
    }

}

Klassen för fiender.

Kod:

import java.awt.*;
import javax.swing.*;
//import java.util.*;

public class Enemy
{
    /*Instansvariabler: Data om objektet*/
    //x och y koordinater
    private int x;
    private int y;

    private int vx;
    private int vy;

    //Bredd och höjd
    private int b;
    private int h;

    //Utseende (bild)
    private Image img;

    private int hitTime;
    private int status;


    //Konstruktor (specialmetod för att skapa objekt av klassen)
    public Enemy(Image im)
    {
        img = im;

        b = img.getWidth(null);
        h = img.getHeight(null);

        y = 0 - h;
        x = (int)(Math.random()*(601-2*b)) + b;

        vy = (int)(Math.random()*3) + 1;
        vx = (int)(Math.random()*3);

        hitTime = 0;
        status = 2;

        int tmp = (int)(Math.random()*2);
        if(tmp==0){vx = vx*-1;}

    }

    /********** Metoder *********/
    public void draw( Graphics g )
    {
        g.drawImage(img, x, y, null);

        if(hitTime>0){hitTime--;}

        if(hitTime==1){status = 0;}

        /*for(Skott s : sk)
        {
            s.draw(g);
        }*/
    }

    public Rectangle getBBox(){return new Rectangle(x, y, b, h);}
    public boolean checkHit(Rectangle other){Rectangle me = getBBox(); return me.intersects(other);}

    public void setX(int nx){x=nx;}
    public void setY(int ny){y=ny;}
    public void incX(int vx){x = x + vx;}
    public void incY(int vy){y = y + vy;}
    public int getVx(){return vx;}
    public int getVy(){return vy;}
    public int getX(){return x;}
    public int getY(){return y;}
    public int getB(){return b;}
    public int getH(){return h;}
    public void wasHit(Image im2){hitTime = 13; vy=0; vx=0; status=1; img = im2;}
    public int getStatus(){return status;}
    public void setImg(Image k){img=k;}

    /*public void shoot()
    {
        sk.add(new Skott(getX()+(b/2-2), getY(), false));
    }

    public void checkBounds(Rectangle fon)
    {
        for(int i = 0; i<sk.size(); i++)
        {
            if(fon.contains(sk.elementAt(i).getBBox())==false){sk.removeElementAt(i);}
        }
    }*/

}

Klassen för bossen.

Kod:

import java.awt.*;
import javax.swing.*;
//import java.util.*;

public class Boss
{
    /*Instansvariabler: Data om objektet*/
    //x och y koordinater
    private int x;
    private int y;

    private int vx;
    private int vy;

    //Bredd och höjd
    private int b;
    private int h;

    //Utseende (bild)
    private Image img = (new ImageIcon("boss.gif")).getImage();
    private Image hit = (new ImageIcon("bossHit.gif")).getImage();
    private Image end = (new ImageIcon("bossShoot.gif")).getImage();

    private int hitTime;

    //Liv
    private int life;


    //Konstruktor (specialmetod för att skapa objekt av klassen)
    public Boss()
    {
        b = img.getWidth(null);
        h = img.getHeight(null);

        y = 0;
        x = 300-b/2;

        vy = 0;
        vx = 2;

        life=100;
        hitTime = 0;

    }

    /********** Metoder *********/
    public void draw( Graphics g )
    {
        if(hitTime==0){g.drawImage(img, x, y, null);}
        else{g.drawImage(hit, x, y, null);}

        if(hitTime>0){hitTime--;}

        /*for(Skott s : sk)
        {
            s.draw(g);
        }*/
    }

    public Rectangle getBBox(){return new Rectangle(x, y, b, h);}
    public boolean checkHit(Rectangle other){Rectangle me = getBBox(); return me.intersects(other);}

    public void setX(int nx){x=nx;}
    public void setY(int ny){y=ny;}
    public void incX(int vx){x = x + vx;}
    public void incY(int vy){y = y + vy;}
    public int getVx(){return vx;}
    public int getVy(){return vy;}
    public int getX(){return x;}
    public int getY(){return y;}
    public int getB(){return b;}
    public int getH(){return h;}
    public void reverse(){vx=vx*-1;}
    public void hit(){life--;}
    public void wasHit(){hitTime=9;}
    public int getLife(){return life;}
    public void end(){img=end; vy=-1; vx=0;}
}

Själva huvudprogrammet kan man säga.

Kod:

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.applet.*;
import java.net.*;
import java.util.*;
//import  sun.audio.*;    //import the sun.audio package
import  java.io.*;

public class Slutprojekt extends JPanel implements KeyListener, Runnable
{
    /*Instansvariabler*/
    Thread t = new Thread(this);

    //Fönsterstorlek
    int w = 600, h = 700;
    Rectangle window = new Rectangle(w, h);

    //Dubbelbuffring
    Image dbi;
    Graphics dbg;

    //Musik
    URL ur;
    URL ur2;
    URL ur3;
    URL ur4;
    AudioClip op;
    AudioClip theme;
    AudioClip bosstheme;
    AudioClip endtheme;

    //Hjälten
    Hero ship = new Hero(w/2-50, h-100);

    //Hastighet för hjälte.
    int xV = 2, yV = 2;

    //Event booleans
    boolean right = false;
    boolean left = false;
    boolean up = false;
    boolean down = false;

    //Tidsvariabel
    int time = 0;

    //Trådens sovtid
    int sleepTime = 18;

    //Programfas booleans
    boolean go = false;
    boolean bbattle = false;
    boolean bossdead = false;
    boolean goOver = false;
    boolean end = false;

    //Koordinater för credits
    int endx = 100;
    int [] endy = new int [19];

    //Title Screen
    Image ii = (new ImageIcon("ssslogo.jpg")).getImage();

    //End Screen
    Image ii2 = (new ImageIcon("endlogo.jpg")).getImage();

    //Fiender-Skott
    Vector <Enemy> birds = new Vector <Enemy> ();
    Vector <Skott> sk = new Vector <Skott> ();

    //Boss-Skott-Skjutchans
    Boss boss;
    Vector <Skott> bs = new Vector <Skott> ();
    int shootChanceB = 17;

    //Bakgrund och dess koordinater.
    int bgx = 0;
    int [] bgy = {-200, 0, 200, 400, 600};
    Image bg = (new ImageIcon("spacebg.gif")).getImage();

    //Bilder för fiender och skott. (Samlats här p.g.a. att detta är budget-versionen.)
    Image img = (new ImageIcon("shipShot22.gif")).getImage();
    Image img2 = (new ImageIcon("shipShot32.gif")).getImage();
    Image img3 = (new ImageIcon("enemy.gif")).getImage();
    Image img4 = (new ImageIcon("enemyHit.gif")).getImage();

    //Highscore
    File fil = new File("highscore.txt");
    PrintWriter filPW = null;
    BufferedReader inFil = null;
    boolean highscore = true;
    String [] namn = new String [5];
    int [] top5 = new int [5];

    /*InputStream in;
    AudioStream as;
    AudioData data;
    ContinuousAudioDataStream cas;*/

    public Slutprojekt()
    {
        //Sätter fönstrets storlek.
        setSize(w, h);

        //Lägger till lyssnaren för tangentbordet.
        addKeyListener(this);

        //Skapar inläsnings mekanismen för highscore.
        try{inFil= new BufferedReader(new FileReader(fil));}
        catch(FileNotFoundException fnfe){System.out.println("Gick inte att läsa in highscore.");}

        //Läser in highscore-listan.
        try
        {
            for(int i = 0; i<top5.length; i++)
            {
                namn[i]=inFil.readLine();
                top5[i]=Integer.parseInt(inFil.readLine());
            }

            inFil.close();
        }
        catch(IOException io)
        {
            System.out.println("Gick inte att läsa in highscore. Alternativt skapade highscore lista.");
            for(int i = 0; i<top5.length; i++){namn[i]="-----"; top5[i]=0;}
        }
        catch(NullPointerException npe){System.out.println("Vi fortsätter.");}

        /*try
        {
            in = new FileInputStream("opening.mid");
            as = new AudioStream(in);
            // Create AudioData source.
            data = as.getData();
            // Create ContinuousAudioDataStream.
            cas = new ContinuousAudioDataStream (data);
        }
        catch(IOException err){System.out.println("Fel.");}*/

        //Sätter y-koordinaterna för end-credits.
        endy[0] = h; endy[1] = endy[0]+15; endy[2] = endy[1]+50; endy[3] = endy[2]+15; endy[4] = endy[3]+50;
        endy[5] = endy[4]+15; endy[6] = endy[5]+50; endy[7] = endy[6]+15; endy[8] = endy[7]+15; endy[9] = endy[8]+15;
        endy[10] = endy[9]+15; endy[11] = endy[10]+50; endy[12] = endy[11]+15; endy[13] = endy[12]+15; endy[14] = endy[13]+15;
        endy[15] = endy[14]+15; endy[16] = endy[15]+50; endy[17] = endy[16]+15; endy[18] = endy[17]+15;

        //Hämtar musikens adress.
        try
        {
            ur = new URL("http://www.vgmusic.com/music/console/nintendo/snes/teso_03.mid");
            ur2 = new URL("http://www.vgmusic.com/music/console/nintendo/nes/mm2wily1.mid");
            ur3 = new URL("http://www.vgmusic.com/music/console/nintendo/snes/met3end.mid");
            //ur3 = new URL("http://www.vgmusic.com/music/console/nintendo/gamecube/ECHOES.mid");
            ur4 = new URL("http://www.vgmusic.com/music/console/nintendo/snes/somAngel.mid");
        }
        catch(MalformedURLException me){System.out.println("Programmet avslutades.\nVar god anslut till internet."); System.exit(1);}

        //Laddar Musik
        op = Applet.newAudioClip(ur);
        theme = Applet.newAudioClip(ur2);
        bosstheme = Applet.newAudioClip(ur3);
        endtheme = Applet.newAudioClip(ur4);

        //Startar tråd och musik
        t.start();
        op.loop();//AudioPlayer.player.start (cas);

        //Gör fönstret synligt.
        setVisible(true);
    }

    public void keyPressed(KeyEvent e)
    {
        //Styra skepp.
        if(e.getKeyCode()==e.VK_RIGHT){right=true;}
        if(e.getKeyCode()==e.VK_LEFT){left=true;}
        if(e.getKeyCode()==e.VK_UP){up=true;}
        if(e.getKeyCode()==e.VK_DOWN){down=true;}

        //Starta spel/Skippa intro.
        if(e.getKeyCode()==e.VK_ENTER){if(time<1503){/*AudioPlayer.player.stop (cas);*/ op.stop(); theme.loop(); go=true; time=1503;}}

        //Skippa outro.
        if(e.getKeyCode()==e.VK_S){if(end==true){endy[18]=-1;}}

        //Spela om eller avsluta.
        if(e.getKeyCode()==e.VK_F1){replay();}
        if(e.getKeyCode()==e.VK_F2){System.exit(1);}
    }

    public void keyReleased(KeyEvent e)
    {
        //Styra skepp.
        if(e.getKeyCode()==e.VK_RIGHT){right=false;}
        if(e.getKeyCode()==e.VK_LEFT){left=false;}
        if(e.getKeyCode()==e.VK_UP){up=false;}
        if(e.getKeyCode()==e.VK_DOWN){down=false;}

        //Skjuta.
        if(e.getKeyCode()==e.VK_Z){if(go==true || bbattle==true){ship.shoot();}}
    }
    public void keyTyped(KeyEvent e){}

    //Metod för att tala om att bossen kommer
    public void soonBoss(){goOver=true; repaint(); try{t.sleep(1000);}catch(InterruptedException ie){/*Fel*/} goOver=false;}

    //Metod för att köra igen.
    public void replay()
    {
        //Vi "nollställer" rubbet.
        ship.setX(w/2-50); ship.setY(h-100);
        ship.setScore(0); ship.setKC(0);
        ship.emptyShots();
        boss = null;
        birds.clear();
        sk.clear(); bs.clear();
        bosstheme.stop();
        endtheme.stop();
        theme.loop();
        sleepTime = 18;
        shootChanceB = 17;
        end = false;
        bbattle = false;
        go = true;
        highscore = true;
        endy[0] = h; endy[1] = endy[0]+15; endy[2] = endy[1]+50; endy[3] = endy[2]+15; endy[4] = endy[3]+50;
        endy[5] = endy[4]+15; endy[6] = endy[5]+50; endy[7] = endy[6]+15; endy[8] = endy[7]+15; endy[9] = endy[8]+15;
        endy[10] = endy[9]+15; endy[11] = endy[10]+50; endy[12] = endy[11]+15; endy[13] = endy[12]+15; endy[14] = endy[13]+15;
        endy[15] = endy[14]+15; endy[16] = endy[15]+50; endy[17] = endy[16]+15; endy[18] = endy[17]+15;
    }

    public void run()
    {
        while(true)
        {
            if(go==true || bbattle==true)
            {
                //Rör på skeppet.
                if(right==true)
                {
                    ship.incX(xV);
                }
                if(left==true)
                {
                    ship.incX(-xV);
                }
                if(up==true)
                {
                    ship.incY(-yV);
                }
                if(down==true)
                {
                    ship.incY(yV);
                }

                //Gör så att skeppets skott rör på sig.
                ship.incShots();

                //Hindrar att skeppet åker utanför skärmen. Gör så att skotten raderas utanför skärmen.
                if(window.contains(ship.getBBox())==false){ship.goBack();}
                ship.checkBounds(window);
            }

            if(go==true)
            {
                //Flyttar bakgrunden.Ger fart-känslan.
                for(int i = 0; i<bgy.length; i++)
                {
                    bgy[i]++;
                    if(bgy[i]>799){bgy[i]=-200;}
                }

                //Gör så att fåglarna rör på sig.
                for(Enemy e : birds){e.incX(e.getVx()); e.incY(e.getVy());}

                //Gör så att fåglarnas skott rör på sig.
                for(Skott s : sk){s.incX(s.getVx()); s.incY(s.getVy());}

                //Skapar fåglarna.
                if((int)(Math.random()*40)==27){birds.add(new Enemy(img3));}

                //Kollar om fåglarna befinner sig utanför skärmen, blivit skjutna eller krockar med skeppet. (Och tar bort dem.)
                for(int i = 0; i<birds.size(); i++)
                {
                    if(birds.elementAt(i).getY()>h){birds.removeElementAt(i);}
                    else if(birds.elementAt(i).getY()>0 && birds.elementAt(i).getX()<(0-birds.elementAt(i).getB())){birds.removeElementAt(i);}
                    else if(birds.elementAt(i).getY()>0 && birds.elementAt(i).getX()>w){birds.removeElementAt(i);}
                    else if(birds.elementAt(i).getStatus()==0){birds.removeElementAt(i);}
                    else if(birds.elementAt(i).getStatus()==2 && ship.checkCol(birds.elementAt(i).getBBox())==true){birds.elementAt(i).wasHit(img4); ship.incScore(20); ship.incKC();}
                    else if(birds.elementAt(i).getStatus()==2 && ship.checkHit(birds.elementAt(i).getBBox())==true){birds.elementAt(i).wasHit(img4); ship.incScore(-25); ship.wasHit();}
                }

                //Gör så att fåglarna skjuter.
                for(Enemy beb : birds)
                {
                    if((int)(Math.random()*35)==27){sk.add(new Skott(beb.getX()+(beb.getB()/2-2), beb.getY(), 2));}
                }

                //Tar bort fåglarnas skott om: utanför skärmen, träffar skepp, träffar skepps skott.
                for(int i = 0; i<sk.size(); i++)
                {
                    if(window.intersects(sk.elementAt(i).getBBox())==false){sk.removeElementAt(i);}
                    else if(ship.checkHit(sk.elementAt(i).getBBox())==true){sk.removeElementAt(i); ship.incScore(-15); ship.wasHit();}
                    else if(ship.checkCol(sk.elementAt(i).getBBox())==true){sk.removeElementAt(i);}
                }

                //Bossen kommer fram när 137 fåglar dödats.
                if(ship.getKC()>137){birds.clear(); sk.clear(); boss=new Boss(); soonBoss(); go=false; bbattle=true; theme.stop(); bosstheme.loop();}

            }

            if(bbattle==true && boss!=null)
            {
                //Gör så att bossen rör på sig.
                if(boss!=null){boss.incX(boss.getVx()); boss.incY(boss.getVy());}

                //Gör så att bossen går fram och tillbaka i x-led.
                if(window.contains(boss.getBBox())==false){boss.reverse();}

                //Gör så att bossens skott rör på sig.
                for(Skott s : bs){s.incX(s.getVx()); s.incY(s.getVy());}

                //Gör så att bossen skjuter. Om liv<25 så börjar han skjuta coolare skott.
                if((int)(Math.random()*shootChanceB)==7 && boss.getY()>-1)
                {
                    if(boss.getLife()<25){bs.add(new Skott(boss.getX()+(boss.getB()/2), boss.getY()+100, 4, img2)); shootChanceB=10;}
                    else{bs.add(new Skott(boss.getX()+(boss.getB()/2), boss.getY()+100, 3, img));}
                }

                //Tar bort bossens skott om: utanför skärmen, träffar skepp, träffar skepps skott.
                for(int i = 0; i<bs.size(); i++)
                {
                    if(window.intersects(bs.elementAt(i).getBBox())==false){bs.removeElementAt(i);}
                    else if(ship.checkHit(bs.elementAt(i).getBBox())==true){bs.removeElementAt(i); ship.incScore(-30); ship.wasHit();}
                    else if(ship.checkCol(bs.elementAt(i).getBBox())==true){bs.removeElementAt(i);}
                }

                //Kollar om skeppets skott träffar bossen.
                if(ship.checkCol(boss.getBBox())==true && boss.getY()>-1){ship.incScore(10); boss.hit(); boss.wasHit();}

                //Kollar om skeppet åker in i bossen.
                if(ship.checkHit(boss.getBBox())==true){ship.incScore(-5); ship.wasHit();}

                //Kollar om bossen är död eller inte.
                if(boss.getLife()<1  && boss.getY()>-1){ship.incScore(500); boss.end(); bs.clear(); bossdead = true;}

                //Om bossen försvunnit, så sätts sluttexterna igång.
                if(boss!=null && boss.getY()+boss.getH()<0){bossdead = false; bbattle=false; end=true; bosstheme.stop(); endtheme.play(); sleepTime=70; boss=null;}
            }

            //Får sluttexterna att rulla.
            if(end==true && endy[18]>-10)
            {
                for(int i = 0; i<endy.length; i++){endy[i]--;}
            }

            //Highscore.
            if(endy[18]<-5 && highscore==true)
            {
                for(int i = 0; i<top5.length; i++)
                {
                    if(ship.getScore()>top5[i])
                    {
                        for(int j = top5.length-1; j>i; j--)
                        {
                            top5[j] = top5[j-1];
                            namn[j] = namn[j-1];
                        }

                        top5[i] = ship.getScore();
                        namn[i] = JOptionPane.showInputDialog("Skriv in ditt namn.");

                        try{filPW = new PrintWriter(fil);}
                        catch(FileNotFoundException fnfe){System.exit(1);}

                        for(int l = 0; l<top5.length; l++)
                        {
                            filPW.println(namn[l]);
                            filPW.println(top5[l]);
                        }

                        filPW.close();

                        i = top5.length;
                    }
                }

                highscore = false;
            }

            //Ökar tiden för att ha koll på den under introsekvensen.
            if(time<1500){time++;}

            repaint();

            try
            {
                t.sleep(sleepTime);
            }
            catch(InterruptedException ie)
            {
                //Felhantering.
            }
        }
    }

    public void paint(Graphics g)
    {
        if(dbi==null)
        {
            //Skapa dubbelbuff...
            dbi = createImage(w, h);
            dbg = dbi.getGraphics();
        }

        //Ritar ut en svart rektangel över hela skärmen. (För intro och outro.)
        dbg.setColor(Color.black);
        dbg.fillRect(0,0,w,h);

        //Intro
        if(time<=500){dbg.setColor(Color.white); dbg.drawString("Licensed by NT-Gymnasiet" , w/2-90, h/2);}
        else if(time>500 && time<=1000){dbg.setColor(Color.white); dbg.drawString("Anders Örnhed studios presents..." , 30, 40);}
        else if(time>1000 && time<=1495){dbg.setColor(Color.white); dbg.drawString("A Simon Klein production..." , w-200, h-40);}
        else if(time>1495 && time<1502){dbg.drawImage(ii, 0, 0, null);}

        if(go==true) //Spel-fasen
        {
            for(int i = 0; i<bgy.length; i++){dbg.drawImage(bg, bgx, bgy[i], null);} //Ritar bakgrunden.
            ship.draw(dbg); //Ritar skeppet.
            if(goOver==true){dbg.setColor(Color.orange); dbg.drawString("WARNING! The Boss!" , w/2-70, h/2);} //Talar om att bossen kommer.
            try
            {
                for(Enemy e : birds){e.draw(dbg);} //Ritar ut alla fiender.
                for(Skott s : sk){s.draw(dbg);} //Ritar ut alla fiendernas skott.
            }
            catch(Exception e){System.out.println("Litet fel.");}

            //Ritar ut poängen.
            dbg.setColor(Color.green);
            dbg.drawString("Score: "+ship.getScore(), w-100, 15);
        }
        else if(bbattle==true) //Boss-striden
        {
            for(int i = 0; i<bgy.length; i++){dbg.drawImage(bg, bgx, bgy[i], null);}
            ship.draw(dbg);
            //Talar om att man besegrat bossen.
            if(bossdead==true){dbg.setColor(Color.cyan); dbg.drawString("You Win! Increase Score +500!" , ship.getX()+50, ship.getY());}
            if(boss!=null){boss.draw(dbg);} //If för att undvika NullPointerException. Ritar ut bossen.
            try{for(Skott s : bs){s.draw(dbg);}} //Ritar ut bossens skott.
            catch(Exception e){System.out.println("Litet fel.");}

            dbg.setColor(Color.green);
            dbg.drawString("Score: "+ship.getScore(), w-100, 15);
        }
        else if(end==true && endy[18]>-1)
        {
            /*END CREDITS*/
            dbg.setColor(Color.pink); dbg.drawString("Executive Producer" , endx, endy[0]);
            dbg.setColor(Color.white); dbg.drawString("Anders Örnhed" , endx, endy[1]);
            dbg.setColor(Color.pink); dbg.drawString("Director" , endx, endy[2]);
            dbg.setColor(Color.white); dbg.drawString("Simon Klein" , endx, endy[3]);
            dbg.setColor(Color.pink); dbg.drawString("Programming" , endx, endy[4]);
            dbg.setColor(Color.white); dbg.drawString("Simon Klein" , endx, endy[5]);
            dbg.setColor(Color.pink); dbg.drawString("Music" , endx, endy[6]);
            dbg.setColor(Color.white); dbg.drawString("Intro Theme (Terranigma - Main Theme)" , endx, endy[7]);
            dbg.setColor(Color.white); dbg.drawString("Main Theme (Megaman 2 - Dr.Willy's Castle Stage 1)" , endx, endy[8]);
            dbg.setColor(Color.white); dbg.drawString("Boss Theme (Super Metroid - Ending Theme)" , endx, endy[9]);
            dbg.setColor(Color.white); dbg.drawString("Ending Theme (Secret of Mana - Angel's Fear)" , endx, endy[10]);
            dbg.setColor(Color.pink); dbg.drawString("Art" , endx, endy[11]);
            dbg.setColor(Color.white); dbg.drawString("Title Screen (Ikaruga)" , endx, endy[12]);
            dbg.setColor(Color.white); dbg.drawString("Ship (Ikaruga)" , endx, endy[13]);
            dbg.setColor(Color.white); dbg.drawString("Enemies/Birds (Chrono Trigger)" , endx, endy[14]);
            dbg.setColor(Color.white); dbg.drawString("Boss (Chrono Trigger)" , endx, endy[15]);
            dbg.setColor(Color.pink); dbg.drawString("Special Thanks" , endx, endy[16]);
            dbg.setColor(Color.white); dbg.drawString("Simon Brynte" , endx, endy[17]);
            dbg.setColor(Color.white); dbg.drawString("Samuel Klein" , endx, endy[18]);

            dbg.setColor(Color.orange); dbg.drawString("Press S to skip" , 500, h-10);
        }
        else if(endy[18]<0) //Ritar ut slutbilden och poängen man fått, samt top 5 highscores.
        {
            dbg.drawImage(ii2, 99, 70, null);
            dbg.setColor(Color.black);
            dbg.drawString(""+ship.getScore(), w/2-13, h/2+13);

            dbg.setColor(Color.green);
            dbg.drawString("Top 5", w/2-13, h/2+65);
            for(int i = 0; i<top5.length; i++){dbg.drawString("#"+(i+1)+" "+namn[i]+" - "+top5[i], w/2-40, h/2+65+((i+1)*15));}

            dbg.setColor(Color.white);
            dbg.drawString("Press F1 to play again or F2 to quit.", 200, h-10);
        }

        //Så ritar vi ut bilden på skärmen
        g.drawImage(dbi, 0, 0, null);
    }

    /*public static void main(String[]start)
    {
        new Slutprojekt();
    }*/
}

Detta är i princip bara en JFrame som programmet körs i. Huvudprogrammet är Slutprojekt.

Kod:

import java.awt.*;
import javax.swing.*;

public class Mainframe extends JFrame
{
    public Mainframe()
    {
        Slutprojekt sp = new Slutprojekt();
        setSize(615, 735);
        setTitle("Slutprojekt");

        add(sp);
        setVisible(true);

        sp.requestFocus(); //Så att det får bli sp som lyssnar på tangentbordet.
    }

    public static void main(String[]klein)
    {
        new Mainframe();
    }
}

Senast redigerat av Bwa Kell (2008-11-02 18:18:21)


Jag hänger på Loading.

Wii-nr: 2362 3133 6235 8005
Brawl-fc: 5413-2455-2274

Offline

 

#25 2008-11-02 17:55:06

kiramitsahne
Medlem F
Från: #erefest
Registrerad: 2008-08-26
Inlägg: 2768

Re: Java

Cjuub skrev:

Men snart.. Ska börja med B-boken inom de närmaste 2 veckorna.
Men Bwa Kell verkar lagom hax på Java... Får fråga här om det uppstår nåt Burb inte kan hjälpa mig med! ;D

Ny uppdatering av mitt TROLLET-spel, sista uppdateringen och nu är projektet släppt!

http://cjuub.mine.nu/Applets/TROLLETrem … date).html

Läs changelog på sidan! Dnoes

Lol, fan vad jag hoppade till på 33000 poäng xD


<__________________________________________________________________________________________________________________________________________________________________________________<
                                                                                                                                                YO MAN THOSE GLASSES
<__________________________________________________________________________________________________________________________________________________________________________________<

Offline

 

Sidfot

Powered by PunBB
(© Copyright 2002–2008 PunBB)
© Copyright 2008-2010 Alfred Löfving och Rasmus Utterberg

[ Generated in 1.914 seconds, 7 queries executed ]