Fecha y hora actual: Sab 19 May, 2012 21:53 pm
Índice del Foro

Foros de programación informática, diseño gráfico y Web

En esta comunidad intentaremos dar soporte de programación a todos los niveles, desde principiantes a profesionales de la informática, desarrollo de programas, programación web y mucho más.

Programar un divertido juego

Responder al Tema

Índice del Foro > Visual Basic y VBA > Programar un divertido juego

Autor Mensaje
Vila
Usuario Inquieto


Registrado: 14 May 2010
Mensajes: 123
Ubicación: Vulpesheim

Mensaje Publicado: Mar 08 Nov, 2011 23:23 pm

Título del mensaje: Programar un divertido juego

Responder citando

Para los amantes del Visual Basic 6.0, aquí les propongo la realización de un juego tan divertido como ingenioso en su lenguaje favorito. Se llama "Pregunta". Consta del siguiente formulario:

[img]

[/img]

Como ven en la imagen, consta de sólo 3 controles sobre el formulario:
- 1 label (Label1)
- 2 Command Buttons (Command1 y Command2)

El Label1 tiene como caption el texto "¿Quiere $1 000 000?".
El Command1 tiene como caption el texto "Si" y el Command2 "No".
Como es natural todos los jugadores intentarán dar clic en el botón "Si" (el Command1), pero cada vez que lo intenten el botón "huirá" a un sitio distinto del formulario, de manera que es imposible dar clic sobre él. Si por cansancio el jugador decide dar clic en el botón "No" (el Command2), aparecerá una caja de mensajes con el texto: "¡¡¡ Pero mire que Ud. es idiota...!!!".
El truco está en los eventos que se programan para cada control.
Mientras que para el Command2 (es decir el botón "No") se programa el evento click como sigue:

Código:
Private Sub Command2_Click()
   'Botón No
   MsgBox "¡¡¡Pero mire que Ud. es idiota...!!!"
End Sub


para el Command1 (el botón "Si") lo que se programa es el evento MouseMove, que como se sabe, se produce cada vez que se coloque el cursor del mouse encima del control (sin dar clic sobre el mismo). He aquí lo que le programamos a dicho evento:

Código:
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   'Botón Si
   Dim x1 As Integer, y1 As Integer
   x1 = Rnd() * (Me.ScaleWidth - Command1.Width)
   y1 = Rnd() * (Me.ScaleHeight - Command1.Height)
   Command1.Left = x1
   Command1.Top = y1
End Sub


Como puede verse, cada vez que se ponga el cursor sobre el Command1, se generan dos números aleatorios X1 y Y1 que corresponden a sendas coordenadas interiores al área cliente del formulario (donde 0 <= x1 < Me.ScaleWidth - Command1.Width y
0 <= x2 < Me.ScaleHeight - Command1.Height).
Para garantizar que el generador de números aleatorios (cuyos valores se obtienen llamando a la función Rnd) se inicialice siempre en un número diferente, en el evento Load del formulario, que se produce al comenzar la ejecución del programa, hacemos un llamado a la función Randomize, que se encarga de inicializar la semilla del generador aleatorio en un nuevo valor con cada llamado:

Código:
Private Sub Form_Load()
   Randomize
End Sub


De más está decir que los textos que se muestran pueden ser cambiados a gusto de cada cual para hacer más divertida la broma cuando pongan a alguien a jugarlo.
Que lo disfruten.

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Alunes
Usuario Iniciado


Registrado: 13 Jul 2011
Mensajes: 10
Ubicación: Simelela, Africa del Sur

Mensaje Publicado: Mar 22 Nov, 2011 15:46 pm

Título del mensaje: Re: Programar un divertido juego

Responder citando

¿En qué lenguaje está realizado este jueguecillo?

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Vila
Usuario Inquieto


Registrado: 14 May 2010
Mensajes: 123
Ubicación: Vulpesheim

Mensaje Publicado: Mar 22 Nov, 2011 18:14 pm

Título del mensaje: Re: Programar un divertido juego

Responder citando

Alunes escribió:
¿En qué lenguaje está realizado este jueguecillo?


El jueguecillo se está realizando aquí en Visual Basic 6.0, pero igualmente lo hubiese podido hacer (con algunos pequeños cambios) en Visual Basic.net.
También lo podría haber realizado (pero ya con muchos más cambios aunque manteniendo la lógica) en C#, C++ o Delphi.

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Responder al Tema
Mostrar mensajes anteriores:   
Ir a:  
Todas las horas están en GMT + 2 Horas

Temas relacionados

Tema Autor Foros Respuestas Publicado
El foro no contiene ningún mensaje nuevo

quiero aprender a programar peo no se donde emp...

itachi Preséntate a la comunidad 3 Sab 12 May, 2012 04:39 am Ver último mensaje
El foro no contiene ningún mensaje nuevo

Busco programadores para crear juego online eje...

davidelvacilon Programación de juegos o videojuegos 0 Lun 07 May, 2012 18:57 pm Ver último mensaje
El foro no contiene ningún mensaje nuevo

Ayuda con un juego de laberinto en C

Mane Lopez C, C#, Visual C++ 2 Sab 14 Abr, 2012 07:55 am Ver último mensaje
El foro no contiene ningún mensaje nuevo

Juego del gato

marcela C, C#, Visual C++ 9 Lun 09 Abr, 2012 23:02 pm Ver último mensaje
El foro no contiene ningún mensaje nuevo

Como hacer un boton que me ejecute un juego que...

xX_Agustin Visual Basic .NET 1 Lun 19 Mar, 2012 02:12 am Ver último mensaje
Panel de Control
No puede crear mensajes, No puede responder temas, No puede editar sus mensajes, No puede borrar sus mensajes, No puede votar en encuestas,