Un p'tit jeu de serpent

Un p'tit jeu de serpent

Messagede rockyone » Mer 18 Aoû 2010 22:43

Un jeu que j'avais fait il y a quelques années pour mes enfants.
Le créateur de tableaux, n'est pas sur la disquette car bien que fonctionnel, je ne l'ai jamais fini et il n'est pas compilé.

PS ne fonctionne que sur le lecteur A


Image

Image
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
rockyone
 
Messages: 52
Inscription: Dim 1 Aoû 2010 18:38

Re: Un p'tit jeu de serpent

Messagede shadow272 » Ven 20 Aoû 2010 21:15

Pas mal,
Aucune possibilité de le modifier pour qu'il tourne sur HD ?
Un ATARI, le GFA c'est le bonheur
Avatar de l’utilisateur
shadow272
Administrateur du site
 
Messages: 211
Inscription: Mer 15 Oct 2008 21:40
Localisation: Hainaut, Belgique

Re: Un p'tit jeu de serpent

Messagede rockyone » Sam 21 Aoû 2010 01:27

Je n’ai aucune idée de ce qu’il faudrait modifier.
rockyone
 
Messages: 52
Inscription: Dim 1 Aoû 2010 18:38

Re: Un p'tit jeu de serpent

Messagede shadow272 » Sam 21 Aoû 2010 15:30

Probablement de chemin d'accès aux fichiers *.DAT et *.MI1

Il faudrait voir ce que tu as mis ?
exemple: Open "R",#1,"A:GAMES\SERP_002.DAT

En modifiant correctement, ça pourrait fonctionner sur n'importe quel lecteur ou partition de disque dur.
Un ATARI, le GFA c'est le bonheur
Avatar de l’utilisateur
shadow272
Administrateur du site
 
Messages: 211
Inscription: Mer 15 Oct 2008 21:40
Localisation: Hainaut, Belgique

Re: Un p'tit jeu de serpent

Messagede rockyone » Ven 3 Sep 2010 02:12

Bonjour

Si c'est bien le chemin d'accès qu'il fallait modifier, c'est fait.
Le jeu fonctionne sur disquette, et sur partition de disque dur.

Quelques autres modifications en plus...

Tout de même, la PATH et limité a 64 caractères.
Et le dossier "GAMES" doit être dans le même dossier que le jeu.

--------------------
Je voudrais savoir comment vider le buffer du clavier pour empêcher certaine répétition.
Serpent.zip
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
rockyone
 
Messages: 52
Inscription: Dim 1 Aoû 2010 18:38

Re: Un p'tit jeu de serpent

Messagede shadow272 » Ven 3 Sep 2010 07:56

Comment lis-tu le buffer du clavier et quelles répétitions veux-tu éviter ?
KEYTEST, KEYGET, . . .
Un ATARI, le GFA c'est le bonheur
Avatar de l’utilisateur
shadow272
Administrateur du site
 
Messages: 211
Inscription: Mer 15 Oct 2008 21:40
Localisation: Hainaut, Belgique

Re: Un p'tit jeu de serpent

Messagede rockyone » Sam 4 Sep 2010 21:44

Peut m’importe le mode de teste du clavier,

Je voudrais pouvoir après l’appui sur une touche, tester que celle-ci soit relâchée avant relecture de la même touche.
rockyone
 
Messages: 52
Inscription: Dim 1 Aoû 2010 18:38

Re: Un p'tit jeu de serpent

Messagede shadow272 » Jeu 9 Sep 2010 17:42

Je me suis penché sur la question et j'ai trouvé ça:

CLS
'
DO
'
' --------- test clavier
KEYTEST clavier%
'
' --------- si une touche … ‚t‚ press‚e
IF clavier%>0
'
PRINT clavier%;" - ";
'
' --------- attend le relachement de la touche
REPEAT
a%=PEEK(16776194)
UNTIL a%>128 AND a%<229
'
' --------- vide le buffer de la r‚p‚tition
REPEAT
KEYTEST clavier%
UNTIL clavier%=0
ENDIF
'
' --------- sort de la boucle si bouton de souris enfonc‚
EXIT IF MOUSEK=2
'
LOOP


C'est peut-être pas le plus ergonomique mais ça fonctionne.
Un ATARI, le GFA c'est le bonheur
Avatar de l’utilisateur
shadow272
Administrateur du site
 
Messages: 211
Inscription: Mer 15 Oct 2008 21:40
Localisation: Hainaut, Belgique

Re: Un p'tit jeu de serpent

Messagede rockyone » Ven 10 Sep 2010 00:02

Merci shadow272

C'est bien ce que je voulais - mais, j'adaptes pour moi en omikron -

Question: est il posible d'écrire dans le registre de controle du clavier


Code: Tout sélectionner
    PRINT "-----------------------"
    PRINT "Esc","Pour sortir "
    PRINT "G","pas de r‚p‚tition"
    PRINT "-----------------------"

   REPEAT
       REPEAT :A$="":A$= INKEY$ : UNTIL A$<>""

       Scan%= ASC( MID$(A$,2,1))

       T%=T%+1

       PRINT A$ ,Scan%,T%;"ø appuye autoris‚ "

       IF Scan%=1 THEN EXIT TO Fin
       IF Scan%=34 THEN No_Inkey

   UNTIL 0

   -Fin: END

  DEF PROC No_Inkey
        REPEAT
              A%= PEEK($FFFC02)
              PRINT A%;" vidage du registre "
              A$= INKEY$
        UNTIL A%>128 AND A%<229
        IF A$<>"" THEN No_Inkey
  RETURN
rockyone
 
Messages: 52
Inscription: Dim 1 Aoû 2010 18:38

Re: Un p'tit jeu de serpent

Messagede lafleche » Ven 10 Sep 2010 08:11

Salut,
voui c'est possible via la fonction XBIOS(14, 1), là tu contrôle directement le buffer d'entree du clavier, ou plutôt de son processeur le IKBD
L'appel de la fonction te renvoie l'adresse d'une structure, dans laquelle tu trouves dans l'ordre :
L'adresse du buffer sur 32 bits
Sa taille sur 16 bits
+ d'autres variables qui ne vont pas t'intéresser dans l'immédiat.

Donc, pour y accéder tu devrait faire un truc du style :
iorec%=XBIOS(14,1)
'adresse du buffer clavier
bufkbd%=LPEEK(iorec%)
' lecture du premier octet du buffer du clavier
code|=PEEK(bufkbd%)

A essayer, mais ça marche pour l'accès au buffer du port série, et le port série et le clavier (de même que le MIDI) passent tous deux par le MFP et donc sont accessibles par la fonction XBIOS(14)
Avatar de l’utilisateur
lafleche
 
Messages: 136
Inscription: Lun 25 Jan 2010 14:41
Localisation: Lille

Suivante

Retourner vers Jeux

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron