clase Bola privados los objetos x, y, bandera son cantidades el objeto L es un Pen (Color.Red, 2) publicos Mensajes Bola { copie 17 en x, y copie 0 en bandera } Bola(deme xe, deme ye) { copie xe en x copie ye en y copie 0 en bandera } Actue(deme g es un Graphics) { es x < 300 ? /*labolita.ClientRectangle.width? pues el miembro no es Static */ si: copie x + 1 en x no: copie -100 en x g.DrawEllipse(L, x, y, 100, 50) } clase labolita derivada_de system.windows.forms.form publicos: los objetos x, y, bandera son cantidades el objeto L es un Pen (Color.Green, 4) el objeto chicharron es un Timer el objeto b es un Button el objeto p es un Point(0,80) el objeto t es un size(100,100) el objeto bol2 es una Bola(101, 101) mensajes: labolita { copie color.yellow en b.backcolor labolita.Manejador(labolita.Paint, botero) copie "la bolita" en labolita.text copie 17 en x, y copie 0 en bandera copie "ARRANQUE" en b.text labolita.Manejador(chicharron.Tick, temporizador) labolita.AgregarControl(b) copie p en b.location copie t en b.size labolita.Manejador(b.click, clic_boton) } botero(deme mazamorra, deme frijoles es un PaintEventArgs) { frijoles.Graphics.DrawEllipse(L,x,y,100,50) bol2.Actue(doy frijoles.Graphics) } clic_boton(deme a, deme bb es un EventArgs) { es bandera = 0? si: { copie "APAGUE" en b.text chicharron.Start copie 1 en bandera } no: { copie "ARRANQUE" en b.text chicharron.Stop copie 0 en bandera } } temporizador(deme remedio, deme saludo es un EventArgs) { labolita.Refresh es x < labolita.ClientRectangle.width? si: copie x + 1 en x no: copie -100 en x }