I am trying to generate 3 different images with random generator from a pool of 5 images but it still seems to be able to generate the same image between the 3 Images set for a SimpleActor... within those 3 images, I wish to generate another image that's based on what the 3 images may be...
Example plan:
add 3 SimpleActors with Images (<A>, <D>, <B>) that's randomly picked from a pool of 5 images (<A>, <B>, <C>, <D>, <E>)
add 1 SimpleActor with an Image (<D>) that's randomly picked from one of the 3 actors with Images (<A>, <D>, <B>)
This is my code:
What am I doing wrong here?
import greenfoot.*;
public class Minigame3 extends World
{
public String ShadowPoseImages[] = {"UmarunShadowPose1.png", "UmarunShadowPose2.png", "UmarunShadowPose3.png", "UmarunShadowPose4.png", "UmarunShadowPose5.png"};
public Actor ShadowPose1 = new SimpleActor(), ShadowPose2 = new SimpleActor(), ShadowPose3 = new SimpleActor(), PoseChoice = new SimpleActor(), ShadowPoseChoice = new SimpleActor();
public Minigame3()
{
super(600, 400, 1);
setBackground(new GreenfootImage("bricks2.jpg"));
addObject(ShadowPose1, 120, 133);
addObject(ShadowPose2, 300, 133);
addObject(ShadowPose3, 480, 133);
addObject(PoseChoice, 300, 266);
getShadowPoses();
getPoseChoice();
}
public void getShadowPoses()
{
switch(Greenfoot.getRandomNumber(5))
{
case 0: ShadowPose1.setImage("UmarunShadowPose1.png"); ShadowPose1.getImage().scale(100,100); break;
case 1: ShadowPose1.setImage("UmarunShadowPose2.png"); ShadowPose1.getImage().scale(100,100); break;
case 2: ShadowPose1.setImage("UmarunShadowPose3.png"); ShadowPose1.getImage().scale(100,100); break;
case 3: ShadowPose1.setImage("UmarunShadowPose4.png"); ShadowPose1.getImage().scale(100,100); break;
case 4: ShadowPose1.setImage("UmarunShadowPose5.png"); ShadowPose1.getImage().scale(100,100); break;
}
ShadowPose2.setImage(ShadowPoseImages[Greenfoot.getRandomNumber(5)]);
do
{
switch(Greenfoot.getRandomNumber(5))
{
case 0: ShadowPose2.setImage("UmarunShadowPose1.png"); ShadowPose2.getImage().scale(100,100); break;
case 1: ShadowPose2.setImage("UmarunShadowPose2.png"); ShadowPose2.getImage().scale(100,100); break;
case 2: ShadowPose2.setImage("UmarunShadowPose3.png"); ShadowPose2.getImage().scale(100,100); break;
case 3: ShadowPose2.setImage("UmarunShadowPose4.png"); ShadowPose2.getImage().scale(100,100); break;
case 4: ShadowPose2.setImage("UmarunShadowPose5.png"); ShadowPose2.getImage().scale(100,100); break;
}
}
while(ShadowPose2.getImage().equals(ShadowPose1.getImage()));
ShadowPose3.setImage(ShadowPoseImages[Greenfoot.getRandomNumber(5)]);
do
{
switch(Greenfoot.getRandomNumber(5))
{
case 0: ShadowPose3.setImage("UmarunShadowPose1.png"); ShadowPose3.getImage().scale(100,100); break;
case 1: ShadowPose3.setImage("UmarunShadowPose2.png"); ShadowPose3.getImage().scale(100,100); break;
case 2: ShadowPose3.setImage("UmarunShadowPose3.png"); ShadowPose3.getImage().scale(100,100); break;
case 3: ShadowPose3.setImage("UmarunShadowPose4.png"); ShadowPose3.getImage().scale(100,100); break;
case 4: ShadowPose3.setImage("UmarunShadowPose5.png"); ShadowPose3.getImage().scale(100,100); break;
}
}
while(ShadowPose3.getImage().equals(ShadowPose1.getImage()) || ShadowPose3.getImage().equals(ShadowPose2.getImage()));
}
public void getPoseChoice()
{
switch(Greenfoot.getRandomNumber(3))
{
case 0: ShadowPoseChoice.setImage(ShadowPose1.getImage()); break;
case 1: ShadowPoseChoice.setImage(ShadowPose2.getImage()); break;
case 2: ShadowPoseChoice.setImage(ShadowPose3.getImage()); break;
}
switch(Greenfoot.getRandomNumber(5))
{
case 0: if (ShadowPoseChoice.getImage().equals(new GreenfootImage("UmarunShadowPose1.png"))) {PoseChoice.setImage("UmarunPose1.png"); PoseChoice.getImage().scale(100,100); break;}
case 1: if (ShadowPoseChoice.getImage().equals(new GreenfootImage("UmarunShadowPose2.png"))) {PoseChoice.setImage("UmarunPose2.png"); PoseChoice.getImage().scale(100,100); break;}
case 2: if (ShadowPoseChoice.getImage().equals(new GreenfootImage("UmarunShadowPose3.png"))) {PoseChoice.setImage("UmarunPose3.png"); PoseChoice.getImage().scale(100,100); break;}
case 3: if (ShadowPoseChoice.getImage().equals(new GreenfootImage("UmarunShadowPose4.png"))) {PoseChoice.setImage("UmarunPose4.png"); PoseChoice.getImage().scale(100,100); break;}
case 4: if (ShadowPoseChoice.getImage().equals(new GreenfootImage("UmarunShadowPose5.png"))) {PoseChoice.setImage("UmarunPose5.png"); PoseChoice.getImage().scale(100,100); break;}
}
}
public void act()
{
if(Greenfoot.mouseClicked(ShadowPose1) && (ShadowPoseChoice.equals(ShadowPose1))){removeObjects(getObjects(Actor.class));}
if(Greenfoot.mouseClicked(ShadowPose2) && (ShadowPoseChoice.equals(ShadowPose2))){removeObjects(getObjects(Actor.class));}
if(Greenfoot.mouseClicked(ShadowPose3) && (ShadowPoseChoice.equals(ShadowPose3))){removeObjects(getObjects(Actor.class));}
if(Greenfoot.mouseClicked(ShadowPose1) && (!ShadowPoseChoice.equals(ShadowPose1))){removeObjects(getObjects(Actor.class));}
if(Greenfoot.mouseClicked(ShadowPose2) && (!ShadowPoseChoice.equals(ShadowPose2))){removeObjects(getObjects(Actor.class));}
if(Greenfoot.mouseClicked(ShadowPose3) && (!ShadowPoseChoice.equals(ShadowPose3))){removeObjects(getObjects(Actor.class));}
}
}

