Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Souci avec Getkey
Massena Hors ligne Ancien rédacteur Points: 2219 Défis: 11 Message

Souci avec Getkey

Posté le 22/04/2018 09:22

Bonjour,
Je programme un jeu en basic sur une graph 35+ passé sur l'OS de la 75.
C'est un jeu qui se joue à deux.
Je me demande comment on peut faire en sorte que les adversaires puissent appuyer en meme temps sur leur touche sans que cela " arrête " les touches de l'autres vu que Getkey ne gère qu'une seule touche ?
Merci,
Masséna


Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 22/04/2018 10:16 | #


La réponse rapide est : malheureusement, c'est impossible. Lorsque plusieurs touches sont pressées, Getkey ne t'en renvoie qu'une. Personnellement je suppose même que c'est non-déterministe, c'est-à-dire qu'on ne sait pas à l'avance laquelle il va renvoyer.

Quand tu n'as que deux touches, tu pourrais t'en sortir en disant à tes joueurs « il faut alterner » (et encore, uniquement si ton jeu s'y prête). Getkey se comportera bien même si les périodes où ils appuient se recoupent.

Je signale d'ailleurs que beaucoup de problèmes se posent (et j'irai même jusqu'à penser que c'est électronique) quand on appuie sur plus de 3 touches à la fois. Un problème connu est qu'appuyer simultanément sur SHIFT, Left et Down déclenche ALPHA, peu importe comment on s'y prend. Il s'agit donc d'un problème délicat même en C.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Dark storm En ligne Labélisateur Points: 11631 Défis: 176 Message

Citer : Posté le 23/04/2018 09:02 | #


Le problème dont parle Lephe est plus couramment appelé « ghosting ». Ça vient du faire que le clavier est mis sous tension ligne par ligne et lu colonne par colonne, ce qui fait que les touches qui forment les 3 sommets d'un carré vont simuler l'appui sur le 4ème. Dans le domaine des claviers plus conventionnels, seuls les claviers haut de game (de gamer en général) ont une protection antighosting. Je rentrerais pas dans le détail, mais ce truc utilise du hardware pour limiter les capacitances dues au circuit électronique du clavier.

Tout ça pour dire que le ghosting sur calto, ça va être très dur de l'éviter, sauf à ralentir la fréquence de balayage à quelques hertz (et encore) pour limiter les effets.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 23/04/2018 09:54 | #


Merci d'avoir mentionné le nom technique du problème, que je ne connaissais pas. Je vais pouvoir chercher des infos supplémentaires...
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Dark storm En ligne Labélisateur Points: 11631 Défis: 176 Message

Citer : Posté le 23/04/2018 11:26 | #


Cette vidéo explique plutôt bien le problème, mais ne rentre pas dans les détails.


Je vais essayer de faire un topic là dessus, je trouve rien de bien intéressant sur le web.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Massena Hors ligne Ancien rédacteur Points: 2219 Défis: 11 Message

Citer : Posté le 23/04/2018 19:16 | #


Raaaaah...
Merci pour les réponses...
C'est dommage quand même, ça va poser un problème.

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 88 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd