Hello, I’m new to Java.
I have a basic class called “GameClass” and external class “MyClass” where I’m creating a card (for a simple card game).
But I get an error when I’m trying to create an object of the “MyClass” in the “GameClass”.
What am I doing wrong? I can’t get it.
Thanks.
GameClass:
package tests;
import org.newdawn.slick.AppGameContainer;
import org.newdawn.slick.BasicGame;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Image;
import org.newdawn.slick.SlickException;
public class GameClass extends BasicGame {
private Image card = null;
private int cardX = 300;
private int cardY = 350;
public MyClass card2;
public GameClass(String title) {
super(title);
}
public static void main(String[] args) throws SlickException {
AppGameContainer app = new AppGameContainer(new GameClass("GAME"));
app.setDisplayMode(800, 600, false);
app.start();
}
@Override
public void render(GameContainer gc, Graphics g) throws SlickException {
card.draw(cardX, cardY, card.getWidth()/2, card.getHeight()/2);
card2.draw(50, 50);
}
@Override
public void init(GameContainer gc) throws SlickException {
card = new Image("img/card.png");
card2 = new MyClass();
card2.cardCreated();
}
@Override
public void update(GameContainer gc, int delta) throws SlickException {
}
}
MyClass
package tests;
import org.newdawn.slick.Image;
import org.newdawn.slick.SlickException;
public class MyClass extends Image {
public static Image cardImage;
//CONSTRUCTOR
public MyClass(){
}
public void cardCreated(){
System.out.println("The card is created");
}
@Override
public void draw(){
cardImage.draw();
}
public static void main(String[] args) throws SlickException{
cardImage = new Image("img/card.png");
}
}
java.lang.NullPointerException
at org.newdawn.slick.Image.draw(Image.java:772)
at org.newdawn.slick.Image.draw(Image.java:683)
at org.newdawn.slick.Image.draw(Image.java:547)
at tests.GameClass.render(GameClass.java:47)
at org.newdawn.slick.GameContainer.updateAndRender(GameContainer.java:688)
at org.newdawn.slick.AppGameContainer.gameLoop(AppGameContainer.java:411)
at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:321)
at tests.GameClass.main(GameClass.java:36)
Mon Feb 13 12:37:11 VLAT 2017 ERROR:Game.render() failure - check the game code.
org.newdawn.slick.SlickException: Game.render() failure - check the game code.
at org.newdawn.slick.GameContainer.updateAndRender(GameContainer.java:691)
at org.newdawn.slick.AppGameContainer.gameLoop(AppGameContainer.java:411)
at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:321)
at tests.GameClass.main(GameClass.java:36)