Implementation java game with slick2d on website

I have problem with implementation game on website. I have tried to do like in this site : http://ninjacave.com/slickapplet

I’m receiving this error:


ERROR:MainPackage.TGame
java.lang.InstantiationException: MainPackage.TGame
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.newdawn.slick.AppletGameContainer.init(AppletGameContainer.java:124)
at org.lwjgl.util.applet.AppletLoader.switchApplet(AppletLoader.java:766)
at org.lwjgl.util.applet.AppletLoader.run(AppletLoader.java:644)
at java.lang.Thread.run(Unknown Source)
Fatal error occured (8): Unable to create game container
java.lang.RuntimeException: Unable to create game container
at org.newdawn.slick.AppletGameContainer.init(AppletGameContainer.java:148)
at org.lwjgl.util.applet.AppletLoader.switchApplet(AppletLoader.java:766)
at org.lwjgl.util.applet.AppletLoader.run(AppletLoader.java:644)
at java.lang.Thread.run(Unknown Source)

This is mine MainPackage.TGame


package MainPackage;
import org.newdawn.slick.*;
import org.newdawn.slick.state.*;

public class TGame extends StateBasedGame {

        public TotalPunkty suma = new TotalPunkty();
        public static final int menu = 0;
        public static final int game = 1;
        public static final int high = 2;
        public static final int about = 3;
        public static final int howto = 4;
        public static final int over = 5;

        BasicGameState G = new Game(game, suma);
        public BasicGameState O = new Over(over, suma);

        public static String title = "TGame";


        public TGame(String name) {
                super(name);
                this.addState(new Menu(menu));
                this.addState(G);
                this.addState(new High(high));
                this.addState(new About(about));
                this.addState(new HowTo(howto));
                this.addState(O);
        }


        public static void main(String[] args) throws SlickException {
                AppGameContainer MainWindow;

                try {
                        MainWindow = new AppGameContainer(new TGame(title));
                        MainWindow.setDisplayMode(800, 600, false);
                        MainWindow.setShowFPS(true);
                        MainWindow.setTargetFrameRate(60);
                        MainWindow.start();
                } catch(SlickException se) {
                        se.printStackTrace();
                }

        }

        public void initStatesList(GameContainer gc) throws SlickException {
                this.getState(menu).init(gc, this);
                this.getState(game).init(gc, this);
                this.getState(high).init(gc, this);
                this.getState(about).init(gc, this);
                this.getState(howto).init(gc, this);
                this.getState(over).init(gc, this);
                this.enterState(menu);
        }

}

I would be grateful if anyone could help me or just give me some tips how to fix that. :slight_smile:

You are using AppGameContainer (i.e. desktop) when you should be using AppletGameContainer (i.e. web).

I’m also not sure where you learned to write code like that, but it does not use Slick correctly. Do not call init() on each state as the StateBasedGame will do that for you. See here.