Guest User

Untitled

a guest
Apr 23rd, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.27 KB | None | 0 0
  1. public class HiloBala implements Runnable {
  2.  
  3.  
  4. ControladorBala controladorBala;
  5. Tanque bala;
  6. JPanel panel;
  7.  
  8. public HiloBala(ControladorBala controladorBala,
  9. Tanque tanque, JPanel panel) {
  10. this.controladorBala = controladorBala;
  11. this.controladorBala.AddBala(tanque);
  12. this.bala = tanque;
  13. this.panel = panel;
  14.  
  15. }
  16.  
  17.  
  18. @Override
  19. public void run() {
  20. while(true){
  21. this.controladorBala.moverArriba(bala);
  22. try {
  23. Thread.sleep(9);
  24. } catch (InterruptedException ex) {
  25. System.err.println(ex);
  26. }
  27. }
  28. }
  29.  
  30. }
  31.  
  32. public class ControladorBala {
  33.  
  34. List<Tanque> balas;
  35. JPanel panel;
  36.  
  37. public ControladorBala(JPanel panel){
  38. balas = new ArrayList<>();
  39. this.panel=panel;
  40. }
  41.  
  42. public void AddBala(Tanque bala){
  43. balas.add(bala);
  44. }
  45.  
  46.  
  47. public void moverAbajo(JPanel panel,Tanque bola){
  48. if(bola.getPosy()< panel.getHeight()-30){
  49. bola.setPosy(bola.getPosy()+5);
  50. setBala(bola);
  51. }
  52. }
  53.  
  54. public void moverArriba(Tanque tanque){
  55. if(tanque.getPosy()>=5){
  56. tanque.setPosy(tanque.getPosy()-5);
  57. setBala(tanque);
  58. }
  59. }
  60.  
  61. void setBala(Tanque bala){
  62. for (int i=0;i<balas.size();i++) {
  63. if(balas.get(i).objectId==bala.objectId){
  64. balas.set(i, bala);
  65. }
  66. }
  67. }
  68.  
  69. public void dibujarBala(Graphics gui){
  70. gui.setColor(Color.RED);
  71. for (Tanque bala : balas) {
  72. gui.fillOval(bala.getPosx(), bala.getPosy(),10,10);
  73. }
  74.  
  75. }
  76. }
  77.  
  78. public class CanvasDibujable extends JPanel implements Runnable {
  79.  
  80. private ControladorTank controladorBola;
  81. private BufferedImage fondo;
  82. ControladorBala controladorBala;
  83.  
  84. public CanvasDibujable() {
  85. super();
  86. controladorBola = new ControladorTank();
  87. try {
  88. this.fondo = ImageIO.read(new File("C:\Users\Sebastian\Dropbox\EAM Ingenieria de Software\Sistemas Distribuidos\JuegoBaseSocketTCPPoolHilos\JuegoBaseSocketTCPPoolHilos\src\recursos\fondoPasto.jpg"));
  89. } catch (IOException e) {
  90. // Controlar la excepcion si la imagen no se encuentra o no se pudo cargar
  91. }
  92. controladorBala = new ControladorBala(this);
  93. }
  94.  
  95. @Override
  96. public void run() {
  97. while (true) {
  98. this.repaint();
  99. }
  100. }
  101.  
  102. @Override
  103. protected void paintComponent(Graphics g) {
  104. super.paintComponent(g);
  105. g.drawImage(fondo, 0, 0, getWidth(), getHeight(), null);
  106. }
  107.  
  108. @Override
  109. public void paint(Graphics graphics) {
  110. super.paint(graphics);
  111. getControladorTanque().dibujarTanque1(graphics,
  112. getControladorTanque().getTanque1());
  113. getControladorTanque().dibujarTanque2(graphics,
  114. getControladorTanque().getTanque2());
  115. controladorBala.dibujarBala(graphics);
  116. }
  117.  
  118. /**
  119. * @return the controladorBola
  120. */
  121. public ControladorTank getControladorTanque() {
  122. return controladorBola;
  123. }
  124.  
  125. /**
  126. * @param controladorBola the controladorBola to set
  127. */
  128. public void setControladorBola(ControladorTank controladorBola) {
  129. this.controladorBola = controladorBola;
  130. }
  131.  
  132. public ControladorBala getControladorBala() {
  133. return controladorBala;
  134. }
  135.  
  136. public void setControladorBala(ControladorBala controladorBala) {
  137. this.controladorBala = controladorBala;
  138. }
Add Comment
Please, Sign In to add comment