Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class HiloBala implements Runnable {
- ControladorBala controladorBala;
- Tanque bala;
- JPanel panel;
- public HiloBala(ControladorBala controladorBala,
- Tanque tanque, JPanel panel) {
- this.controladorBala = controladorBala;
- this.controladorBala.AddBala(tanque);
- this.bala = tanque;
- this.panel = panel;
- }
- @Override
- public void run() {
- while(true){
- this.controladorBala.moverArriba(bala);
- try {
- Thread.sleep(9);
- } catch (InterruptedException ex) {
- System.err.println(ex);
- }
- }
- }
- }
- public class ControladorBala {
- List<Tanque> balas;
- JPanel panel;
- public ControladorBala(JPanel panel){
- balas = new ArrayList<>();
- this.panel=panel;
- }
- public void AddBala(Tanque bala){
- balas.add(bala);
- }
- public void moverAbajo(JPanel panel,Tanque bola){
- if(bola.getPosy()< panel.getHeight()-30){
- bola.setPosy(bola.getPosy()+5);
- setBala(bola);
- }
- }
- public void moverArriba(Tanque tanque){
- if(tanque.getPosy()>=5){
- tanque.setPosy(tanque.getPosy()-5);
- setBala(tanque);
- }
- }
- void setBala(Tanque bala){
- for (int i=0;i<balas.size();i++) {
- if(balas.get(i).objectId==bala.objectId){
- balas.set(i, bala);
- }
- }
- }
- public void dibujarBala(Graphics gui){
- gui.setColor(Color.RED);
- for (Tanque bala : balas) {
- gui.fillOval(bala.getPosx(), bala.getPosy(),10,10);
- }
- }
- }
- public class CanvasDibujable extends JPanel implements Runnable {
- private ControladorTank controladorBola;
- private BufferedImage fondo;
- ControladorBala controladorBala;
- public CanvasDibujable() {
- super();
- controladorBola = new ControladorTank();
- try {
- this.fondo = ImageIO.read(new File("C:\Users\Sebastian\Dropbox\EAM Ingenieria de Software\Sistemas Distribuidos\JuegoBaseSocketTCPPoolHilos\JuegoBaseSocketTCPPoolHilos\src\recursos\fondoPasto.jpg"));
- } catch (IOException e) {
- // Controlar la excepcion si la imagen no se encuentra o no se pudo cargar
- }
- controladorBala = new ControladorBala(this);
- }
- @Override
- public void run() {
- while (true) {
- this.repaint();
- }
- }
- @Override
- protected void paintComponent(Graphics g) {
- super.paintComponent(g);
- g.drawImage(fondo, 0, 0, getWidth(), getHeight(), null);
- }
- @Override
- public void paint(Graphics graphics) {
- super.paint(graphics);
- getControladorTanque().dibujarTanque1(graphics,
- getControladorTanque().getTanque1());
- getControladorTanque().dibujarTanque2(graphics,
- getControladorTanque().getTanque2());
- controladorBala.dibujarBala(graphics);
- }
- /**
- * @return the controladorBola
- */
- public ControladorTank getControladorTanque() {
- return controladorBola;
- }
- /**
- * @param controladorBola the controladorBola to set
- */
- public void setControladorBola(ControladorTank controladorBola) {
- this.controladorBola = controladorBola;
- }
- public ControladorBala getControladorBala() {
- return controladorBala;
- }
- public void setControladorBala(ControladorBala controladorBala) {
- this.controladorBala = controladorBala;
- }
Add Comment
Please, Sign In to add comment