Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - DarkMatrix

#121
suponiendo que horas, ni minutos, ni segundos, ni milesimas de segundo pueden alcanzar su valor maximo osea 60,60,60,1000 ya que si minutos valiera 60 ya no fueran 60 minutos si no 1 hora y minutos valdria 0, hay te hize un ejemplo a ver si te sirve:

valores maximos: 99:59;59;999  ;D

Código (vb) [Seleccionar]

Option Explicit

Private Sub Form_Load()
MsgBox SumarTiempo("00:02;20.254", "00:02;59.800")
End Sub

Private Function SumarTiempo(Tiempo1 As String, Tiempo2 As String) As String
Dim H As Integer, H2 As Integer
Dim M As Integer, M2 As Integer
Dim S As Integer, S2 As Integer
Dim Ml As Integer, Ml2 As Integer
Dim Horas As Integer, Minutos As Integer, Segundos As Integer, Milesimas As Integer

H = Mid(Tiempo1, 1, 2)
M = Mid(Tiempo1, 4, 2)
S = Mid(Tiempo1, 7, 2)
Ml = Mid(Tiempo1, 10, 3)

H2 = Mid(Tiempo2, 1, 2)
M2 = Mid(Tiempo2, 4, 2)
S2 = Mid(Tiempo2, 7, 2)
Ml2 = Mid(Tiempo2, 10, 3)

Horas = H + H2
Minutos = M + M2
Segundos = S + S2
Milesimas = Ml + Ml2

If Milesimas >= 1000 Then
Segundos = Segundos + 1
Milesimas = Milesimas - 1000
End If

If Segundos >= 60 Then
Minutos = Minutos + 1
Segundos = Segundos - 60
End If

If Minutos >= 60 Then
Horas = Horas + 1
Minutos = Minutos - 60
End If

SumarTiempo = Format(Horas, "00") & ":" & Format(Minutos, "00") & ";" & Format(Segundos, "00") & "." & Format(Milesimas, "000")

End Function



espero que te sirva de algo. Saludos xD
#122
bueno esta vez tengo una duda en el juego que estoy haciendo. el juego es online y funciona mas o menos asi:

un cliente se conecta al servidor y recibe toda la informacion del jugador y todo eso, luego el jugador ingresa a la la lista de todas las salas de juego creadas para seleccionar una y jugar con otro jugador. el juego es de cartas y cada sala abarca dos jugadores maximo. el problema esta en cuando estos dos jugadores entran en la sala, necesito q las dos pantallas esten sincronizadas en los movimientos de las cartas, eso lo logre, pero el problema esta en la conexion; yo habia hecho lo siguiente:

cuando el jugador Nº 1 entra en la sala crea una nueva conexion en un socket y lo pone a la espera, cuando el segundo jugador entra en la sala se conecta al socket que esta en espera y asi se conectan para poder transferir los datos. el problema lo encontre cuando el jugador que creo la sala esta detras de un router o conexion con ip de red osea internet compartido, lo que nos da una ip como esta 192.168.0.40 q son ips de redes privadas y con esa ip no se puede conectar el segundo jugador, he hay el problema T_T.

habia pensado q cuando el primer jugador cree la sala solo se quede hay y le mande su nick al servidor y que cuando se conecte el segundo jugador que le mande el nick al servidor y mediante esos dos nicks tranferir los datos solo entre esos 2 clientes y asi no tendria que crear una nueva conexion entre esos dos jugadores.

bueno a ver que me pueden recomendar ustedes.

Saludos y gracias de antemano por la ayuda que puedan ofrecer  ::)
#123
si espesificaras un poco mas tu problema tal vez podriamos ayudarte, pero te recomiendo que lo hagas en un nuevo tema Saludos xD!
#124
Cita de: seba123neo en 29 Noviembre 2008, 20:39 PM
pero el juego es en DirectX?? porqeu sino es horrible cambiar la resolucion solo para ajustar los conroles,el usuario va a tirar todo al carajo...

relativamente no es en directx solo que esta programado para una resolucion de 1024*768, entonces cambio la resolucion para no tener que redimensionar los controles y las imagenes en pcs que tengan una resolucion menor o mayor.
#125
Cita de: seba123neo en 29 Noviembre 2008, 18:50 PM
Hola, hay codigos para ajustar al resizar...o tambien podes hacer los programas con pantalla fija y asi te va a andar en todas las resoluciones...

Redimensionar controles

saludos.

ok gracias por la sugerencia, pero la cosa es que estoy programando un juego y el redimensionar algunos controles no me es factible ya que son muchos.

