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?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | 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 ));} } } |