Cabeza.java
Categorías: CategoryJava | CategoryProgramacion |
1 /**
2 *@author Elkin Andrey Garzón Alarcón...Geek Master
3 *@author Ingrid Lorena Guerrero Mayorga...
4 *@author Jefferson Fabian Idarraga Idarraga Pinilla...
5 */
6 package pinguinogg;
7
8 import java.awt.Color;
9 import java.awt.Graphics;
10 import java.util.List;
11 import java.util.logging.Level;
12 import java.util.logging.Logger;
13
14 /*
15 *Se crea la cabeza la cual extiende de objeto grafico implementa
16 *un Runnable el cual hace que se mueva el hilo de la cebeza
17 */
18 public class Cabeza extends ObjetoGrafico implements Runnable {
19
20 private Object Threat;
21 private Lienzo lienzo;
22 private PuntajeVidas puntaje;
23
24 /*Se crea el constructor */
25 public Cabeza(int x, int y, int ancho, int alto, Lienzo lienzo, PuntajeVidas puntaje) {
26 super(x, y, ancho, alto);
27
28 this.lienzo = lienzo;
29 this.puntaje = puntaje;
30 }
31
32 public void paint(Graphics g) {
33 if (visible) {
34 //pelo1
35 g.setColor(new Color(199, 202, 203));
36 int[] pelo1X = {
37 x + 20 * ancho / 85,
38 x + 5 * ancho / 85,
39 x + 5 * ancho / 85,};
40 int[] pelo1Y = {
41 y + 38 * alto / 160,
42 y + 25 * alto / 160,
43 y + 64 * alto / 160,};
44 g.fillPolygon(pelo1X, pelo1Y, 3);
45
46
47 //pelo2
48 g.setColor(new Color(199, 202, 203));
49 int[] pelo2X = {
50 x + 40 * ancho / 85,
51 x + 35 * ancho / 85,
52 x + 20 * ancho / 85,};
53 int[] pelo2Y = {
54 y + 29 * alto / 160,
55 y + 0 * alto / 160,
56 y + 38 * alto / 160,};
57 g.fillPolygon(pelo2X, pelo2Y, 3);
58
59 //pelo3
60 g.setColor(new Color(199, 202, 203));
61 int[] pelo3X = {
62 x + 58 * ancho / 85,
63 x + 50 * ancho / 85,
64 x + 40 * ancho / 85,};
65 int[] pelo3Y = {
66 y + 35 * alto / 160,
67 y + 0 * alto / 160,
68 y + 29 * alto / 160,};
69 g.fillPolygon(pelo3X, pelo3Y, 3);
70
71 //pelo 4
72 g.setColor(new Color(199, 202, 203));
73 int[] pelo4X = {
74 x + 72 * ancho / 85,
75 x + 72 * ancho / 85,
76 x + 58 * ancho / 85,};
77 int[] pelo4Y = {
78 y + 53 * alto / 160,
79 y + 23 * alto / 160,
80 y + 34 * alto / 160,};
81 g.fillPolygon(pelo4X, pelo4Y, 3);
82
83 //cabeza
84 g.setColor(new Color(106, 151, 234));
85 g.fillOval(x + 0 * ancho / 85, y + 30 * alto / 160, 85 * ancho / 85, 130 * alto / 160);
86
87 //contorno
88 //g.setColor(Color.BLACK);
89 //g.drawOval(x + 0 * ancho / 85, y + 30 * alto / 160, 85 * ancho / 85, 130 * alto / 160);
90
91 //cachete 1
92 g.setColor(new Color(226, 175, 188));
93 g.fillOval(x + 10 * ancho / 85, y + 100 * alto / 160, 10 * ancho / 85, 10 * alto / 160);
94
95 //cahete 2
96 g.setColor(new Color(226, 175, 188));
97 g.fillOval(x + 70 * ancho / 85, y + 100 * alto / 160, 10 * ancho / 85, 10 * alto / 160);
98
99 //seja 1
100
101 g.setColor(Color.LIGHT_GRAY);
102 int[] seja1X = {
103 x + 70 * ancho / 85,
104 x + 70 * ancho / 85,
105 x + 50 * ancho / 85,
106 x + 50 * ancho / 85,};
107 int[] seja1Y = {
108 y + 55 * alto / 160,
109 y + 65 * alto / 160,
110 y + 70 * alto / 160,
111 y + 60 * alto / 160,};
112 g.fillPolygon(seja1X, seja1Y, 4);
113
114 //seja 2
115
116 g.setColor(Color.LIGHT_GRAY);
117 int[] seja2X = {
118 x + 35 * ancho / 85,
119 x + 35 * ancho / 85,
120 x + 15 * ancho / 85,
121 x + 15 * ancho / 85,};
122 int[] seja2Y = {
123 y + 65 * alto / 160,
124 y + 55 * alto / 160,
125 y + 60 * alto / 160,
126 y + 70 * alto / 160,};
127 g.fillPolygon(seja2X, seja2Y, 4);
128
129 // pico 1
130 g.setColor(new Color(241, 180, 37));
131 int[] pico1X = {
132 x + 65 * ancho / 85,
133 x + 25 * ancho / 85,
134 x + 45 * ancho / 85,};
135 int[] pico1Y = {
136 y + 110 * alto / 160,
137 y + 110 * alto / 160,
138 y + 130 * alto / 160,};
139 g.fillPolygon(pico1X, pico1Y, 3);
140
141 // pico 2
142 g.setColor(new Color(245, 205, 109));
143 int[] pico2X = {
144 x + 40 * ancho / 85,
145 x + 25 * ancho / 85,
146 x + 35 * ancho / 85,};
147 int[] pico2Y = {
148 y + 125 * alto / 160,
149 y + 110 * alto / 160,
150 y + 130 * alto / 160,};
151 g.fillPolygon(pico2X, pico2Y, 3);
152
153
154 //ojo derecho
155 g.setColor(Color.WHITE);
156 g.fillOval(x + 20 * ancho / 85, y + 70 * alto / 160, 21 * ancho / 85, 35 * alto / 160);
157
158 //pupila derecha
159 g.setColor(new Color(39, 32, 128));
160 g.fillOval(x + 25 * ancho / 85, y + 75 * alto / 160, 10 * ancho / 85, 20 * alto / 160);
161
162 //ojo izq
163 g.setColor(Color.WHITE);
164 g.fillOval(x + 50 * ancho / 85, y + 70 * alto / 160, 21 * ancho / 85, 35 * alto / 160);
165
166 //pupila izq
167 g.setColor(new Color(39, 32, 128));
168 g.fillOval(x + 55 * ancho / 85, y + 75 * alto / 160, 10 * ancho / 85, 20 * alto / 160);
169
170 }
171
172
173
174
175 }
176
177 public void run() {
178 for (;;) {
179 incy(10);
180 if (y > 610 || !visible) {
181 if (y >= 610) {
182 puntaje.vidas--;
183 if (puntaje.vidas == 0) {
184 //fin del juego
185 }
186 }
187 y = 0;
188 visible = true;
189 }
190 lienzo.repaint();
191 try {
192 Thread.sleep((int) (Math.random() * 500 + 200));
193 } catch (InterruptedException ex) {
194 Logger.getLogger(Cabeza.class.getName()).log(Level.SEVERE, null, ex);
195 }
196 }
197
198
199 }
200 }
