1 package de.jos.game.logic;
2
3 import java.awt.Graphics2D;
4
5 import com.golden.gamedev.GameObject;
6
7 import de.jos.game.actions.ActionBulletMoving;
8 import de.jos.game.actions.SpecialActionEvent;
9 import de.jos.game.actions.cleanup.CleanupActionBulletMovingPuzzle;
10 import de.jos.game.objects.Bullet;
11 import de.jos.game.objects.screen.Screen;
12
13 public class PuzzleGameLogic extends AbstractGameLogic {
14
15 private RenderedButton backButton = null;
16
17 public void init() {
18 backButton = new RenderedButton();
19 backButton.setSprite(getResourceContainer().getAnimatedButtonSprite());
20 backButton.getSprite().setX(2);
21 backButton.getSprite().setY(2);
22 backButton.setNextGameId(Screen.LEVEL.ordinal());
23
24
25
26
27
28
29
30
31
32 }
33
34 public void render(Graphics2D graphics, GameObject gameObject) {
35 super.render(graphics, gameObject);
36 }
37
38 /***
39 * {@inheritDoc}
40 */
41 @Override
42 public void renderBackground(Graphics2D graphics) {
43
44 getResourceContainer().getGameBackgroundImage().render(graphics, 0, 0, 0, 0, WINDOW_WIDTH, WINDOW_HEIGHT);
45
46
47 backButton.render(graphics);
48 }
49
50 public void update(long elapsedTime, GameObject gameObject) {
51 backButton.update(elapsedTime, gameObject);
52
53 super.update(elapsedTime, gameObject);
54 }
55
56 protected SpecialActionEvent getSpecificBulletMovingAction(Bullet bullet) {
57 ActionBulletMoving abm = new ActionBulletMoving(bullet);
58 abm.setResourceContainer(getResourceContainer());
59 abm.init();
60
61 CleanupActionBulletMovingPuzzle cabmp = new CleanupActionBulletMovingPuzzle(getBoard(), bullet);
62 cabmp.setResourceContainer(getResourceContainer());
63 abm.setCleanupAction(cabmp);
64 return abm;
65 }
66
67 }