π
<-
Chat plein-écran
[^]

[ASM] Snake en assembleur

Assembleur, Axe, C/C++, ICE...

Re: Snake en assembleur

Unread postby Epharius » 03 Apr 2017, 17:19

Nice, tu vois quand tu veux :p
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
User avatar
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 7.7%
 
Posts: 1148
Images: 4
Joined: 08 Dec 2014, 17:38
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Ensimag
GitHub: MathisLav

Re: Snake en assembleur

Unread postby Dark coco » 04 Apr 2017, 20:37

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 .
(21:48:26) Hamza.S: Dark_coco : tu a écris 2 phrases sans faute
(19:15:10) Hayleia: ah ça je confirme que t'as appris à écrire à l'école de baptiste_leprovost :troll:
User avatar
Dark cocoProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 65.8%
 
Posts: 95
Joined: 15 Jan 2017, 14:39
Gender: Male
Calculator(s):
MyCalcs profile
Class: dut gte

Re: Snake en assembleur

Unread postby Dark coco » 15 Apr 2017, 16:09

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
(21:48:26) Hamza.S: Dark_coco : tu a écris 2 phrases sans faute
(19:15:10) Hayleia: ah ça je confirme que t'as appris à écrire à l'école de baptiste_leprovost :troll:
User avatar
Dark cocoProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 65.8%
 
Posts: 95
Joined: 15 Jan 2017, 14:39
Gender: Male
Calculator(s):
MyCalcs profile
Class: dut gte

Re: Snake en assembleur

Unread postby critor » 15 Apr 2017, 16:28

Joli. :D

Pour sauvegader les scores, tu peux utiliser une variable AppVar.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 45%
 
Posts: 41669
Images: 15208
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Snake en assembleur

Unread postby Ti64CLi++ » 15 Apr 2017, 21:13

Franchement bien joué :bj:
Image
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.4%
 
Posts: 3444
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi

Re: Snake en assembleur

Unread postby Dark coco » 04 Jun 2017, 21:05

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#:
(21:48:26) Hamza.S: Dark_coco : tu a écris 2 phrases sans faute
(19:15:10) Hayleia: ah ça je confirme que t'as appris à écrire à l'école de baptiste_leprovost :troll:
User avatar
Dark cocoProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 65.8%
 
Posts: 95
Joined: 15 Jan 2017, 14:39
Gender: Male
Calculator(s):
MyCalcs profile
Class: dut gte

Re: Snake en assembleur

Unread postby TheMachine02 » 04 Jun 2017, 22:04

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: Select all
.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: Select all
   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 )
User avatar
TheMachine02Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 29.4%
 
Posts: 341
Images: 0
Joined: 16 Jan 2013, 18:27
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Médecine

Re: Snake en assembleur

Unread postby Dark coco » 12 Jun 2017, 15:22

bon le programme est enfin fini :D .

Image

Mais bon il fais 28 ko donc il ne sortira pas aujourd'hui.
(21:48:26) Hamza.S: Dark_coco : tu a écris 2 phrases sans faute
(19:15:10) Hayleia: ah ça je confirme que t'as appris à écrire à l'école de baptiste_leprovost :troll:
User avatar
Dark cocoProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 65.8%
 
Posts: 95
Joined: 15 Jan 2017, 14:39
Gender: Male
Calculator(s):
MyCalcs profile
Class: dut gte

Re: Snake en assembleur

Unread postby clifward » 12 Jun 2017, 15:27

Et les statistiques ? :o
Image
User avatar
clifwardMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 26.4%
 
Posts: 593
Images: 6
Joined: 20 Sep 2015, 17:50
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: CentraleSupelec

Re: Snake en assembleur

Unread postby MMBC » 12 Jun 2017, 15:28

Ils sont dans ta tête ;)
ImageImage
Image
User avatar
MMBCModo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 66.7%
 
Posts: 107
Images: 1
Joined: 16 May 2017, 19:20
Gender: Female
Calculator(s):
MyCalcs profile
Class: Ex prof
YouTube: Eyone
Facebook: Emma Cadet

PreviousNext

Return to Langages alternatifs

Who is online

Users browsing this forum: No registered users and 9 guests

-
Search
-
Social TI-Planet
-
Featured topics
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Offre de test des nouveautés de rentrée 2024 par Casio. Enseignant(e), reçois gratuitement 1 exemplaire, à ton choix, de la Graph Light ou bien de la Graph Math+
14€ remboursés par Casio sur l'achat de ta calculatrice Graph 35 d'ici le 31 Octobre 2024
10€ remboursés par Casio sur l'achat de ta calculatrice Graph 90+E d'ici le 31 Décembre 2024
10€ remboursés par Casio sur l'achat de ta calculatrice Graph 25 d'ici le 31 Décembre 2024
8€ remboursés par Casio sur l'achat de ta calculatrice Graph Math+ d'ici le 31 Octobre 2024
Reprise de ton ancienne fx-92 Collège ou Graph 25/35/90 à 3€ peu importe son état. Même non fonctionnelle et donc invendable, même ancienne Graph 35 non conforme aux programmes (pas de Python), même ancienne Graph 25/35 inutilisable aux examens (pas de mode examen) et donc invendable. Etiquette de retour fournie, pas de frais de port à payer.
3€ remboursés par Casio sur l'achat de ta calculatrice fx-92 Collège d'ici le 30 Septembre 2024
5€ de remise immédiate sur l'achat de ta calculatrice TI-83 Premium CE Edition Python chez les revendeurs partenaires
4€ de remise immédiate sur l'achat de ta calculatrice TI-82 Advanced Edition Python chez les revendeurs partenaires
3€ de remise immédiate sur l'achat de ta calculatrice TI-82 Advanced chez les revendeurs partenaires
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234567891011121314
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1564 utilisateurs:
>1547 invités
>13 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)