elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con un getch() indisciplinado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con un getch() indisciplinado  (Leído 6,041 veces)
vangodp


Desconectado Desconectado

Mensajes: 455



Ver Perfil
Re: Problema con un getch() indisciplinado
« Respuesta #10 en: 31 Enero 2014, 13:43 pm »

Te entiendo que se puede "hacer" lo que dices.
¿Pero me has entendido algo de lo que dije yo?


Digamos que el hilo verde es positivo y el rojo negativo. La corriente viene y donde se junte ambos sigue su curso hasta volver al chip, eso se produce en amarillo1. ¡Bien funciona! ¿No? ¡Si! De momento si funciona. Sigamos...
Ahora imagina que tenemos pulsado el amarillo1 y quiero pulsar el azul1 que es una continuacion del cable rojo. No funcionaria ya que esta siendo usado para juntar amarillo1(positivo y negativo).
No se que clase de señal envía, si continua o pulsos, si es continua no registraria la segunda si fuera pulsos registraría así: sdsdsdsdsdsdsdsdsdsdsd XD o puede que dddddddddddddd o sssssssssssssssss XD no tengo ni p**a idea jaja. Habría que hacer pruebas(Hackear el teclado) y paso.
El compañero explica que que necesita respuestas rápidas por que van a jugar 2 personas . Una sola no tiene este problema, eso ya lo sabemos.
Te incito a que hagas un código que imprima cual de ellas se pulsa antes no que imprima ambas juntas.
Primero que sabemos que si pulsamos una tecla y la sujetamos pasa eso :kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk XD. Mientras no la soltemos no va registrar lo que ha echo la segunda ¡Si! lo llega a hacer.
Después prueba apretar ambos botones a la ves, y vayas registrando los resultados.
O bien has tu un jueguillo así: 2 teclas, juega tu con un amigo o hermano, el que pulse primero sale ¡boum gana jugador 1!, ¡boum gana jugador 2!....
varias veces XD.
Veras que solo gana el 1, o el 2, si que aprietes las 2 mas o menos juntas, el resultado no se va decidir por rapidez sino por las disposiciones de las teclas"Hard".
Para joder aun mas cada teclado la cosa cambia. Si hago un código que use una tecla en particular a mi puede que hasta llegue a funcionar correctamente, pero cuando lo ejecutes tu, si tienes otro tipo de teclado la cosa cambia.
Hay varias personas mas entendidas que yo sobre el tema en este foro, pregunta les, o pruebas tu.
Aquí estoy seguro que cualquier programador medio decente es capaz de resolver el problema sobre la parte de programación. Quiero ver apañar el problema del hard, y mejor aun que funcione en todas las computadoras de manera igual. ¡Esta es la cuestión!
Si lanzara una playstation hoy por mas bueno que fuera tus programadores, los ingenieros de hard lo habrían liado parda, y tocaría tirar cientos de miles de plays a la basura jaja
Haz tu un código, que te paso el resultado jejej de haberlo ejecutado.
Puede que yo este hablando hasta chorradas por que a ti en tu teclado te vaya bien pero en el mio si pulso a y l me sale siempre a :/
Si te crees capaz de solucionar hazme un código y lo pruebo, estoy aquí para aprender ;)
Suerte!




« Última modificación: 31 Enero 2014, 13:53 pm por vangodp » En línea

SCUMM

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: Problema con un getch() indisciplinado
« Respuesta #11 en: 31 Enero 2014, 14:14 pm »

Es cierto que el jugador que juegue con a,s,d va a tener ventaja sobre el que juega cob b,n,m.(en el gráfico se puede ver que las teclas mas altas y a la izquierda son prioritarias)  sin embargo este no es un problema real, puesto que el ÚNICO caso en el que el orden de teclas cuenta es cuando disparan ambos a la vez (cosa que apenas pasa) Y ya hemos visto como se puede solucionar haciendo que alguno de los jugadores juegue con otro dispositivo de entrada(ratón, mando xbox, joystick)
Además, tengo varios controles de error por usuario, por ejemplo en el caso de que el primer getch() registre el mismo valor que el segundo, salta un mensaje que dice"Trampa, se repite el asalto", o si se pulsa una tecla que no corresponde con un control, el vaquero simplemente no hace nada, además de que cada jugador solo puede cargar tres balas en su revolver ya que una partida suele durar quince turnos de media y con mas balas se haría eterno(todos estos sistemas están implementados en void ResolverDuelo(char accionpri,char accionse) )

Así que básicamente, el tema está zanjado, muchas gracias por responder a mi primer post con tanta entrega ;)
¡¡¡ Por cierto, gracias por sacar el tema del ghosting, tendré que estudiarlo a fondo para conseguir diseñar un buen mapa de controles para mis futuros juegos!!!


En línea

vangodp


Desconectado Desconectado

Mensajes: 455



Ver Perfil
Re: Problema con un getch() indisciplinado
« Respuesta #12 en: 31 Enero 2014, 14:53 pm »

De nada.
Recuerda, que no es lo mismo un teclado que otro.
También puedes hackear un mando viejo, o otro dispositivo que no uses mas.
Los mandos de las consolas suelen tener este problema resuelto ya que son dispositivos específicos para juegos.
Pero si piensas en hacer un juego que vayas distribuir al lo bestia debes tener eso en cuenta(y otros tantos problemas).
Este tema es muy interesante sobre el mapeado de un teclado:
Explica como elegir las mejores teclas para un teclado que tiene, como apalea el blocking y el ghosting, y según el consigue hasta 8 teclas sin esos problemas.
http://zonaarcade.forumcommunity.net/?t=44254872
Que ponga aquí tus avances en el campo del juego ;).
Si tienes algún código echo sobre los botones me gustaría probarlo cuando lo tengas listo, o el juego mejor  ;D
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
getch propia para no usar getch de conio
ASM
neo_from_cs_matrix 3 5,701 Último mensaje 24 Agosto 2011, 18:43 pm
por Eternal Idol
ayuda... tutorial getch
Programación C/C++
peterfly 3 3,399 Último mensaje 12 Diciembre 2011, 23:07 pm
por Firos
getch() y getche() sin conio.h « 1 2 »
Programación C/C++
abreu20011 10 10,271 Último mensaje 27 Octubre 2012, 19:56 pm
por theluigy13etv
no entiendo el funcionamiento del getch
Programación C/C++
raxor12 3 2,085 Último mensaje 10 Febrero 2015, 09:10 am
por eferion
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines