Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem rychlý dotaz na Javu

Ahoj,
zkouším si něco udělat v Javě, konkrétně v Greenfootu.
Mám kód -

for (int i = 0; i < 3; i++) 
            {
                this.addObject(new Enemy(),spawn_x,spawn_y);
            }

No a, co jsem se díval na internetu, tak by to mělo spawnout 3x Enemy. Ale mě to spawnuje ty Enemy do nekonečna.
Kde je chyba ?

Předmět Autor Datum
Žádnou chybu v tom cyklu nevidím - proběhne 3x.
host 01.01.2016 19:51
host
Nemůže být v problém v tom, že to probíhá 3x do nekonečna ? Že to proběhne 3x, potom zase 3x, potom…
Dushi 01.01.2016 20:07
Dushi
Pokud se to tak chová, tak není problém v tomhle kódu, ale někde jinde.
Wikan 01.01.2016 20:10
Wikan
MuOa Takto to vypadá, to co je ve spojení s tímto kódem.
Dushi 01.01.2016 20:13
Dushi
špatný screen, nereagovat na něj prosím.
Dushi 01.01.2016 20:17
Dushi
rup7 Toto je ono.
Dushi 01.01.2016 20:18
Dushi
Ani z tohohle kódu to není zřejmé. A nedávej sem screeny ale přímo kód, je to mnohem přehlednější.
Wikan 01.01.2016 20:20
Wikan
public class MyWorld extends World { public int wave; private int wave_delay0 = 200; private int wav…
Dushi 01.01.2016 20:24
Dushi
K tomu kódu bych měl hned několik zásadních poznámek, ale žádná z nich neřeší tvůj problém. Spíš to…
Wikan 01.01.2016 20:34
Wikan
Tuhle část tam teda nevidím. Pouze nesmyslný cyklus s jediným průchodem.
Wikan 01.01.2016 20:18
Wikan
To byl jen takový experiment na tom screenu a neuvědomil jsem si to a nesmazal to.
Dushi 01.01.2016 20:19
Dushi
Proč děláš v bleuj? :-D poslední
MašinkaTomáš 05.01.2016 14:35
MašinkaTomáš
public class MyWorld extends World
{
    public int wave;
    private int wave_delay0 = 200;
    private int wave_delay1 = 500;
    private int wave_delay2 = 100;
    private int wave_delay3 = 100;
    private int wave_delay4 = 100;
    private int wave_delay5 = 100;
    private int wave_delay6 = 100;
    
    public MyWorld()
    {    
        super(800, 600, 1); 
        this.addObject(new Player(),550,50);
        wave = 0;
        this.addObject(new IntroText(),getWidth()/2, getHeight()/2);
    }
    public void act()
    {
       wave();          
    }
    public void wave()
    {
        int spawn_x = Greenfoot.getRandomNumber(750);
        int spawn_y = Greenfoot.getRandomNumber(550);
        
       
        switch (wave) 
        {
            case 0:
            wave_delay0 -= 1;
                if(wave_delay0 == 0){
                    wave++;
            
                }
            break;
            case 1:
            wave_delay1 -= 1;
            for (int i = 0; i < 3; i++) 
            {
               this.addObject(new Enemy(),spawn_x,spawn_y);               
            }
                if(wave_delay1 == 0){
                    wave++;
            
                }
            break;
        }
       
    }
}

Zpět do poradny Odpovědět na původní otázku Nahoru