Cañon.java
1 /**
2 *@author Andres Felipe Quevedo vega. andresfe118@hotmail.com
3 */
4 import java.awt.Color;
5 import java.awt.Graphics;
6
7 public class Cañon extends ObjetoGrafico implements Runnable{
8 private static final long serialVersionUID = 1L;
9 public Lienzo lienzo;
10 private boolean visible =true;
11 private Beisbolista beisbolista;
12 private Bate bate0;
13 private Puntaje pun;
14
15 public Cañon (Lienzo l, int x, int y, int ancho, int alto, Lienzo lienzo, Beisbolista beisbolista,Bate bate0,Puntaje pun){
16 super (x, y, ancho,alto);
17 lienzo = l;
18 this.beisbolista = beisbolista;
19 this.lienzo = lienzo;
20 this.bate0 =bate0;
21 this.pun = pun;
22 }
23 public boolean getVisible(){
24 return visible;
25 }
26 public void setVisible (boolean v){
27 visible=v;
28 }
29 public void paint (Graphics g){
30 //base Cañon1
31 g.setColor(Color.darkGray);
32 g.fillRect(getX ()+getAlto ()*0/4, getY ()+getAlto ()*0/8, getAlto ()*4/4, getAlto ()*6/8);
33
34 //borde1
35 g.setColor(Color.gray);
36 g.drawRect(getX ()+getAlto ()*0/4, getY ()+getAlto ()*0/8, getAlto ()*4/4, getAlto ()*6/8);
37 g.fillOval(getX () +getAlto ()*0/4, getY ()+getAlto ()*4/8, getAlto ()*4/4, getAlto ()*4/8);
38 }
39 //movimiento
40 public void run() {
41 for (;;){
42 incX(10);
43 if(Math.random() * 100 <= 5){
44 Pelota pelota= new Pelota(getX ()+15, getY (), 20, 20,lienzo, beisbolista, bate0, pun);
45 // lanzamiento hilo
46 lienzo.add(pelota);
47 lienzo.repaint();
48 Thread hilo = new Thread (pelota);
49 hilo.start();
50 }
51 lienzo.repaint();
52
53 try {
54 Thread.sleep(30);
55 } catch (InterruptedException e) {
56 e.printStackTrace();
57 }
58 }
59 }
60
61 }
CategoryJava | CategoryProgramacion