Cita de: alex19910218 en 29 Noviembre 2008, 19:00 PM
Ps mén, yo me dedico más a la programación .NET, pero tambien ví Visual 6.0, en enstos momento no me acuerdo de como hacerlo, pero te dejo un link que te puede servir de referencia para lo que quieres hacer.

   Cambiar la resolución de pantalla - revisado para Win XP
Tambien puedes checar este otro POST
   cambiar resolución de pantalla desde VB6

Espero que te sirva.
Saludos!!!

Los ejemplos me sirvieron de mucho, hasta ahora eso era lo que queria.

en cuanto a Angeldj27 voy a probar el code pero en tal caso el que me mostro alex19910218 es mas corto y mas facil de usar gracias.

Saludos!
#126
me entendiste mal, yo me refiero a la forma en como lo hacen los juegos, no cambiando el tamaño del form si no cambiando la resolucion.
#127
buenas, hay alguna forma de ejecutar un form en pantalla completa a una resolucion espesifica, pero que los controles no cambien de tamaño?
#128
que yo sepa no se puede, yo lo intente. pero encontre la solucion. Visual basic trae un componente que se llama Microsoft Forms 2.0 object Library agregalo a tu proyecto y hay si se le puede cambiar la propiedad backstyle al checkbox y a otros controles tambien.

Espero que te sirva Saludos xD!
#129
Programación Visual Basic / Re: SexyMemorice
16 Noviembre 2008, 04:07 AM
Oye man he escurriñado tu codigo para ver cual era el problema y lo encontre solo hay que agregar 2 lineas de codigo a tu programa:

en el jMain.frm

Código (vb) [Seleccionar]


Private Sub Content_Click(Index As Integer)
On Error Resume Next
Static Primero As Boolean

If acButton = True Then
    Primero = Not Primero
    'Pregunta si se ha hecho click en el 1er.gráfico
    If Primero Then
        'Almacena el numero del gráfico donde se hizo click
        A = Graf(Index)
        'Almacena el numero del control Picture donde se hizo click
        G1 = Index

        Content(Index).Enabled = False <------- Para que no pueda volver a hacer click en la misma imagen

        'Muestra el gráfico en el Picture donde se hizo click
        LoadResBitmap (A), Content(Index)
    Else
        '*** Estas instrucciones se ejecutan cuando se hace click en segundo gráfico
        'Almacena el numero del gráfico donde se hizo click
        B = Graf(Index)
        'Almacena el numero del control Picture donde se hizo click
        G2 = Index
        'Muestra el gráfico en el Picture donde se hizo click
        LoadResBitmap (B), Content(Index)
        'Evita que se haga click en otro gráfico mientras se compara si acertó en los gráficos
        Container.Enabled = False
        'ejecuta las instrucciones del Timer1 donde se comprueba si se acertó en los gráficos
        Attemps = Attemps + 1
        Timer1.Enabled = True
        TimeScore = True
    End If
End If
        'Reproducimos el sonido correspondiente
        LoadResSound 103

acButton = False
End Sub



y aqui:

Código ( vb) [Seleccionar]

Private Sub Timer1_Timer()
Dim hImg As Integer
'Pregunta si los dos gráficos donde se hizo clic son diferentes

    If A <> B Then
        'Muestra el gráfico inicial en los dos PictureBox
        LoadResBitmap (13), Content(G1)
        LoadResBitmap (13), Content(G2)

        Content(G1).Enabled = True <------- para restaurar el valor del picture si no se acerto

    Else
        'Si los dos gráficos son iguales, los desactiva
        Content(G1).Enabled = False
        Content(G2).Enabled = False
    End If
        'Pregunta si se han acertado los 12 gráficos
        If Total = 12 Then
            ContScore.StopAni
            AniState = -1
            Jugando = False
            Timer2.Enabled = False
            'Reproducimos el sonido correspondiente
            LoadResSound 104
            LoadScoreBox DisplayScore.Text, DisplayTime.Text, CStr(Attemps)
            InitGraphics
            T = 0
            Total = 0
            Minutos = 0
            Segundos = 0
            Attemps = 0
            DisplayTime.Text = "00:00"
            DisplayScore.Text = "--"
            jPlayAgain.Show vbModal
        End If
        Timer1.Enabled = False

        If Jugando = True Then
        Container.Enabled = True
        End If
End Sub


Donde estan las flechas. Saludos xD!
#130
Programación Visual Basic / Re: SexyMemorice
16 Noviembre 2008, 03:24 AM
Cita de: Pollito happy en 15 Noviembre 2008, 05:18 AM
men tiene un pequeño error cuando le das doble click una imagen la coge dos veces y te da puntos

Es Verdad.

Saludos xD!