INFORMATICA Y OCIO

Foros de informática
  Inicio    Normas    Buscar   Miembros   Clanes   Regístrese   Perfil   Conéctese para revisar sus mensajes   Conectarse 
[informatica] + [videos graciosos] + [ultimos mensajes] + [top usuarios] + [contacto]
Duda con el código en Visual Basic 6.0
Ir a página 1, 2  Siguiente
 
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Foroz comunity :: Programación
Ver tema anterior :: Ver siguiente tema  
Autor Mensaje
jor
Yo soy el foro
Yo soy el foro


Registrado: 07 Jul 2006
Mensajes: 6960
Ubicación: Lucus Augusti

MensajePublicado: Mie Ene 23, 2008 6:13 pm    Título del mensaje: Duda con el código en Visual Basic 6.0 Responder citando
Pues veréis. Estoy haciendo un juego con ese programa. El juego consiste en que un avión cae aleatoriamente desde un sitio u otro de la pantalla. Debajo, hay una cajita, que se mueve con un ScrollBar horizontal, para que el avión, caiga desde donde caiga, intentemos que caiga dentro de la cajita.

Hay un botón para empezar el juego, y otro para pararlo. La velocidad de caída del avión se puede regular mediante dos botoncitos (+ y -, para darle más o menos velocidad).

Bien, el problema del programa es que, si el avión cae en la cajita, lo cuenta como un acierto. Si el avión cae fuera de la cajita, lo cuenta como acierto también.

El código es este:




Private Sub Command1_Click()
Timer1.Enabled = True
End Sub

Private Sub Command2_Click()
End
End Sub

Private Sub Command3_Click()
Timer1.Interval = 200 - Val(Timer1.Interval)
End Sub

Private Sub Command4_Click()
Timer1.Interval = Val(Timer1.Interval) + 200
End Sub

Private Sub HScroll1_Change()
Shape1.Left = HScroll1.Value
End Sub

Private Sub HScroll1_Scroll()
Shape1.Left = HScroll1.Value
End Sub

Private Sub Timer1_Timer()
If Image1.Top < 4000 Then
Image1.Top = Image1.Top + 100
Else
If Image1.Left < Shape1.Left - 10 Or Image1.Left > Shape1.Left + 400 Then
Label1.Caption = Val(Label1.Caption ) + 1
Else
Label2.Caption = Val(Label2.Caption) + 1
End If
Randomize
Image1.Top = 120
Image1.Left = Int(Rnd * 3600) + 360
End If
End Sub




Graciasss. Si hay alguna cosa que no entendáis, me lo decís. A ver si lo arreglamos entre todos, porque ni yo, ni la profesora, sabemos qué nos pasa con este programa, ya que aparentemente, lo hago todo bien. Shocked
_________________
Quien encuentra un amigo, encuentra un tesoro.
Chi trova un amico, trova un tesoro.

Firma hecha por un tesoro (<TheDarkMan>)

Volver arriba
Ver perfil del usuario Enviar mensaje privado MSN Messenger
Smart
User destacando
User destacando


Registrado: 02 Oct 2007
Mensajes: 320
Ubicación: Super Colombia!

MensajePublicado: Mie Ene 23, 2008 6:49 pm    Título del mensaje: Responder citando
Hola,

Debes revisar muy bien el If con el que estas verificando si cae dentro de la cajita o no... por que por lo que entendí veo que cuando cae dentro de la cajita le dices que sume un valor "Label1.Caption = Val(Label1.Caption ) + 1" y que cuando no caiga dentro de la cajita sume otro valor "Label2.Caption = Val(Label2.Caption) + 1", entonces te recomiendo hacer otro if para validar si cae fuera de la cajita...

Por otra parte te recomiendo utilizar nombres cristianos a los objetos por que dure como una hora tratando de entender que era cada cosa....

Me dices si te funciona!

Saludos!
_________________

Copiar ideas de uno es plagio, copiar ideas de muchos es la investigación...!

Foro donde te respondere tus dudas de programación aqui!
Volver arriba
Ver perfil del usuario Enviar mensaje privado
jor
Yo soy el foro
Yo soy el foro


Registrado: 07 Jul 2006
Mensajes: 6960
Ubicación: Lucus Augusti

MensajePublicado: Mie Ene 23, 2008 7:04 pm    Título del mensaje: Responder citando
Ok. Pues mañana lo probaré, amigo.

Aunque creo que ya lo hicimos. Question ¿Qué debo poner, más o menos, en ese if que recomiendas hacer?

Es que son prácticas, y las hice tal cual venía en el papel, por eso no tiene nombres muy "cristianos". Pero la verdad, debí haberlos puesto (en algún caso sí lo hice).

Pues eso, mañana te contaré.

¿Alguna sugerencia más que pueda ser el desencadenante de este problema? Rolling Eyes Wink
_________________
Quien encuentra un amigo, encuentra un tesoro.
Chi trova un amico, trova un tesoro.

Firma hecha por un tesoro (<TheDarkMan>)

Volver arriba
Ver perfil del usuario Enviar mensaje privado MSN Messenger
firefenix
Forero
Forero


Registrado: 06 Nov 2007
Mensajes: 164

