! ! " #!$" % ! !" " & & '()! " ! *+!$",! -*.
/ 0 /1 / ) 2 )5 )
) 2 3 ! 4
62
! !, ,2" 2"
27,2""!# 7/ 7/ % ! 20 ", !&!
" ) '2 ! ( 5
+
5
+
&# & #
5
&# +
& &
) ,8 "*"" 34 9%""" : $ , 5 5
5
+
+
+
1"; "!*20 "* 0 " 0!" 2
import java.awt.*; /** * Rana que salta en base a la realcion de una * progresion serial numerica basada en tres valores * p, s, t y que los nuevos valores de salto se generan * de acuerdo a p + t. * La rana salta tantas veces como aliento le quede. este aliento * es dado por la altura que alcanza en el primer salto, esta altura * a su vez decrece en una unidad cada vez que la rana salta *
* @author MLBC * @version 05.05.05 */ public class Rana { int posX, posY; int alto; Rana(int x, int y, int s){ posX=x; posY=y; alto=s; } void saltar(int p, int s, int t, Graphics g){ //mientras mas largo es el salto mas bajo salta //hasta que lleg un momento que sus fuerzas decaen int salto, largo; salto = alto; for(salto =salto; salto > 0; salto--){ largo = p + t; retardo(); despintar(g); posX = posX + largo; dibujar(g); p = s; s = t; t = largo; } } void despintar(Graphics g){ Color color = g.getColor(); g.setColor(Color.white); g.fillOval(posX, posY, 20, 10); g.setColor(color); } void dibujar(Graphics g){ Color color = g.getColor(); g.setColor(Color.green); g.fillOval(posX, posY, 20, 10); g.setColor(color); } void retardo(){ //int esta entre [-2147483648,2147483647] for(int i = 0; i < 214748364; i++); } }
import javax.swing.JApplet; import javax.swing.JRootPane; import java.awt.Graphics; /** * Class Prueba - que prueba el comportamiento * de la rana saltarina. * * @author MLBC * @version 05.05.05 */ public class Prueba extends JApplet { public void paint(Graphics g){ Rana rene = new Rana(10,10,10);
rene.dibujar(g); rene.saltar(5,2,1, g); rene.saltar(-2,-5,-1,g); } }