Page 1 sur 6

[ASM] Snake en assembleur

Message non luPosté: 06 Mar 2017, 18:06
de Dark coco
Bonjour,

Comme l'annonce le titre, je me lance dans la création du jeu snake en assembleur sur les calculatrices 83PCE . Bon étant donner que je débute, je pense qu'il est préférable de demander l'avis d'experts :p . Même si le projet n'est pas si ambitieux que ça .

Le rapport de projet, comme je viens de commencer vous vous en doutez qu'il reste encore beaucoup à faire :
~MENU~
-Affichage
-Réglages
-Quitter
-Sélection


~Le jeu~
-Sprites du serpent
-Gestion du mouvement
-Gestion de la pomme
-Gestion des collisions
-Touche anti-prof
-Affichage du score


~Menu de fin~
-Affichage des meilleurs scores
-Quitter



Vert c'est fait, Orange c'est en cours et rouge il va falloir attendre :p .
Merci de vos avis notamment pour les sprites .

lien de téléchargement: https://tiplanet.org/forum/archives_voir.php?id=1036350 , Enjoy :p

Re: Snake en assembleur

Message non luPosté: 06 Mar 2017, 18:10
de Dark coco
Bon voilà la première sprite du serpent pour le menu :p , je veux bien votre avis merci

Image

et voilà le résultat sur calculatrice .

Image

Re: Snake en assembleur

Message non luPosté: 06 Mar 2017, 18:38
de Epharius
C'est bien, ça va te rendre meilleur en assembleur :P
Les sprites sont OK je pense, ça fait un style. De toute façon tu pourras changer plus tard.
Aussi, concentre toi sur le jeu en lui-même avant de faire le squelette (menus etc) ;)

Re: Snake en assembleur

Message non luPosté: 06 Mar 2017, 18:40
de Dark coco
Ok d'accord je vais commencer par ça :p .

Re: Snake en assembleur

Message non luPosté: 08 Mar 2017, 19:59
de Dark coco
Je rencontre un petit soucis, pour réalisé une sprite il me faut utilisé LDIR, mais lors de sa boucle il me faudrait pouvoir ajouté 320 à DE qui contiens le pointeur de l'écran .
TheMachine02 m'a dit que le code :
LD BC, 320
EX DE, HL
ADD HL,BC
EX DE, HL

Résolvais le problème sauf que lors de ma boucle j'utilise BC donc si j’affecte la valeur de BC, ma boucle ne fonctionnerais plus . C'est ce que je pense :p . Et ensuit comment savoir si cette instruction va bien se passer à la fin de la boucle . :p

Merci en tous cas de m'aider, même si je ne comprend pas tous :#roll#:

Re: Snake en assembleur

Message non luPosté: 08 Mar 2017, 22:12
de Epharius
Souviens toi, si tu veux sauvegarder une valeur utilise PUSH et POP, car je suppose que tu utilises HL DE et BC dans ta boucle.

Re: Snake en assembleur

Message non luPosté: 08 Mar 2017, 22:16
de Dark coco
Justement je viens de faire ça

LD BC,y
Push BC
LD HL,Sprite
LD DE,Pointeur
LD BC,x

AffiX :

LDIR
LD BC,320*2-x
EX HL,DE
ADD HL,BC
EX HL,DE
POP BC
DJNZ Affix

Re: Snake en assembleur

Message non luPosté: 08 Mar 2017, 22:17
de Dark coco
S'il y a mieux n'hésitez pas à m'en faire part :p

Re: Snake en assembleur

Message non luPosté: 08 Mar 2017, 22:19
de TheMachine02
C'est surtout que ton code marche pas là; Tu pop dans la boucle sans autre push, ça va pas le faire.

Code: Tout sélectionner
ld a, y
ld de, pointeur
ld hl, data

CopyLine:
ld bc, x
ldir
ex de, hl
ld bc, 320-x
add hl, bc
ex de, hl
dec a
jr nz, CopyLine

Re: Snake en assembleur

Message non luPosté: 08 Mar 2017, 22:26
de PT_
Code: Tout sélectionner
ld a, y
ld de, pointeur
ld hl, data

CopyLine:
ld bc, x
ldir
ex de, hl
(inc b)
ld c, 320-256-x
add hl, bc
ex de, hl
dec a
jr nz, CopyLine

:troll: