clase Fig privados los objetos x, y, angulo son cantidades el objeto lapiz es un Pen(Color.Blue, 3) publicos mensajes: Fig { copie 0 en x, y, angulo } D {copie x + 1 en x} I {copie x - 1 en x} S {copie y - 1 en y} B {copie y + 1 en y} Gire copie angulo+ 1 en angulo Pintese(deme EnQue es un Graphics) { EnQue.DrawLine(doy lapiz, doy 80, doy 30, doy x, doy y) EnQue.TranslateTransform(x, y) EnQue.RotateTransform(angulo) EnQue.DrawRectangle(doy lapiz, doy 0, doy 0, doy 80, doy 30) } /*¨ª"()¡!¿??+¨×`´Ç;:%·'=.,ç´`÷¨-1\|}][{,.=<>¨+ */ clase v derivada_de Form publicos el objeto Muñeco es una Fig el objeto t es una Timer mensajes v{ copie ":]" en v.Text v.Manejador(v.Paint, Rivera) v.Manejador(v.KeyDown, Tecla) v.Manejador(t.Tick, Avisado) copie 100 en t.Interval copie verdadero en t.Enabled } Rivera(deme EnCualOcurrio, deme Paquete es un PaintEventArgs) { Muñeco.Pintese(doy Paquete.Graphics) } Tecla(deme EnCualOcurrio, deme Paquete es un KeyEventArgs) { es Paquete.KeyCode = Keys.Right ? si: Muñeco.D no es Paquete.KeyCode = Keys.Left ? si: Muñeco.I no es Paquete.KeyCode = Keys.Up ? si: Muñeco.S no es Paquete.KeyCode = Keys.Down ? si: Muñeco.B v.Refresh } Avisado(deme EnCualOcurrio, deme Paquete es un EventArgs) { Muñeco.Gire v.Refresh }