Page 5 sur 6

Re: Snake en assembleur

Message non luPosté: 03 Avr 2017, 17:19
de Epharius
Nice, tu vois quand tu veux :p

Re: Snake en assembleur

Message non luPosté: 04 Avr 2017, 20:37
de Dark coco
Voici la suite de la partie tête, qui fonctionne :troll: (merci à Epharius pour avoir élucidée le bogue mystérieux). Cette routine permet des faire les rotations du corps du serpent juste après la tête. :p
https://pastebin.com/E4hQCvQZ

Image

C'est beau quant ça fonctionne :D .

Re: Snake en assembleur

Message non luPosté: 15 Avr 2017, 16:09
de Dark coco
Bonjour,

La partie du moteur du snake est enfin terminée après plusieurs longs et fastidieux bugs. :D
Si cette partie comprend des bug n'hésité pas à en faire pars.

Avant de pouvoir songer à la mettre en ligne il me reste les scores et une sauvegarde de la parti. Par contre pour sauvegarder les scores je n'ai aucune idée de comment et avec quel moyen on peut le faire sinon pour sauvegarder la partie, cela rejoint le problème des scores. :)

Sinon voilà une capture:
Image
Bon lors de l'enregistrement j'étais mauvais :troll: .

Et voilà le code actuelle (pour ceux qui son curieux :) ) :
https://pastebin.com/XihNCTZb

Re: Snake en assembleur

Message non luPosté: 15 Avr 2017, 16:28
de critor
Joli. :D

Pour sauvegader les scores, tu peux utiliser une variable AppVar.

Re: Snake en assembleur

Message non luPosté: 15 Avr 2017, 21:13
de Ti64CLi++
Franchement bien joué :bj:

Re: Snake en assembleur

Message non luPosté: 04 Juin 2017, 21:05
de Dark coco
Bon j'ai rapidement repris le développement du snake.
Il y a maintenant l'affichage des score et un page pour le game over :)
voici la page du game over :)

Image

Bon par contre j’aurais des petites questions:
Comment utilise une appvars, comment on la localise dans la ram? TheMachine02 m'avait renseigné mais j'ai perdu ma note que j'avais prise. :#roll#:

Re: Snake en assembleur

Message non luPosté: 04 Juin 2017, 22:04
de TheMachine02
Très beau ton game over screen :D

Globalement, pour détecter une appv, il faut d'abord charger le nom en OP1 (_mov9toOP1) puis exécuter un call système qui sert à détecter une variable (_ChkFindSym). Le nom doit être de la forme suivante :
Code: Tout sélectionner
.db AppVarObj, "NAME",0


Si la variable est archivée, alors les données ne sont pas les données directes de l'appv, puisque que tu as un header de 9 octets suivit de la taille du nom de l'appv, puis le nom de l'appv, puis 2 octets donnant la taille de l'appv.

Un simple code pour localiser une appv et retourner en hl l'adresse des données peut être le suivant :

Code: Tout sélectionner
   call   _mov9toOP1
   call   _ChkFindSym
   ret   c
   call   _ChkInRam
   ex de,hl
   jr   z, AppVarUnarchived
   ld   de, 9
   add   hl, de
   ld   e, (hl)
   add   hl, de
   inc   hl
AppVarUnarchived:
   inc   hl
   inc   hl


A noter cependant que ce code ne désarchive pas l'appvar, donc si elle est en archive, l'écriture sera impossible. Par contre, tu peux désarchiver facilement une variable avec un autre call système Arc_Unarc qui swap le status de l'appvar entre archive/RAM (cf wikiti : http://wikiti.brandonw.net/index.php?ti ... CALLs:4FD8 )

Re: Snake en assembleur

Message non luPosté: 12 Juin 2017, 15:22
de Dark coco
bon le programme est enfin fini :D .

Image

Mais bon il fais 28 ko donc il ne sortira pas aujourd'hui.

Re: Snake en assembleur

Message non luPosté: 12 Juin 2017, 15:27
de clifward
Et les statistiques ? :o

Re: Snake en assembleur

Message non luPosté: 12 Juin 2017, 15:28
de MMBC
Ils sont dans ta tête ;)