π
<-

[ASM] Le jeu du tunnel

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

[ASM] Le jeu du tunnel

Message non lude Epharius » 02 Juin 2015, 19:43

Hello tout le monde !

Voici un tout nouveau jeu à peine fini (pas de menu...) que je n'aurais pas uploadé si Plokki ne me l'avait pas demandé, c'est pour dire à quel point j'aurais aimé garder cette horreur pour moi :D

Présentation
Alors, ce jeu est fait en assembleur seulement pour ti-82 stats(.fr) et ti-83 (impatient d'avoir ma 83 PCE en passant, ça me changera de ma stats.fr), si vous voulez, vous pouvez l'essayer sur 83+ mais je ne donne pas cher de votre calculatrice...
Ce tunnel est aléatoire : y'a deux ld a,r pour la barre du haut et la barre du bas qui délimitent le terrain.
J'ai utilisé dans ce programme la routine de movax (sf... cf tutoriel d'ASMGURU) pour afficher le sprite. Alors là tout le monde s'insurge : quoi t'as même pas utilisé la routine d'Ion ? À ces gens là je répondrai : "je n'ai aucune raison valable à donner", j'ai commencé avec cette routine et j'ai continué avec celle-ci :p

Que dire d'autre... si quelqu'un à des idées pour :
  • Accélérer le tout : et je veux pas de ben uttilyze la roue tinne deux ion !!! :p
  • Pour que le jeu soit plus dur : mais ça rejoint le précédent point.
  • Trouver une technique pour revenir à l'écran de calcul (pour l'instant j'ai mis un _dispDone)
  • Je vous avez dit que j'aimais les listes à puce


Screenshot
Voici le traditionnel screenshot pour voir à quoi ça ressemble :
TUNNEL.gif


Notez cet incroyable bégaiement de la part de la calculatrice (dddd.. done, done !). Comme je l'ai dit plus haut c'est pour revenir à l'écran de calcul.
Voila le lien permettant de télécharger le programme avec les sources (eh ouais ça rigole pas) mais pas commenté. Vous comprenez, il m'a prit au dépourvu :p

Allez, bon jouage !
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
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
Avatar de l’utilisateur
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 8.9%
 
Messages: 1182
Images: 4
Inscription: 08 Déc 2014, 17:38
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Ensimag
GitHub: MathisLav

Re: [ASM] Le jeu du tunnel

Message non lude Lu_Lu54 » 02 Juin 2015, 19:54

Je verrais bien un menu...
sinon pour rendre plus difficile, je dis sûrement n'imp, parce que je suis du mauvais côté de la barrière pour donner des idées réalisables, mais ça ajouterai du piquant du mouvement de la map. genre elle évolue et se modifie
sinon j'aime bien la phisyque du truc, et le côté flouté qui donne un effet de masses qui évolues :P
un grand gg!
Image

Tu as une TI-nspire cx cas ?
Mes programmes :
certains utiles : CalcTriangles, HowManyDiv, DivEuclid step by step, factorisation de polynômes par la division euclidienne, Dénombrement, TransDioptres step by step
d'autres plus expérimentaux ;) : sommes2dés, DecPi
et encore plus à venir !
Avatar de l’utilisateur
Lu_Lu54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 3.4%
 
Messages: 449
Images: 8
Inscription: 06 Sep 2014, 14:30
Localisation: Près de Nancy
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 1ère S

Re: [ASM] Le jeu du tunnel

Message non lude Epharius » 02 Juin 2015, 19:59

Merci mais l'effet de flou n'est pas fait exprès :p
Ensuite pour le menu j'en ferai un quand le programme sera potable (comme l'eau... p'Ti rageur se suicide à la suite d'un harcèlement ). J'ai mes priorités ;)
C'est vrai que ce serait pas mal une map qui se modifie sauf que j'ai peur pour la vitesse, c'est à réfléchir !
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
Avatar de l’utilisateur
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 8.9%
 
Messages: 1182
Images: 4
Inscription: 08 Déc 2014, 17:38
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Ensimag
GitHub: MathisLav

Re: [ASM] Le jeu du tunnel

Message non lude Lu_Lu54 » 02 Juin 2015, 20:04

