Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configuracion teclas al iniciar el juego (como IAO) #408

Merged
merged 6 commits into from Nov 9, 2019
Merged

Configuracion teclas al iniciar el juego (como IAO) #408

merged 6 commits into from Nov 9, 2019

Conversation

@RecoX
Copy link
Member

RecoX commented Nov 6, 2019

Added function to ask the layout of the keyboard when there is not set, added keyboard setup from Imperium AO, deleted clsArrayList as is unnecesary and it has bugs, Created form to select the layout keyboard normal or alternative, fixed custom keys as was not working at all, added images to show what keys are in use
@FrankoH298

alt text

RecoX added 3 commits Nov 6, 2019
…set, added keyboard setup from Imperium AO, deleted clsArrayList as is unnecesary and it has bugs, Created form to select the layout keyboard normal or alternative, fixed custom keys as was not working at all, added images to show what keys are in use
@FrankoH298

This comment has been minimized.

Copy link
Contributor

FrankoH298 commented Nov 6, 2019

Te devuelve la última posición para poder saber cuál es la ultima tecla que presionarte, y así poder moverte hacía esa dirección.

@RecoX

This comment has been minimized.

Copy link
Member Author

RecoX commented Nov 6, 2019

Te devuelve la última posición para poder saber cuál es la ultima tecla que presionarte, y así poder moverte hacía esa dirección.

Si eso esta barbaro, pero se deberia llamar GetLastPosition en ves de Count.

Count me deberia devolver la cantidad de elementos que tiene el array.

Hay que meterlo otra ves esto ya que ahora la caminata no es fluida :( pero sin bugs

@FrankoH298

This comment has been minimized.

Copy link
Contributor

FrankoH298 commented Nov 6, 2019

Si, es que lo hice medio a las apuradas y todavía estaba aprendiendo vb, y que bugs tiene?
Y lo que está hardcode es que lo hice pensando solo para la caminata y después me di cuenta que se podría usar para más cosas.

@RecoX

This comment has been minimized.

Copy link
Member Author

RecoX commented Nov 6, 2019

Si, es que lo hice medio a las apuradas y todavía estaba aprendiendo vb, y que bugs tiene?
Y lo que está hardcode es que lo hice pensando solo para la caminata y después me di cuenta que se podría usar para más cosas.

Count deberia llamarse GetLastPosition
lastKeys.Count() = 38 eso deberia hacerse con la configuracion seleccionada no hardcodeando teclas ya que la customizacion de teclado no anda, solo anda las teclas por default. En caso que por alguna razon se quiera valdiar una tecla no se deberian hardcodear con integers se tienen que usar las constantes de vb6 https://docs.microsoft.com/en-us/office/vba/Language/Reference/User-Interface-Help/keycode-constants

            If GetKeyState(CustomKeys.BindedKey(eKeyType.mKeyUp)) < 0 Then
                If lastKeys.itemExist(CustomKeys.BindedKey(eKeyType.mKeyUp)) = False Then lastKeys.Add (CustomKeys.BindedKey(eKeyType.mKeyUp)) ' Agrega la tecla al arraylist
            Else
                If lastKeys.itemExist(CustomKeys.BindedKey(eKeyType.mKeyUp)) Then lastKeys.Remove (CustomKeys.BindedKey(eKeyType.mKeyUp)) ' Remueve la tecla que teniamos presionada
            End If

            If GetKeyState(CustomKeys.BindedKey(eKeyType.mKeyDown)) < 0 Then
                If lastKeys.itemExist(CustomKeys.BindedKey(eKeyType.mKeyDown)) = False Then lastKeys.Add (CustomKeys.BindedKey(eKeyType.mKeyDown)) ' Agrega la tecla al arraylist
            Else
                If lastKeys.itemExist(CustomKeys.BindedKey(eKeyType.mKeyDown)) Then lastKeys.Remove (CustomKeys.BindedKey(eKeyType.mKeyDown)) ' Remueve la tecla que teniamos presionada
            End If

            If GetKeyState(CustomKeys.BindedKey(eKeyType.mKeyLeft)) < 0 Then
                If lastKeys.itemExist(CustomKeys.BindedKey(eKeyType.mKeyLeft)) = False Then lastKeys.Add (CustomKeys.BindedKey(eKeyType.mKeyLeft)) ' Agrega la tecla al arraylist
            Else
                If lastKeys.itemExist(CustomKeys.BindedKey(eKeyType.mKeyLeft)) Then lastKeys.Remove (CustomKeys.BindedKey(eKeyType.mKeyLeft)) ' Remueve la tecla que teniamos presionada
            End If

            If GetKeyState(CustomKeys.BindedKey(eKeyType.mKeyRight)) < 0 Then
                If lastKeys.itemExist(CustomKeys.BindedKey(eKeyType.mKeyRight)) = False Then lastKeys.Add (CustomKeys.BindedKey(eKeyType.mKeyRight)) ' Agrega la tecla al arraylist
            Else
                If lastKeys.itemExist(CustomKeys.BindedKey(eKeyType.mKeyRight)) Then lastKeys.Remove (CustomKeys.BindedKey(eKeyType.mKeyRight)) ' Remueve la tecla que teniamos presionada
            End If

habria que mover eso a un metodo privado dentro de la misma clase/form para que maneje eso

@FrankoH298

This comment has been minimized.

Copy link
Contributor

FrankoH298 commented Nov 6, 2019

Aa, entonces no está bug, está mal hecho :p

@RecoX

This comment has been minimized.

Copy link
Member Author

RecoX commented Nov 6, 2019

Aa, entonces no está bug, está mal hecho :p

El que no permita usar configuraciones de teclado customizadas cuando antes si se podia lo pone en la zona de bugger XD

Igual esta barbaro eso por que la caminata fluida es de lo mejorcito :)

