Samuel Devulder a écrit:
Citation:
tu vérifies Xkey que si XMOUS2<0 (ce qui me parait improbable)
XMOUS2<0 quand il n'y a pas de souris branchée et que le pointeur lightpen ne pointe pas sur l'écran (ou qu'il n'est pas branché).
Et pourquoi pas cumuler les 2 dans ce cas ?
En tous cas, sur DCMOTO, le fait de complètement mettre la souris à gauche ou en haut fait comme si XMOUS <0
Samuel Devulder a écrit:
Citation:
Ca boucle uniquement sur les mouvements de la souris ou les touches fléchées, hors il se trouve qu'il y a aussi d'autres touches utilisables
Oui bien sur. Je voulais garder le patch le plus petit possible et pas tout changer. C'est pour donner des idées. Dans une version intégrée il faudra aussi tenir compte du fait des autres touches dans la cette partie de gestion des entrées. Ce qui est important est de faire en sorte de boucler rapidement sur le INKEY$ car sinon l'experience de jeu au clavier est pas terrible (retire le ELSE 611 pour voir comment ca devient lent).
Citation:
Je viens de tester ton patch sur différentes versions de DC MOTO. Effectivement si la souris est complètement à gauche, les touches fléchées déplacent la tortue ... ça fonctionne. Mais vu que le jeu est chronométré tu ne risques pas de péter les record LOL.
Pas de souris chez moi mais un ligt-pen.. quand aux records... ca n'est pas pour moi
J'ai réécrit ton patch pour coller + à l'assembleur, et j'avias supprimé les variables XMOUS2 et YMOUS2 dans les nouvelles versions, mais il s'avère que c'est nécesaire avec ton patch...
Donc voici le code avec de la place pour traitement d'autres caractères (dont la touche Pause)
Code:
611 INMOUSE XMOUS2,YMOUS2 : XKEY=ASC(INKEY$+CHR$(0))
612 IF XMOUS2>=0 THEN XMOUS=XMOUS2:YMOUS=YMOUS2 : GOTO 616
613 IF XKEY>7 AND XKEY<12 THEN XMOUS=4+8*(OLDXMOUS@8+(XKEY=8)-(XKEY=9)): YMOUS=4+8*(OLDYMOUS@8-(XKEY=10)+(XKEY=11)) : GOTO 616
614 'aller vers gestion autre touche
615 IF XKEY=0 THEN 611
616 IF XMOUS<>OLDXMOUS OR YMOUS<>OLDYMOUS THEN SHOW 1 :TURTLE0,XMOUS,YMOUS:OLDXMOUS=XMOUS:OLDYMOUS=YMOUS
620 CLICMOUS=MTRIG(0)+2*MTRIG(1)+(XKEY=13)+2*(XKEY=32) : IF CLICMOUS=0 THEN 699
Le Goto 616 de la ligne 612 et 613 peuvent smebler inutile mais j'ai pris des réflexe de l'assembleur pour économiser des cycles d'horloge (tests non effectués)
La ligne 614 sert à aller à un sous programme qui, pour le moment, est prévu pour la touche "p" (=pause)
En tous cas, j'ai intégré ton patch pour ceux qui ne veulent jouer qu'au clavier, et j'ai quand même réussi à faire le niveau 0 en 46" sans trop me presser...