Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.13 KB | None | 0 0
  1. package de.tudarmstadt.informatik.fop.breakout.ui;
  2.  
  3. import org.newdawn.slick.GameContainer;
  4. import org.newdawn.slick.Graphics;
  5. import org.newdawn.slick.Image;
  6. import org.newdawn.slick.SlickException;
  7. import org.newdawn.slick.geom.Vector2f;
  8. import org.newdawn.slick.state.BasicGameState;
  9. import org.newdawn.slick.state.StateBasedGame;
  10.  
  11.  
  12. import eea.engine.action.Action;
  13. import eea.engine.action.basicactions.ChangeStateInitAction;
  14. import eea.engine.component.render.ImageRenderComponent;
  15. import eea.engine.entity.Entity;
  16. import eea.engine.entity.StateBasedEntityManager;
  17. import eea.engine.event.ANDEvent;
  18. import eea.engine.event.basicevents.MouseClickedEvent;
  19. import eea.engine.event.basicevents.MouseEnteredEvent;
  20.  
  21.  
  22. public class VictoryState extends BasicGameState{
  23.  
  24. private int stateID = Breakout.VICTORY_STATE;
  25. private StateBasedEntityManager entityManager;
  26.  
  27. private final int distance = 100;
  28. private final int start_Position = 180;
  29.  
  30.  
  31. /**
  32. * erstellt einen VictoryState
  33. * @param sid für StateID
  34. */
  35.  
  36. VictoryState( int sid ) {
  37. stateID = sid;
  38. entityManager = StateBasedEntityManager.getInstance();
  39. }
  40.  
  41.  
  42. @Override
  43. public void init(GameContainer container, StateBasedGame game) throws SlickException {
  44. // TODO Automatisch generierter Methodenstub
  45. Entity backgroundVictory = new Entity("victory"); // Entitaet fuer Hintergrund
  46. backgroundVictory.setPosition(new Vector2f(400,300)); // Startposition des Hintergrunds
  47. backgroundVictory.addComponent(new ImageRenderComponent(new Image("/images/menu.png")));
  48.  
  49.  
  50. entityManager.addEntity(this.stateID, backgroundVictory);
  51.  
  52. String Victory = "YOU WON!";
  53. Entity victory_Entity = new Entity(Victory);
  54.  
  55. // Setze Position und Bildkomponente
  56. victory_Entity.setPosition(new Vector2f(150, 190));
  57. victory_Entity.setScale(10f);
  58. victory_Entity.addComponent(new ImageRenderComponent(new Image("/images/entry.png")));
  59.  
  60.  
  61. ANDEvent neededEvents = new ANDEvent(new MouseEnteredEvent(), new MouseClickedEvent());
  62. Action gameOver_Action = new ChangeStateInitAction(Breakout.MAINMENU_STATE);
  63. neededEvents.addAction(gameOver_Action);
  64. victory_Entity.addComponent(neededEvents);
  65.  
  66.  
  67. // Fuege die Entity zum StateBasedEntityManager hinzu
  68. entityManager.addEntity(this.stateID, victory_Entity);
  69.  
  70.  
  71.  
  72.  
  73.  
  74. }
  75.  
  76. @Override
  77.  
  78. public void render(GameContainer container, StateBasedGame game,
  79. Graphics g) throws SlickException {
  80. entityManager.renderEntities(container, game, g);
  81.  
  82. int counter = 0;
  83.  
  84. g.drawString("YOU WON!", 110, start_Position+counter*distance); counter++;
  85. } //ausgeben der Nachricht "YOU WON!" im VictoryState
  86.  
  87. @Override
  88. public void update(GameContainer container, StateBasedGame game, int delta)
  89. throws SlickException {
  90. // TODO Automatisch generierter Methodenstub
  91. entityManager.updateEntities(container, game, delta);
  92. }
  93.  
  94. @Override
  95. public int getID() {
  96. // TODO Automatisch generierter Methodenstub
  97. return stateID;
  98. }
  99.  
  100.  
  101.  
  102.  
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement