//~JUDOPROP~//$VERSION=1.2.1 //~JUDOPROP~//$TYPE=graphics //~JUDOPROP~//$TITLE=circulo1 void main() { //definicion de variables double t; int i; //inicializacion de variables t=0.01; setColor(red); //borra pantalla clearDrawing(); //pinta la pelota fillCircle(200,5,20); i=1; while(i<100) { //borra el anterior clearDrawing(); //pinta el nuevo setColor(red); fillCircle(200,5+5*i,25); delay(t); i++; } } //~JUDOPROP~//$VERSION=1.2.1 //~JUDOPROP~//$TYPE=graphics //~JUDOPROP~//$TITLE=circulo2 void main() { //declaracion de variables double t; int x,y, radio; double velocidad; int tamanioY; int ySiguiente; //inicializacion de variables t=0.01; radio=20; x=200; y=50; velocidad=300; tamanioY=getDrawingHeight(); setColor(red); //borra pantalla clearDrawing(); //pinta la pelota fillCircle(x,y,radio); delay(t); while(true) { //borra pelota anterior clearDrawing(); // calculamos la siguiente pocicion ySiguiente=(int)(y+velocidad*t); //si me salgo por abajo de la pantalla if (ySiguiente>tamanioY-2*radio) { velocidad=-velocidad; } //si si me salgo por arriba de la pantalla else if (ySiguiente<0) { velocidad=-velocidad; } //si no me salgo else { //pinta la pelota en la nueva pocision y=ySiguiente; fillCircle(x,y,radio); delay(t); } } } //~JUDOPROP~//$VERSION=1.2.1 //~JUDOPROP~//$TYPE=graphics //~JUDOPROP~//$TITLE=circulo3 void main() { //declaracion de variables double t; int x,y, radio; double v; int ySiguiente; double vSiguiente; double g; double alturaReal; //en metros double vPerdida; //inicializacion de variables t=0.01; radio=10; x=200; y=50; alturaReal=1; //¿cuantos metros representa tu pantalla ? g=9.81*getDrawingHeight()/alturaReal; vPerdida=300; v=0; setColor(red); //borra pantalla clearDrawing(); //pinta la pelota fillCircle(x,y,radio); delay(t); while(true) { //borra pelota anterior clearDrawing(); // calculamos la siguiente velocidad y pocicion ySiguiente=(int)(g*t*t/2+v*t+y); vSiguiente=g*t+v; //si no me salgo de la pantalla if (ySiguiente<=getDrawingHeight()-2*radio) { //cambia la velocidad y posicion v=vSiguiente; y=ySiguiente; //pinta la pelota fillCircle(x,y,radio); delay(t); } //si si me salgo de la pantalla else { //cambia el sentido de la velocidad y resta la friccion del rebote v=v-vPerdida; v=-v; } } }