https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fi2.wp.com%2Fmundopoliticodiario.com%2Fwp-content%2Fuploads%2F2019%2F08%2F1566168415_maxresdefault.jpg%3Fresize%3D850%252C491%26ssl%3D1&f=1&nofb=1

pd: Una manito con la lluvia @FrankoH298 que no llueve mas!~!!

@FrankoH298

This comment has been minimized.

Copy link
Contributor

FrankoH298 commented Nov 6, 2019

/lluvia, na joda, nosé como solucionarlo porque el sistema de partículas ore no se puede usar para lluvia, entonces tenés que poner las vbgore o como se hacía en dx7

@RecoX

This comment has been minimized.

Copy link
Member Author

RecoX commented Nov 6, 2019

/lluvia, na joda, nosé como solucionarlo porque el sistema de partículas ore no se puede usar para lluvia, entonces tenés que poner las vbgore o como se hacía en dx7

Como sea jaja pero necesitamos que llueva, si te podes copar con un PR te lo agradeceria

@RecoX

This comment has been minimized.

Copy link
Member Author

RecoX commented Nov 8, 2019

@FrankoH298 Ahi volvi a agregar tu aporte de array de movimiento, asi tenemos movimiento suave de nuevo, eso si le arregle los bugs que encontre, lo encapsule en una funcion y le cambie el nombre de la funcion Count a GetLastItem

@FrankoH298

This comment has been minimized.

Copy link
Contributor

FrankoH298 commented Nov 8, 2019

Dale, una pregunta. Con vb podes hacer que el arraylist sirva con integers, bytes, longs? Porque el que está hecho es solo para byte.

@RecoX RecoX merged commit d9892fd into master Nov 9, 2019
1 check passed
1 check passed
WIP Ready for review
Details
@delete-merged-branch delete-merged-branch bot deleted the keyboard branch Nov 9, 2019
@RecoX

This comment has been minimized.

Copy link
Member Author

RecoX commented Nov 9, 2019

Dale, una pregunta. Con vb podes hacer que el arraylist sirva con integers, bytes, longs? Porque el que está hecho es solo para byte.

Por supuesto, es tan solo cambiar la firma aqui:

https://github.com/ao-libre/ao-cliente/blob/master/CODIGO/clsArrayList.cls#L29

@FrankoH298

This comment has been minimized.

Copy link
Contributor

FrankoH298 commented Nov 9, 2019

Sisi yase, pero lo que yo me refiero es que, dependiendo del new clsArrayList(0,5) detecte si usar byte, integer,longs.

@jopiortiz

This comment has been minimized.

Copy link
Collaborator

jopiortiz commented Nov 9, 2019

Podriamos declarar ArrayList como Variant y en el constructor pones algo asi:

Select Case VarType(variable)
           Case vbInteger
                // mira vos che, es un numerito
           Case vbBoolean
                // hmmmm si o no?

Mas info aca: https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/vartype-function

@FrankoH298

This comment has been minimized.

Copy link
Contributor

FrankoH298 commented Nov 9, 2019

Claroo, algo asi, no conocía la función vartype

@jopiortiz

This comment has been minimized.

Copy link
Collaborator

jopiortiz commented Nov 9, 2019

Algo asi digo yo:

Declarado Private ArrayList() As Variant

Public Sub Initialize(ByVal ArrayList_Type As VbVarType, ByVal min As Variant, ByVal max As Variant)

'***************************************************
'Author: FrankoH298
'Last Modify Date: 07/09/2019
' Inicializa la clase
'***************************************************

Select Case varType(VariableType)

    Case vbByte
        ReDim ArrayList(min To max) As Byte
        
    Case vbInteger
        ReDim ArrayList(min To max) As Integer
    
    Case vbLong
        ReDim ArrayList(min To max) As Long
        
End Select

Me.Clear

End Sub
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.