MensajePublicado: Jue Ene 24, 2008 12:00 am    Título del mensaje: Responder citando
A ver, no sé si para la versión 6.0 del basic es así, pero para la 2005 cuando mantienes pulsado el scrollBar te devuelve un valor que es 1 más que cuando lo sueltas. Comprueba que esto sea así.

También podrías poner otro IF dentro del ELSE para depurar fallos.
_________________
Volver arriba
Ver perfil del usuario Enviar mensaje privado MSN Messenger
Smart
User destacando
User destacando


Registrado: 02 Oct 2007
Mensajes: 320
Ubicación: Super Colombia!

MensajePublicado: Jue Ene 24, 2008 2:18 am    Título del mensaje: Responder citando
Hola jor, mira te dejo el código desde el Timer...

Código:

Private Sub Timer1_Timer()
If Image1.Top < 4000 Then
Image1.Top = Image1.Top + 100
Else
If Image1.Left < Shape1.Left - 10 Or Image1.Left > Shape1.Left + 400 Then
Label1.Caption = Val(Label1.Caption ) + 1
End If
If Image1.Left > Shape1.Left - 10 Or Image1.Left < Shape1.Left + 400 Then
Label2.Caption = Val(Label2.Caption) + 1
End If
Randomize
Image1.Top = 120
Image1.Left = Int(Rnd * 3600) + 360
End If
End Sub


Más o menos eso es lo que te trato de explicar... sino te da... entonces pásame el archivo fuente y te colaboro con eso...

Saludos
_________________

Copiar ideas de uno es plagio, copiar ideas de muchos es la investigación...!

Foro donde te respondere tus dudas de programación aqui!
Volver arriba
Ver perfil del usuario Enviar mensaje privado
jor
Yo soy el foro
Yo soy el foro


Registrado: 07 Jul 2006
Mensajes: 6960
Ubicación: Lucus Augusti

MensajePublicado: Sab Feb 09, 2008 12:06 am    Título del mensaje: Responder citando
Bueno. Al fin lo he podido probar.

Y no, no funciona. Es más, lo empeora. Si cae el avión en una esquina de la cajita, me cuenta un acierto, pero si cae justo en medio de la caja (otro acierto debería), me marca un acierto, PERO también un fallo. Shocked

¿Qué puede pasar? Crying or Very sad
_________________
Quien encuentra un amigo, encuentra un tesoro.
Chi trova un amico, trova un tesoro.

Firma hecha por un tesoro (<TheDarkMan>)

Volver arriba
Ver perfil del usuario Enviar mensaje privado MSN Messenger
DploiD
Yo soy el foro
Yo soy el foro


Registrado: 26 Ene 2006
Mensajes: 4441
Ubicación: Argentina

MensajePublicado: Sab Feb 09, 2008 3:44 pm    Título del mensaje: Responder citando
jor, no podrías subir el proyecto completo?

Porque asi no lo puedo analizar muy bien xD
Un saludo.
_________________
Avisame del spam
O postealo acá
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo MSN Messenger
jor
Yo soy el foro
Yo soy el foro


Registrado: 07 Jul 2006
Mensajes: 6960
Ubicación: Lucus Augusti

MensajePublicado: Sab Feb 09, 2008 5:37 pm    Título del mensaje: Responder citando
Sí, mejor será. Embarassed

El lunes, cuando esté en clase, os lo pongo, con todo. Very Happy

Saludos
_________________
Quien encuentra un amigo, encuentra un tesoro.
Chi trova un amico, trova un tesoro.

Firma hecha por un tesoro (<TheDarkMan>)

Volver arriba
Ver perfil del usuario Enviar mensaje privado MSN Messenger
DploiD
Yo soy el foro
Yo soy el foro


Registrado: 26 Ene 2006
Mensajes: 4441
Ubicación: Argentina

MensajePublicado: Lun Feb 11, 2008 4:31 pm    Título del mensaje: Responder citando
Estamos esperando Jor xD

Si me pones el codigo y logro instalar el VB, intento ayudarte, es que asi no me oriento mucho.

Un saludo.
_________________
Avisame del spam
O postealo acá
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo MSN Messenger
jor
Yo soy el foro
Yo soy el foro


Registrado: 07 Jul 2006
Mensajes: 6960
Ubicación: Lucus Augusti

MensajePublicado: Mar Feb 12, 2008 1:38 am    Título del mensaje: Responder citando
Tranquilo, mañana a ver si puedo. Hoy lunes me fue imposible, ya que entre unas cosas y otras, no lo he logrado. Pero a ver hoy, espero que ya sí. Wink

Saludos
_________________
Quien encuentra un amigo, encuentra un tesoro.
Chi trova un amico, trova un tesoro.

Firma hecha por un tesoro (<TheDarkMan>)

Volver arriba
Ver perfil del usuario Enviar mensaje privado MSN Messenger
Mostrar mensajes anteriores:   
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Foroz comunity :: Programación Todas las horas están en GMT + 1 Hora
Ir a página 1, 2  Siguiente
Página 1 de 2
Saltar a:  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
 
Articulos relacionados
En Sistemas Operativos >> Duda sobre libros para windows server...
En Televisión >> duda con la configuracion de una tele...
En Hardware >> Duda memorias Ram
En Webmasters >> Problema con codigo de reproductor - ...
En General >> Duda Publicidad CID
 

 
Foroz comunity Tema RSS 




by phpBB  
informatica Videos graciosos webmasters theme by Scott Stubblefield Top foroz