Skip to content

Instantly share code, notes, and snippets.

@Ivoo25
Created February 8, 2017 13:06
Show Gist options
  • Save Ivoo25/e3ecbb262b23f3817b83830f1e93b496 to your computer and use it in GitHub Desktop.
Save Ivoo25/e3ecbb262b23f3817b83830f1e93b496 to your computer and use it in GitHub Desktop.
Clase PelotasDemo(Metodo rebotar)
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