ben il faut trouver le compromis, sans trop modifier pour que ça reste une vitesse potable (comme l'eau... Lu_Lu54 se prend aussi des tomates) mais en faisant un truc un rien plus compliqué
à voir...
sinon tu peux pas resserrer le tunnel en accentuant la hauteur des montagnes ?
Image

Tu as une TI-nspire cx cas ?
Mes programmes :
certains utiles : CalcTriangles, HowManyDiv, DivEuclid step by step, factorisation de polynômes par la division euclidienne, Dénombrement, TransDioptres step by step
d'autres plus expérimentaux ;) : sommes2dés, DecPi
et encore plus à venir !
Avatar de l’utilisateur
Lu_Lu54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 3.4%
 
Messages: 449
Images: 8
Inscription: 06 Sep 2014, 14:30
Localisation: Près de Nancy
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 1ère S

Re: [ASM] Le jeu du tunnel

Message non lude Epharius » 02 Juin 2015, 20:08

Quand tu parles de la hauteur des montagnes, tu veux dire resserrer les deux bouts pour que ce soit plus dur ?
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
Avatar de l’utilisateur
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 8.9%
 
Messages: 1182
Images: 4
Inscription: 08 Déc 2014, 17:38
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Ensimag
GitHub: MathisLav

Re: [ASM] Le jeu du tunnel

Message non lude Plokki » 02 Juin 2015, 21:33

Ben il est pas du tout dégeu ton tunnel :)

Si tu veux accelérer le jeu je te propose d'enlever l'affichage de la distance, ça te flingue la vitesse d'un programme ça, à moins que ce ne soit pas la fonction text( de base de la calculatrice. Où alors tu fais ta propre fonction d'affichage, ce que je pense faire pour Boost.
Tu peux également faire un scrolling de 2 pixels à chaque fois.

Et à part ça il représente quoi ton sprite ? :D
Avatar de l’utilisateur
Plokki
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 40.6%
 
Messages: 124
Inscription: 02 Sep 2014, 15:15
Localisation: Près de... ah bah non !
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: T°S-spé math

Re: [ASM] Le jeu du tunnel

Message non lude Epharius » 03 Juin 2015, 13:04

Mon sprite était sensé représenter un sous marin au départ, et puis je me suis dit que si je ne l'effaçait pas au fur et à mesure ça rendait plutôt bien, d'où la trainée noire derrière.
Voilà le code du sprite si tu veux voir à quoi il ressemble :
Code: Tout sélectionner
.db %00011000
.db %00010000
.db %01111100
.db %11111110
.db %11111110
.db %01111100
.db %00000000
.db %00000000


Pour l'affichage des distances je veux bien l'enlever mais s'il n'y pas de record, j'ai peur que le jeu ne soit pas d'un grand intérêt. J'ai réfléchi à le faire moi même mais je ne pense pas que ça change grand chose.

à moins que ce ne soit pas la fonction text( de base de la calculatrice

Là je ne t'ai pas très bien compris, je suis en assembleur (et pas en axe) et la seule fonction qui me permet d'afficher un registre en petits caractères est _DISPOP1A :p
C'est d'ailleurs ça qui prend vachement de temps, mais comme le score ne dépasse pas les 5000 je pense que je vais le mettre dans hl (65535 ça peut aller :p). Je vais faire des push hl et des pop hl, ça prendra pas beaucoup de states. Pour le moment c'est fait avec la romcall qui incrémente op1 et après je l'affiche avec _DISPOP1A. Autant te dire que ça prend du temps.

D'ailleurs pour tout ceux qui se lancent dans l'assembleur, j'aimerais leur conseiller de ne jamais utiliser la romcall _Random, tellement elle est lente. J'ai réussi à doubler la vitesse de jeu en la remplaçant par...
Code: Tout sélectionner
ld a,r
sra a

...le sra a étant là pour ne pas qu'un motif se répète (puisque r est juste un registre incrémenté à chaque instruction).

Et voilà ce que ça donne maintenant, après avoir enlevé l'affichage du score (je l'ai mis à la fin). Maintenant ça incrémente hl et ça fait quelques pop&push pour sauvegarder sa valeur (juste ça) :
tunnel.gif


