so i am trying to have a score counter on Level_1 and Level_2 but when you go to the next level the counter resets. it does work here but it just doesn't copy the amount from the past level. i dont know how to fix this so i would really like some help.
Level_1
Level_2
Kogel
Teller
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 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) /** * Write a description of class Level_1 here. * * @author (your name) * @version (a version number or a date) */ public class Level_1 extends World { public static int AantalPuntenLevel1; Teller teller = new Teller(); Harry harry = new Harry(); Barry barry = new Barry(); Groen groen = new Groen(); Level_2 level_2 = new Level_2(); private int Ronde_1Punten = 8 ; public static boolean ronde_1; public static int welke_avatar; public static int xposSpeler; public static int yposSpeler; public static int Welk_Level; Gezondheid gezondheid = new Gezondheid(); public static int TotGezondheid; /** * Constructor for objects of class MyWorld. * */ public Level_1() { super ( 1366 , 768 , 1 ); prepare(); teller = new Teller(); addObject(teller, 40 , 340 ); addObject(gezondheid, 555 , 10 ); } public void act() { barry(); ronde_1(); ronde_1Klaar(); } public Teller krijgTeller() { return teller; } public Gezondheid krijgGezondheid() { return gezondheid; } /** * Prepare the world for the start of the program. * That is: create the initial objects and add them to the world. */ private void prepare() { addObject(barry, 115 , 302 ); addObject(harry, 781 , 702 ); barry_start(); } public void fighter_avatar() { addObject( new Speler_Fighter(), 1000 , 600 ); welke_avatar = 1 ; } public void hunter_avatar() { addObject( new Speler_Hunter(), 1000 , 600 ); welke_avatar = 2 ; } public void tank_avatar() { addObject( new Speler_Tank(), 1000 , 600 ); welke_avatar = 3 ; } public void barry_start() { ronde_1 = false ; } public void barry() { if (Greenfoot.mouseClicked(barry)) { ronde_1 = true ; } } //alles wat er gebeurd tijdens ronde 1 public void ronde_1() { if (ronde_1 == true ) { if (Greenfoot.getRandomNumber( 350 ) < 4 ) { addObject( new Groen(), Greenfoot.getRandomNumber( 1020 ) + 180 ,Greenfoot.getRandomNumber( 410 ) + 160 ); } } } public void ronde_1Klaar() { if (teller.totaalAantalPunten >= Ronde_1Punten) { ronde_1 = false ; ronde_1Einde(); /*if (getObjects(Groen.class) == null){ ronde_1Einde(); test1 = true; }*/ } } //einde ronde public void ronde_1Einde() { Welk_Level = 1 ; Greenfoot.setWorld(level_2); if (welke_avatar == 1 ){ level_2.fighter_avatar(xposSpeler, yposSpeler); } else if (welke_avatar == 2 ){ level_2.hunter_avatar(xposSpeler, yposSpeler); } else if (welke_avatar == 3 ){ level_2.tank_avatar(xposSpeler, yposSpeler); } } } |
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 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) /** * Write a description of class Level_2 here. * * @author (your name) * @version (a version number or a date) */ public class Level_2 extends World { Teller teller = new Teller(); Barry barry = new Barry(); Harry harry = new Harry(); Groen groen = new Groen(); private int Ronde_2Punten = 8 ; public static boolean ronde_2; Slime_Koning slime_koning = new Slime_Koning(); public static int xposSpeler; public static int yposSpeler; Level_3 level_3 = new Level_3(); Gezondheid gezondheid = new Gezondheid(); /** * Constructor for objects of class Level_2. * */ public Level_2() { super ( 1366 , 768 , 1 ); prepare(); teller = new Teller(); addObject(teller, 40 , 340 ); addObject(gezondheid, 555 , 10 ); } public void act() { ronde_2(); barry(); ronde_2Klaar(); } public Teller krijgTeller() { return teller; } public Gezondheid krijgGezondheid() { return gezondheid; } private void prepare() { addObject(barry, 115 , 302 ); addObject(harry, 781 , 702 ); barry_start(); } public void fighter_avatar( int x, int y) { addObject( new Speler_Fighter(), x, y); } public void hunter_avatar( int x, int y) { addObject( new Speler_Hunter(), x, y); } public void tank_avatar( int x, int y) { addObject( new Speler_Tank(), x, y); } public void barry_start() { ronde_2 = false ; } public void barry() { if (Greenfoot.mouseClicked(barry)) { ronde_2 = true ; } } //alles wat er gebeurd tijdens ronde 2 public void ronde_2() { if (ronde_2 == true ) { if (Greenfoot.getRandomNumber( 300 ) < 4 ) { addObject( new Groen(), Greenfoot.getRandomNumber( 1020 ) + 180 ,Greenfoot.getRandomNumber( 410 ) + 160 ); addObject( new Blauw(), Greenfoot.getRandomNumber( 1020 ) + 180 ,Greenfoot.getRandomNumber( 410 ) + 160 ); } } } public void ronde_2Klaar() { if (teller.totaalAantalPunten >= Ronde_2Punten) { ronde_2 = false ; ronde_2Einde(); /*if (getObjects(Groen.class) == null){ ronde_1Einde(); }*/ } } //einde ronde (alles wordt klaargezet voor de volgende ronde) public void ronde_2Einde() { Greenfoot.setWorld(level_3); if (Level_1.welke_avatar == 1 ){ level_3.fighter_avatar(xposSpeler, yposSpeler); } else if (Level_1.welke_avatar == 2 ){ level_3.hunter_avatar(xposSpeler, yposSpeler); } else if (Level_1.welke_avatar == 3 ){ level_3.tank_avatar(xposSpeler, yposSpeler); } Level_1.Welk_Level = 2 ; } } |
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 83 84 85 86 87 88 | import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) /** * Write a description of class Kogel here. * * @author (your name) * @version (a version number or a date) */ public class Kogel extends beweeg { private Speler speler; private int kogelSnelheid = 5 ; private int richting; boolean aanraak = false ; private int punten_groen = 2 ; private int punten_blauw = 5 ; /** * Act - do whatever the Kogel wants to do. This method is called whenever * the 'Act' or 'Run' button gets pressed in the environment. */ public void act() { geschoten(); move(kogelSnelheid); } public void geschoten() { int ypos = getY(); int xpos = getX(); if (ypos < 5 || xpos < 5 || ypos > 763 || xpos > 1361 ){ getWorld().removeObject( this ); } else { Actor groen = getOneIntersectingObject(Groen. class ); Actor blauw = getOneIntersectingObject(Blauw. class ); if (groen != null ) { updateScore(punten_groen); getWorld().removeObject(groen); getWorld().removeObject( this ); } if (blauw != null ) { updateScore(punten_blauw); getWorld().removeObject(blauw); getWorld().removeObject( this ); } } } public Kogel( int rot) { setRotation(rot); if (rot > 0 && rot < 90 ) { setRotation( 0 ); } if (rot > 90 && rot < 180 ) { setRotation( 90 ); } if (rot > 180 && rot < 270 ) { setRotation( 180 ); } if (rot > 270 && rot < 360 ) { setRotation( 270 ); } } public void updateScore( int aantal) { if (Level_1.Welk_Level == 0 ){ Level_1 level_1 = (Level_1) getWorld(); Teller teller = level_1.krijgTeller(); teller.bumpCount(aantal); } if (Level_1.Welk_Level == 1 ){ Level_2 level_2 = (Level_2) getWorld(); Teller teller = level_2.krijgTeller(); teller.bumpCount(aantal); } if (Level_1.Welk_Level == 2 ){ Level_3 level_3 = (Level_3) getWorld(); Teller teller = level_3.krijgTeller(); teller.bumpCount(aantal); } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) /** * Write a description of class Teller here. * * @author (your name) * @version (a version number or a date) */ public class Teller extends Actor { public int totaalAantalPunten; public Teller() { setImage( new GreenfootImage( "0" , 20 , Color.WHITE, Color.BLUE)); } public void bumpCount( int aantal) { totaalAantalPunten += aantal; setImage( new GreenfootImage( "" + totaalAantalPunten, 20 , Color.WHITE, Color.BLACK)); } } |