This site requires JavaScript, please enable it in your browser!
Greenfoot back
Kerpuffles
Kerpuffles wrote ...

2016/12/7

No clue why this doesn't work

Kerpuffles Kerpuffles

2016/12/7

#
public class MainFighter extends Actor
{
    boolean TurnCount = false;
 
     public MainFighter(){
    int percentage = 200;
    GreenfootImage image = getImage();
    image.scale(image.getWidth()*percentage/100, image.getHeight()*percentage/100);
    setImage(image);
    }
    
    String equippedWeapon = "none";
    public void act() 
    {
        
       
       
       if(TurnCount = true){
        if(Greenfoot.isKeyDown("q")){
            if(equippedWeapon == "sword"){
            SwordSlash slash = new SwordSlash();
            getWorld().addObject(slash, 250, 200);
            TurnCount = false;
        }
        }
    
            
        if(Greenfoot.isKeyDown("e")){
            Fireball fire = new Fireball();
            getWorld().addObject(fire, 250, 200);
            TurnCount = false;
        }
        
        if(Greenfoot.isKeyDown("r")){
            IceCrystal ice = new IceCrystal();
            getWorld().addObject(ice, 250, 200);
            TurnCount = false;
        }
        
        if(Greenfoot.isKeyDown("t")){
            Lightning bolt = new Lightning();
            getWorld().addObject(bolt, 250, 200);
            TurnCount = false;
            }
        if(Greenfoot.isKeyDown("y")){
            Holy faith = new Holy();
            getWorld().addObject(faith, 250, 200);
            TurnCount = false;
            }  
            
        if(Greenfoot.isKeyDown("u")){
            Dark hate = new Dark();
            getWorld().addObject(hate, 250, 200);
            TurnCount = false;
            }   
            
        if(Greenfoot.isKeyDown("i")){
            Earth rock = new Earth();
            getWorld().addObject(rock, 250, 200);
            TurnCount = false;
        }
        
        if(Greenfoot.isKeyDown("o")){
            Water wave = new Water();
            getWorld().addObject(wave, 250, 200);
            TurnCount = false;
            }   
        }
        
        if(TurnCount = false){
        int RdmAttack = (Greenfoot.getRandomNumber(7));
        if(RdmAttack == 1){
            EnemyFireball fire = new EnemyFireball();
            getWorld().addObject(fire, 550, 200);
            
        }
        if(RdmAttack == 2){
            EnemyIceCrystal ice = new EnemyIceCrystal();
            getWorld().addObject(ice, 550, 200);
            
        }
        if(RdmAttack == 3){
            EnemyLightning bolt = new EnemyLightning();
            getWorld().addObject(bolt, 550, 200);
            
            }
        if(RdmAttack == 4){
            EnemyHoly faith = new EnemyHoly();
            getWorld().addObject(faith, 550, 200);
            
            }      
        if(RdmAttack == 5){
            EnemyDark hate = new EnemyDark();
            getWorld().addObject(hate, 550, 200);
            
            }   
        if(RdmAttack == 6){
            EnemyEarth rock = new EnemyEarth();
            getWorld().addObject(rock, 550, 200);
            
        }
        if(RdmAttack == 7){
            EnemyWater wave = new EnemyWater();
            getWorld().addObject(wave, 550, 200);
            
            }   
        TurnCount = true;
        }
}
}




It always stays on MainFighter's turn and never works? What am I doing wrong, or is there a better why to do this?
davmac davmac

2016/12/7

#
if(TurnCount = true){
Should be:
if(TurnCount == true){
The first one sets TurnCount to true, and results in a true condition. The second one checks if TurnCount is true. You could also write simply:
if(TurnCount){
You need to login to post a reply.