On ne note pas une très grande amélioration niveau vitesse mais c'est déjà ça...
Voilou !
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
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
Avatar de l’utilisateur
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 8.9%
 
Messages: 1182
Images: 4
Inscription: 08 Déc 2014, 17:38
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Ensimag
GitHub: MathisLav

Re: [ASM] Le jeu du tunnel

Message non lude florian66 » 03 Juin 2015, 13:39

C'est vraiment bien :D
Par contre r a une valeur pseudo aléatoire.
D'ailleurs, tu utilises ionfastcopy pour rafraichir l'écran ??
Parce que moi j'ai écrit une routine du meme type mais j'ai plus de calculette pour tester :p
Si tu veux tester voilà la source: http://pastebin.com/8AsHK0DK
Mes projets : -jeu en asm z80 Zelda(en pause)

-Librairie 8 niveaux de gris en asm z80(terminé)
Avatar de l’utilisateur
florian66Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 14.9%
 
Messages: 109
Inscription: 11 Nov 2013, 18:05
Localisation: Au point nemo
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Term S

Re: [ASM] Le jeu du tunnel

Message non lude Epharius » 03 Juin 2015, 13:45

Par contre r a une valeur pseudo aléatoire.

Comme je l'ai dit plus haut, il ne fait que s'incrémenter à chaque instruction mais c'est assez je pense pour que ça donne de l'aléatoire correct en le multipliant par 2 ;)

Non j'utilise _GRBUFCPY, je ne me casse pas la tête, mais je vais essayer le tienne et voir le gain que ça me donne ;)
Dernière édition par Epharius le 03 Juin 2015, 13:46, édité 1 fois.
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
Avatar de l’utilisateur
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 8.9%
 
Messages: 1182
Images: 4
Inscription: 08 Déc 2014, 17:38
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Ensimag
GitHub: MathisLav

Re: [ASM] Le jeu du tunnel

Message non lude TheMachine02 » 03 Juin 2015, 15:40

Bon alors plusieurs choses :p

Déjà, si tu veux vraiment de la vitesse et que la taille du code n'est pas trop importante, remplace ce code :
Code: Tout sélectionner
   ld hl,PLOTSSCREEN+300h
   ld b,3
startLoopScroll:
   push bc
   ld b,0
loopScroll:
   rl (hl)
   dec hl
   djnz loopScroll
   pop bc
   djnz startLoopScroll


par :
Code: Tout sélectionner
   ld   hl,PLOTSSCREEN+300h
   ld   b,64
scrollLoop:
   dec   hl
   sla   (hl)
   dec   hl
   rl   (hl)
   dec   hl
   rl   (hl)
   dec   hl
   rl   (hl)
   dec   hl
   rl   (hl)
   dec   hl
   rl   (hl)
   dec   hl
   rl   (hl)
   dec   hl
   rl   (hl)
   dec   hl
   rl   (hl)
   dec   hl
   rl   (hl)
   dec   hl
   rl   (hl)
   dec   hl
   rl   (hl)
   djnz   scroolLoop


bien plus rapide :)

Après deuxième point, peut-être le plus important.
Evite au maximum les routines de l'OS (oui, _ILINE je te regarde :p ), et utilise plutôt tes propres routines. Dans ce cas, en plus, tu peux utiliser une routine specialement faite pour afficher sur la dernière colonne et verticalement. Je pourrais te la faire, mais 1-j'ai la flemme, 2-faut que tu t'entraines :D .
Des petites indications : récupère d'abord l'adresse initial, puis 'or' la donnée du buffer avec %00000001, et ceux pour tout ce que tu dois afficher. Je pense que la vitesse pourra être énormément augmentée en virant ces call à l'OS.
Avatar de l’utilisateur
TheMachine02Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 30%
 
Messages: 342
Images: 0
Inscription: 16 Jan 2013, 18:27
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Médecine

Suivante

Retourner vers Langages alternatifs

Qui est en ligne

Utilisateurs parcourant ce forum: ClaudeBot [spider] et 9 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"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.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2054 utilisateurs:
>2022 invités
>26 membres
>6 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)