Advertisement
Guest User

Untitled

a guest
Feb 24th, 2020
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.21 KB | None | 0 0
  1. package com.devgames.levels;
  2.  
  3. import com.devgames.game.Game;
  4. import com.devgames.game.screens.StartGamePanel;
  5. import com.devgames.characters.Player;
  6. import com.devgames.characters.Treasure;
  7. import com.devgames.characters.Monster;
  8.  
  9. import java.awt.Font;
  10. import java.awt.Color;
  11.  
  12. import java.awt.Graphics;
  13. import java.awt.Graphics2D;
  14. import java.awt.event.ActionEvent;
  15. import java.awt.event.ActionListener;
  16. import java.awt.event.KeyAdapter;
  17. import java.awt.event.KeyEvent;
  18. import java.awt.image.BufferedImage;
  19. import javax.imageio.ImageIO;
  20. import javax.swing.JPanel;
  21. import javax.swing.Timer;
  22.  
  23. // This is a small change
  24.  
  25.  
  26. public class Level1 extends JPanel implements ActionListener
  27. {
  28. private Game game;
  29. private BufferedImage background;
  30. private Timer timer;
  31. private Player thePlayer;
  32. private Treasure theTreasure;
  33. private Monster theMonster;
  34.  
  35.  
  36.  
  37. public Level1(Game theGame)
  38. {
  39. game = theGame;
  40. thePlayer = new Player(theGame);
  41. theTreasure = new Treasure();
  42. theMonster = new Monster();
  43. init();
  44. }
  45.  
  46. private void init()
  47. {
  48. addKeyListener(new TAdapter());
  49. setFocusable(true);
  50. setDoubleBuffered(true);
  51.  
  52. try
  53. {
  54. background = ImageIO.read(getClass().getResource("/backgroundTemp/backgroundTemp.png"));
  55. }catch (Exception ex)
  56. {
  57. System.err.println("Error loading background image of level 1");
  58. }
  59. timer = new Timer(10, this);
  60. }
  61.  
  62. @Override
  63. protected void paintComponent(Graphics g)
  64. {
  65. super.paintComponent(g);
  66. //Cast the graphics object to a graphics2D object
  67. Graphics2D g2d = (Graphics2D) g;
  68. // Draw background
  69. g2d.drawImage(background, 0, 0, null);
  70. // Draw obstacles
  71.  
  72. // Draw characters
  73. theMonster.draw(g2d);
  74. theTreasure.draw(g2d);
  75. thePlayer.draw(g2d);
  76. g.dispose();
  77. }
  78.  
  79. /**
  80. * This method will be called to check for collisions
  81. */
  82. public void checkCollisions()
  83. {
  84. /** Check to see if the player boundary (rectangle) intersects
  85. * with the treasure boundary (i.e. there is a collision)
  86. */
  87. thePlayer.checkCollision(theMonster);
  88. thePlayer.checkCollision(theTreasure);
  89. }
  90.  
  91. public void movement()
  92. {
  93. thePlayer.
  94. thePlayer.doMove();
  95. theMonster.doMove(Game.WINDOW_WIDTH, Game.WINDOW_HEIGHT, );
  96. }
  97.  
  98. public void start()
  99. {
  100. timer.start();
  101. }
  102.  
  103. public void stop()
  104. {
  105. timer.stop();
  106. }
  107.  
  108.  
  109.  
  110. /**
  111. * This method is called in response to the timer firing
  112. * Every 10ms, this method will update the state of the game
  113. * in response to changes such as key presses and to generate computer
  114. * movement
  115. * @param ae
  116. */
  117.  
  118. @Override
  119. public void actionPerformed(ActionEvent ae)
  120. {
  121. // The repaint method starts the process of updating the screen
  122. // Calling our version of the paintComponent method, which has the code
  123. // for drawing our characters and objects
  124. checkCollisions();
  125. movement();
  126. repaint();
  127. }
  128.  
  129. /**
  130. * This is a private KeyAdapter Class that we use to process key presses
  131. */
  132. private class TAdapter extends KeyAdapter
  133. {
  134. @Override
  135. public void keyPressed(KeyEvent e)
  136. {
  137. int move = 0;
  138.  
  139. switch (e.getKeyCode())
  140. {
  141. case KeyEvent.VK_UP:
  142. move = 1;
  143. break;
  144. case KeyEvent.VK_DOWN:
  145. move = 2;
  146. break;
  147. case KeyEvent.VK_LEFT:
  148. move = 3;
  149. break;
  150. case KeyEvent.VK_RIGHT:
  151. move = 4;
  152. break;
  153. }
  154. thePlayer.move(move);
  155. }
  156.  
  157. @Override
  158. public void keyReleased(KeyEvent e)
  159. {
  160. thePlayer.stop();
  161. }
  162.  
  163. }
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement