Advertisement
Guest User

Board

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