Created
February 8, 2017 13:06
-
-
Save Ivoo25/e3ecbb262b23f3817b83830f1e93b496 to your computer and use it in GitHub Desktop.
Clase PelotasDemo(Metodo rebotar)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.awt.*; | |
import java.awt.geom.*; | |
import java.util.*; | |
import java.lang.*; | |
/** | |
* Clase PelotasDemo - provee dos peque�as demostracions sobre el uso de la | |
* clase Canvas. | |
* | |
* @author Michael Kolling and David J. Barnes | |
* @version 2008.03.30 | |
*/ | |
public class PelotasDemo | |
{ | |
private Canvas miCanvas; | |
private ArrayList<String> pelotas; | |
private Random pelotasRand; | |
/** | |
* Crea un objeto PelotasDemo. Crea un nuevo canvas y lo hace visible. | |
*/ | |
public PelotasDemo() | |
{ | |
miCanvas = new Canvas("Ball Demo", 600, 500); | |
miCanvas.setVisible(true); | |
ArrayList<String> pelotas = new ArrayList<String>(); | |
pelotasRand = new Random(); | |
} | |
/** | |
* Muestra algunas operaciones de dibujo que se pueden realizar sobre | |
* un objeto Canvas. | |
*/ | |
public void demoDibujar() | |
{ | |
miCanvas.setTipoDeLetra(new Font("helvetica", Font.BOLD, 14)); | |
miCanvas.setColorDeLapiz(Color.red); | |
miCanvas.dibujarTexto("Podemos dibujar textooos, ...", 20, 30); | |
miCanvas.espera(1000); | |
miCanvas.setColorDeLapiz(Color.blue); | |
miCanvas.dibujarTexto("...dibujar linitas...", 60, 60); | |
miCanvas.espera(500); | |
miCanvas.setColorDeLapiz(Color.pink); | |
miCanvas.dibujarLinea(200, 20, 300, 50); | |
miCanvas.espera(500); | |
miCanvas.setColorDeLapiz(Color.red); | |
miCanvas.dibujarLinea(220, 100, 370, 40); | |
miCanvas.espera(500); | |
miCanvas.setColorDeLapiz(Color.gray); | |
miCanvas.dibujarLinea(290, 10, 320, 120); | |
miCanvas.espera(1000); | |
miCanvas.setColorDeLapiz(Color.yellow); | |
miCanvas.dibujarTexto("...Y figuras!", 110, 90); | |
miCanvas.setColorDeLapiz(Color.red); | |
// la figura a dibujar y mover | |
int xPos = 10; | |
Rectangle rect = new Rectangle(xPos, 150, 30, 20); | |
// mover el rectangulo dentro de la pantalla | |
for(int i = 0; i < 200; i ++) { | |
miCanvas.rellenar(rect); | |
miCanvas.espera(10); | |
miCanvas.borrar(rect); | |
xPos++; | |
rect.setLocation(xPos, 150); | |
} | |
// luego de moverlo, rellenarlo para que permanezca visible | |
miCanvas.rellenar(rect); | |
} | |
/** | |
* Simula dos pelotas rebotando | |
*/ | |
public void rebotar() | |
{ | |
int piso = 400; // posici�n de la linea del piso | |
miCanvas.setVisible(true); | |
// dibuja el piso | |
miCanvas.dibujarLinea(50, piso, 550, piso); | |
// crea y muestra dos pelotas | |
ReboteDePelota pelota = new ReboteDePelota(50, 50, 16, Color.blue, piso, miCanvas); | |
pelota.dibujar(); | |
ReboteDePelota pelota2 = new ReboteDePelota(70, 80, 20, Color.red, piso, miCanvas); | |
pelota2.dibujar(); | |
// las hace rebotar | |
boolean terminado = false; | |
while(!terminado) { | |
miCanvas.espera(50); // peque�a demora | |
pelota.mover(); | |
pelota2.mover(); | |
// para una vez que la pelota ha recorrido una cierta distancia horizontal | |
if(pelota.getXPosicion() >= 550 && pelota2.getXPosicion() >= 550) { | |
terminado = true; | |
} | |
} | |
pelota.borrar(); | |
pelota2.borrar(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment