It would've seem that my code has problems running due to the NullPointerException error but i have no idea what the problems seems to be, my code has no syntax error but it won't run. Would anyone tell me why is that happening to me?
This is my world code which also has the error(Line 17):
This is the actor that's receiveing the error(Line 6):
import greenfoot.*;
public class Minigame2 extends World
{
public int Score, Score2;
int RandX = (Greenfoot.getRandomNumber(601));
int RandY = (Greenfoot.getRandomNumber(401));
public Actor Scoreboard = new SimpleActor(), Scoreboard2 = new SimpleActor();
public Minigame2()
{
super(600, 400, 1);
GreenfootImage bg = new GreenfootImage("Arcade.jpg");
setBackground(bg);
adjustScore(0);
adjustScore2(0);
addObject(Scoreboard, 300, 200);
addObject(Scoreboard2, 300, 200);
addObject(new MiniSylphynford(), RandX, RandY);
addObject(new MiniUmaru(), RandX, RandY);
for (int i= 0; i < 21;)
{
int randX = 0, randY = 0;
while (randX == 0 || !getObjectsAt(randX, randY, Actor.class).isEmpty())
{
randX = (Greenfoot.getRandomNumber(601));
randY = (Greenfoot.getRandomNumber(401));
}
addObject(new ArcadeTicket(), randX, randY);
i++;
}
for (int i= 0; i < 11;)
{
int randX = 0, randY = 0;
while (randX == 0 || !getObjectsAt(randX, randY, Actor.class).isEmpty())
{
randX = (Greenfoot.getRandomNumber(601));
randY = (Greenfoot.getRandomNumber(401));
}
addObject(new RandomPaper(), randX, randY);
i++;
}
}
public void adjustScore(float adjustment)
{
Score += adjustment;
Score = (int)Score;
Scoreboard.setImage(new GreenfootImage("Yen: "+Score, 20, Color.BLACK, new Color(0, 0, 0, 0)));
}
public void adjustScore2(float adjustment)
{
Score2 += adjustment;
Score2 = (int)Score2;
Scoreboard2.setImage(new GreenfootImage("Yen: "+Score2, 20, Color.BLACK, new Color(0, 0, 0, 0)));
}
}
import greenfoot.*;
public class MiniSylphynford extends Actor
{
public Actor ArcadeTicket, RandomPaper;
public Minigame2 mg2 = (Minigame2)getWorld();
int Score = mg2.Score;
public void act()
{
ArcadeTicket = getOneObjectAtOffset(0,0,ArcadeTicket.class);
RandomPaper = getOneObjectAtOffset(0,0,RandomPaper.class);
if(Greenfoot.isKeyDown("left")) {turn(-5);}
if(Greenfoot.isKeyDown("right")) {turn(5);}
if(Greenfoot.isKeyDown("up")) {move(5);}
if(Greenfoot.isKeyDown("down")) {move(-5);}
}
public void GainScore()
{
if (ArcadeTicket != null)
{
mg2.removeObject(ArcadeTicket);
Score += 1;
}
if (RandomPaper != null)
{
mg2.removeObject(RandomPaper);
Score -= 2;
}
float ScoreAdjustment = 0; // every cycle this value will pe deposited onto the world's yen value
ScoreAdjustment += Score;
mg2.adjustScore(ScoreAdjustment);
// When buying something, only subtract the price from AGold!
}
}

