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
|
package gameplay;
import java.awt.DisplayMode;
import java.awt.Graphics2D;
import utils.ScreenManager;
public class Game {
private BoucleMgr _BoucleMgr;
private static final DisplayMode POSSIBLE_MODES[] = {
new DisplayMode(1680, 1050, 32, 0), new DisplayMode(1680, 1050, 24, 0),
new DisplayMode(800, 600, 32, 0), new DisplayMode(800, 600, 24, 0),
new DisplayMode(800, 600, 16, 0), new DisplayMode(640, 480, 32, 0),
new DisplayMode(640, 480, 24, 0), new DisplayMode(640, 480, 16, 0)
};
private ScreenManager _Screen;
public static void main(String args[]) {
Game game = new Game();
game.run();
}
public void run() {
_BoucleMgr = new BoucleMgr();
_Screen = new ScreenManager();
try {
DisplayMode displayMode = _Screen.findFirstCompatibleMode(POSSIBLE_MODES);
_Screen.setFullScreen(displayMode);
Controller PlayerController = new Controller(_BoucleMgr,_Screen);
_Screen.getJFrame().addKeyListener(PlayerController);
Loop();
} finally {
_Screen.restoreScreen();
}
}
public void Loop() {
long startTime = System.currentTimeMillis();
long currTime = startTime;
do {
_Screen.getJFrame().requestFocusInWindow();
long elapsedTime = System.currentTimeMillis() - currTime;
currTime += elapsedTime;
// update game
ObjectManager.getInstance().Update(elapsedTime);
// draw and update the screen
Graphics2D g = _Screen.getGraphics();
ObjectManager.getInstance().Draw(g);
g.dispose();
_Screen.Update();
// take a nap
try {
Thread.sleep(20);
} catch (InterruptedException ex) {
}
} while(_BoucleMgr.Boucler());
}
public class BoucleMgr {
private boolean _bContinuer = true;
public BoucleMgr() {
}
public void Terminer() {
_bContinuer = false;
}
public boolean Boucler() {
return _bContinuer;
}
}
} |
Partager