Advertisement
Guest User

Untitled

a guest
Jun 2nd, 2015
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.68 KB | None | 0 0
  1. import java.awt.Component;
  2.  
  3. import java.awt.*;
  4. import java.awt.event.*;
  5. import java.util.ArrayList;
  6.  
  7. import javax.swing.*;
  8.  
  9. public class Board extends JPanel implements ActionListener, Runnable {
  10. Dude p;
  11. public Image img;
  12. Timer time;
  13. static int v = 172;
  14. Thread animator;
  15. Enemy en;
  16. Enemy en2;
  17.  
  18. boolean lost = false;
  19.  
  20. boolean a = false;
  21. boolean done2 = false;
  22.  
  23. static Font font = new Font("Garamond", Font.BOLD, 16);
  24. public Board() {
  25. p = new Dude();
  26. addKeyListener(new AL());
  27. setFocusable(true);
  28. ImageIcon i = new ImageIcon("a.jpg");
  29. img = i.getImage();
  30. time = new Timer((int) 0.8, this);
  31. time.start();
  32. en = new Enemy(700, 231, "ghost.jpg");
  33. en2 = new Enemy(900, 231, "ghost.jpg");
  34. }
  35.  
  36. public void actionPerformed(ActionEvent e) {
  37. checkCollisions();
  38. ArrayList bullets = Dude.getBullets();
  39. for (int w = 0; w < bullets.size(); w++)
  40. {
  41. Bullet m = (Bullet) bullets.get(w);
  42. if (m.getVisible() == true)
  43. m.move();
  44. else
  45. bullets.remove(w);
  46. }
  47.  
  48. p.move();
  49.  
  50. if (p.x > 400)
  51. en.move(p.getdx(), p.getLeft());
  52. if (p.x> 500)
  53. en2.move(p.getdx(), p.getLeft());
  54. repaint();
  55. }
  56.  
  57.  
  58. public void checkCollisions()
  59. {
  60. Rectangle r1 = en.getBounds();
  61. Rectangle r2 = en2.getBounds();
  62. ArrayList bullets = Dude.getBullets();
  63. for (int w = 0; w < bullets.size(); w++)
  64. {
  65. Bullet m = (Bullet) bullets.get(w);
  66. Rectangle m1 = m.getBounds();
  67. if (r1.intersects(m1) && en.Alive())
  68. {
  69. en.isAlive = false;
  70. m.visible = false;
  71. }
  72. else if (r2.intersects(m1)&& en2.Alive())
  73. {
  74. en2.isAlive = false;
  75. m.visible = false;
  76. }
  77. }
  78.  
  79. Rectangle d = p.getBounds();
  80. if (d.intersects(r1) || d.intersects(r2))
  81. lost = true;
  82.  
  83. }
  84.  
  85. public void paint(Graphics g) {
  86. if (lost)
  87. System.out.println("GAME OVER!!!");
  88. if (p.dy == 1 && done2 == false) {
  89. done2 = true;
  90. animator = new Thread(this);
  91. animator.start();
  92. }
  93.  
  94. super.paint(g);
  95. Graphics2D g2d = (Graphics2D) g;
  96.  
  97. if ((p.getX() - 590) % 2400 == 0)// p.getX() == 590 || p.getX() == 2990)...
  98. p.nx = 0;
  99. if ((p.getX() - 1790) % 2400 == 0)// p.getX() == 1790 || p.getX() == 4190)...
  100. p.nx2 = 0;
  101.  
  102. g2d.drawImage(img, 685 - p.getnX2(), 0, null);
  103. if (p.getX() > 590) {
  104. g2d.drawImage(img, 685 - p.getnX(), 0, null);
  105. }
  106. g2d.drawImage(p.getImage(), p.left, v, null);
  107.  
  108. if (p.getdx() == -1) {
  109. g2d.drawImage(img, 685 - p.getnX2(), 0, null);
  110. g2d.drawImage(p.getImage(), p.left, v, null);
  111. }
  112.  
  113. ArrayList bullets = Dude.getBullets();
  114. for (int w = 0; w < bullets.size(); w++)
  115. {
  116. Bullet m = (Bullet) bullets.get(w);
  117. if (m.getVisible())
  118. g2d.drawImage(m.getImage(),m.getX(), m.getY(), null);
  119. }
  120. g2d.setFont(font);
  121. g2d.setColor(Color.BLUE);
  122. g2d.drawString("Madonahs life left: " + p.ammo, 500, 20);
  123. if (p.x > 400)
  124. if (en.Alive() == true)
  125. g2d.drawImage(en.getImage(), en.getX(), en.getY(), null);
  126. if (p.x > 500)
  127. if (en2.Alive() == true)
  128. g2d.drawImage(en2.getImage(), en2.getX(), en2.getY(), null);
  129. }
  130.  
  131. private class AL extends KeyAdapter {
  132. public void keyReleased(KeyEvent e) {
  133. p.keyReleased(e);
  134. }
  135.  
  136. public void keyPressed(KeyEvent e) {
  137. p.keyPressed(e);
  138. }
  139. }
  140.  
  141. boolean h = false;
  142. boolean done = false;
  143.  
  144. public void cycle() {
  145.  
  146. if (h == false)
  147. v--;
  148. if (v == 125)
  149. h = true;
  150. if (h == true && v <= 172) {
  151. v++;
  152. if (v == 172) {
  153. done = true;
  154. }
  155. }
  156. }
  157.  
  158. public void run() {
  159.  
  160. long beforeTime, timeDiff, sleep;
  161.  
  162. beforeTime = System.currentTimeMillis();
  163.  
  164. while (done == false) {
  165.  
  166. cycle();
  167.  
  168. timeDiff = System.currentTimeMillis() - beforeTime;
  169. sleep = 10 - timeDiff;
  170.  
  171. if (sleep < 0)
  172. sleep = 2;
  173. try {
  174. Thread.sleep(sleep);
  175. } catch (InterruptedException e) {
  176. }
  177.  
  178. beforeTime = System.currentTimeMillis();
  179. }
  180. done = false;
  181. h = false;
  182. done2 = false;
  183. }
  184.  
  185. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement