mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-08 04:41:51 +09:00
Former-commit-id: 1647fa32ef6894bd7db44f741f07c2f4dcdf9054 Former-commit-id: 0e5810dcfbe1fd59b13e7cabe9f1e93c5542da2d
275 lines
6.8 KiB
Java
275 lines
6.8 KiB
Java
package org.newdawn.slick.tests;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import org.newdawn.slick.AppGameContainer;
|
|
import org.newdawn.slick.BasicGame;
|
|
import org.newdawn.slick.Color;
|
|
import org.newdawn.slick.GameContainer;
|
|
import org.newdawn.slick.Graphics;
|
|
import org.newdawn.slick.Input;
|
|
import org.newdawn.slick.SlickException;
|
|
import org.newdawn.slick.opengl.SlickCallable;
|
|
import org.newdawn.slick.util.Log;
|
|
|
|
/**
|
|
* A test box containing a bunch of tests that can be used for quickly sanity
|
|
* checking tests.
|
|
*
|
|
* @author kevin
|
|
*/
|
|
public class TestBox extends BasicGame {
|
|
/** The games that have been added */
|
|
private ArrayList games = new ArrayList();
|
|
/** The current game */
|
|
private BasicGame currentGame;
|
|
/** The index of the current game */
|
|
private int index;
|
|
/** The game container */
|
|
private AppGameContainer container;
|
|
|
|
/**
|
|
* Create a new box containing all the tests
|
|
*/
|
|
public TestBox() {
|
|
super("Test Box");
|
|
}
|
|
|
|
/**
|
|
* Add a game to the box
|
|
*
|
|
* @param game The game to add to the test box
|
|
*/
|
|
public void addGame(Class game) {
|
|
games.add(game);
|
|
}
|
|
|
|
/**
|
|
* Move to the next game
|
|
*/
|
|
private void nextGame() {
|
|
if (index == -1) {
|
|
return;
|
|
}
|
|
|
|
index++;
|
|
if (index >= games.size()) {
|
|
index=0;
|
|
}
|
|
|
|
startGame();
|
|
}
|
|
|
|
/**
|
|
* Start a particular game
|
|
*/
|
|
private void startGame() {
|
|
try {
|
|
currentGame = (BasicGame) ((Class) games.get(index)).newInstance();
|
|
container.getGraphics().setBackground(Color.black);
|
|
currentGame.init(container);
|
|
currentGame.render(container, container.getGraphics());
|
|
} catch (Exception e) {
|
|
Log.error(e);
|
|
}
|
|
|
|
container.setTitle(currentGame.getTitle());
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.BasicGame#init(org.newdawn.slick.GameContainer)
|
|
*/
|
|
public void init(GameContainer c) throws SlickException {
|
|
if (games.size() == 0) {
|
|
currentGame = new BasicGame("NULL") {
|
|
public void init(GameContainer container) throws SlickException {
|
|
}
|
|
|
|
public void update(GameContainer container, int delta) throws SlickException {
|
|
}
|
|
|
|
public void render(GameContainer container, Graphics g) throws SlickException {
|
|
}
|
|
};
|
|
currentGame.init(c);
|
|
index = -1;
|
|
} else {
|
|
index = 0;
|
|
container = (AppGameContainer) c;
|
|
startGame();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.BasicGame#update(org.newdawn.slick.GameContainer, int)
|
|
*/
|
|
public void update(GameContainer container, int delta) throws SlickException {
|
|
currentGame.update(container, delta);
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.Game#render(org.newdawn.slick.GameContainer, org.newdawn.slick.Graphics)
|
|
*/
|
|
public void render(GameContainer container, Graphics g) throws SlickException {
|
|
SlickCallable.enterSafeBlock();
|
|
currentGame.render(container, g);
|
|
SlickCallable.leaveSafeBlock();
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.BasicGame#controllerButtonPressed(int, int)
|
|
*/
|
|
public void controllerButtonPressed(int controller, int button) {
|
|
currentGame.controllerButtonPressed(controller, button);
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.BasicGame#controllerButtonReleased(int, int)
|
|
*/
|
|
public void controllerButtonReleased(int controller, int button) {
|
|
currentGame.controllerButtonReleased(controller, button);
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.BasicGame#controllerDownPressed(int)
|
|
*/
|
|
public void controllerDownPressed(int controller) {
|
|
currentGame.controllerDownPressed(controller);
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.BasicGame#controllerDownReleased(int)
|
|
*/
|
|
public void controllerDownReleased(int controller) {
|
|
currentGame.controllerDownReleased(controller);
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.BasicGame#controllerLeftPressed(int)
|
|
*/
|
|
public void controllerLeftPressed(int controller) {
|
|
currentGame.controllerLeftPressed(controller);
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.BasicGame#controllerLeftReleased(int)
|
|
*/
|
|
public void controllerLeftReleased(int controller) {
|
|
currentGame.controllerLeftReleased(controller);
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.BasicGame#controllerRightPressed(int)
|
|
*/
|
|
public void controllerRightPressed(int controller) {
|
|
currentGame.controllerRightPressed(controller);
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.BasicGame#controllerRightReleased(int)
|
|
*/
|
|
public void controllerRightReleased(int controller) {
|
|
currentGame.controllerRightReleased(controller);
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.BasicGame#controllerUpPressed(int)
|
|
*/
|
|
public void controllerUpPressed(int controller) {
|
|
currentGame.controllerUpPressed(controller);
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.BasicGame#controllerUpReleased(int)
|
|
*/
|
|
public void controllerUpReleased(int controller) {
|
|
currentGame.controllerUpReleased(controller);
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.BasicGame#keyPressed(int, char)
|
|
*/
|
|
public void keyPressed(int key, char c) {
|
|
currentGame.keyPressed(key, c);
|
|
|
|
if (key == Input.KEY_ENTER) {
|
|
nextGame();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.BasicGame#keyReleased(int, char)
|
|
*/
|
|
public void keyReleased(int key, char c) {
|
|
currentGame.keyReleased(key, c);
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.BasicGame#mouseMoved(int, int, int, int)
|
|
*/
|
|
public void mouseMoved(int oldx, int oldy, int newx, int newy) {
|
|
currentGame.mouseMoved(oldx, oldy, newx, newy);
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.BasicGame#mousePressed(int, int, int)
|
|
*/
|
|
public void mousePressed(int button, int x, int y) {
|
|
currentGame.mousePressed(button, x, y);
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.BasicGame#mouseReleased(int, int, int)
|
|
*/
|
|
public void mouseReleased(int button, int x, int y) {
|
|
currentGame.mouseReleased(button, x, y);
|
|
}
|
|
|
|
/**
|
|
* @see org.newdawn.slick.BasicGame#mouseWheelMoved(int)
|
|
*/
|
|
public void mouseWheelMoved(int change) {
|
|
currentGame.mouseWheelMoved(change);
|
|
}
|
|
|
|
/**
|
|
* Entry point to our test
|
|
*
|
|
* @param argv The arguments to pass into the test
|
|
*/
|
|
public static void main(String[] argv) {
|
|
try {
|
|
TestBox box = new TestBox();
|
|
box.addGame(AnimationTest.class);
|
|
box.addGame(AntiAliasTest.class);
|
|
box.addGame(BigImageTest.class);
|
|
box.addGame(ClipTest.class);
|
|
box.addGame(DuplicateEmitterTest.class);
|
|
box.addGame(FlashTest.class);
|
|
box.addGame(FontPerformanceTest.class);
|
|
box.addGame(FontTest.class);
|
|
box.addGame(GeomTest.class);
|
|
box.addGame(GradientTest.class);
|
|
box.addGame(GraphicsTest.class);
|
|
box.addGame(ImageBufferTest.class);
|
|
box.addGame(ImageReadTest.class);
|
|
box.addGame(ImageTest.class);
|
|
box.addGame(KeyRepeatTest.class);
|
|
box.addGame(MusicListenerTest.class);
|
|
box.addGame(PackedSheetTest.class);
|
|
box.addGame(PedigreeTest.class);
|
|
box.addGame(PureFontTest.class);
|
|
box.addGame(ShapeTest.class);
|
|
box.addGame(SoundTest.class);
|
|
box.addGame(SpriteSheetFontTest.class);
|
|
box.addGame(TransparentColorTest.class);
|
|
|
|
AppGameContainer container = new AppGameContainer(box);
|
|
container.setDisplayMode(800,600,false);
|
|
container.start();
|
|
} catch (SlickException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|