π
<-

Aide pour un programme en Axe Parser

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

Re: Aide pour un programme en Axe Parser

Unread postby Wellen » 30 Dec 2010, 10:08

kindermoumoute wrote:Je n'ai pas tout compris de ton problème


Je vais essayer de réexpliquer :%):
Disons que j'ai une fonction, appelons-la B (comme Bonus :#spin#: ), à la fin du code.
Elle se présente comme ça :
Code asm-z80 : Select all
Lbl B
.On demande au joueur d'appuyer sur un bouton (de F1 à F5 *j'avais oublié F5*)
.on teste avec un For le getkey de cette touche (en même temps le For efface peu à peu une barre de décompte de temps)
.si la boucle For se termine sans que le joueur ait enfoncé la touche, activation d'un bonus ou malus.
Return


Et moi mon problème, c'était introduire la fonction dans la boucle principale (avec sub ) Aléatoirement, pour que ça surprenne le joueur. ( et même moi :D: )

Comment marche la fonction DS ? Quand la condition est-elle remplie ?
Une décrémentation à partir d'un nombre aléatoire me parait être la bonne idée :D:
La procrastination, c'est rigolo.
User avatar
WellenPremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 31.8%
 
Posts: 447
Joined: 17 Dec 2010, 00:00
Location: Compiègne (Picardie)
Gender: Male
Calculator(s):
MyCalcs profile
Class: étudiant UTC

Re: Aide pour un programme en Axe Parser

Unread postby Bisam » 30 Dec 2010, 10:57

Je pense que le plus simple est de faire une boucle for de 1 jusqu'à une certaine valeur aléatoire dont les bornes sont à déterminer à tâtons (pour pas que ce soit ni trop long, ni trop court).

De mémoire,
Code basic-z80 : Select all
DS(I,début,fin)
 Instruction conditionnelle
Autres instructions

va faire décroître la valeur de I et si I est supérieur ou égal à fin exécute l'instruction conditionnelle, sinon il la saute et le programme passe à la suite. Pour cette raison, c'est souvent combiné à un Goto.

En pratique, une boucle for est souvent plus propre.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Aide pour un programme en Axe Parser

Unread postby kindermoumoute » 30 Dec 2010, 12:42

@Bisam : on parle de la commande Axe, différent de celle du TI-Basic.


EDIT : je commente un peu mon code ^^

Code bash : Select all
:rand^500+50=A
:.Un nombre entre 50 et 550 est tiré au sort
:
:Repeat getKey(15)
:.Boucle principale
:...
:DS(A,rand^500+50)
:.Le code s'exécute entre la 50ème et la 550ème exécution de la boucle principale
:sub(BNS)
:End
:End
:Return
:
:...
:
:Lbl BNS
:rand^5+49=K
:.On
:Disp "F",54-KDec
:.On affiche la touche demandée
:
:For(Z,0,99)
:.Cette boucle se répétera 100 fois
:
:Pause 10
:.100*10ms = 1 seconde pour appuyer sur la touche
:
:Line(0,,Z,0)
:.La ligne par de l'
angle haut gauche pour arriver à l'angle haut droite lorsque le temps est écoulé
:
:If getKey(K)
:.Si la touche correspond, on termine la boucle et le jeu est gagné
:98=K
:Disp "WIN
:End
:
:End
:
:Return
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
User avatar
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 2.6%
 
Posts: 849
Joined: 30 Sep 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ecole d'ingénieur informatique et industriel

Re: Aide pour un programme en Axe Parser

Unread postby Wellen » 30 Dec 2010, 21:31

Moi j'ai réflechi entre temps ( oui sa m'arrive :#spin#: )
Donc moi j'ai essayé autre chose, vu que j'avais pas encore cette fonction DS.
On tire un nombre au hasard entre 100 et 700 que l'on stocke dans A, avant la boucle principale.
Dans la boucle principale, on incrémente B à partir de 0 à chaque passage.
On teste si A=B et quand A=B, on rappelle la fonction bonus et on retire un nombre A et c'est repartit :%):
Alors c'est largement plus artisanal, à fond même, mais est-ce que ça revient au même ?



Merci pour votre aide sur ce point :):
La procrastination, c'est rigolo.
User avatar
WellenPremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 31.8%
 
Posts: 447
Joined: 17 Dec 2010, 00:00
Location: Compiègne (Picardie)
Gender: Male
Calculator(s):
MyCalcs profile
Class: étudiant UTC

Re: Aide pour un programme en Axe Parser

Unread postby tama » 30 Dec 2010, 22:00

c'est exactement la même chose, à part que c'est "dans l'autre sens" que nous l'avons fait (on tire un nombre entre 100 et 700 et on le décrémente, et quand ça atteint 0, bonus et on retire ....)
La fonction DS est simplement un "raccourci" qui exécute des instructions (à vérifier, je ne sais pas si c'est possible d'en exécuter plusieurs) et s'occupe de décrémenter tout seul comme un grand la variable, c'est tout.
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40%
 
Posts: 10994
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile
Class: epita ING3 \o

Re: Aide pour un programme en Axe Parser

Unread postby Wellen » 31 Dec 2010, 09:08

Merci tama :#top#:
Je ne crois pas que l'on puisse exécuter plusieurs instructions dans DS (j'ai téléchargé Cataloghelp juste pour ça ^^). Mais c'est faisable en Axe en appelant une fonction =)

Dès que je peux je vous met un screen, me reste plus que les scores :8):
La procrastination, c'est rigolo.
User avatar
WellenPremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 31.8%
 
Posts: 447
Joined: 17 Dec 2010, 00:00
Location: Compiègne (Picardie)
Gender: Male
Calculator(s):
MyCalcs profile
Class: étudiant UTC

Re: Aide pour un programme en Axe Parser

Unread postby Wellen » 31 Dec 2010, 12:16

et Voilà le screen (sur calto c'est plus rapide mais bon ^^)

Bon les deux premiers malus ( 1er et 3eme, le deuxieme j'ai enfoncé la touche) que j'ai eu c'est pas flagrant :D: en fait le palet se déplace plus rapidement.
Image

Voili-voilou :;):

EDIT : Je vais changer deux trois choses : affichage du malus activé, et de l'enfoncement ou non de la touche demandée.
(malus : retrecissement de la barre, inversion des flèches, deux balles à l'écran, et peut-être rajout d'une barre sur le côté).
Quand j'aurais réussi à gérer les scores, je rajouterai des points par touche F enfoncée.
Bon. Va falloir que je change tout mon code pour remplacer les coordonnées par des variables :#sick#:

Dites moi ce que vous en pensez :=):
La procrastination, c'est rigolo.
User avatar
WellenPremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 31.8%
 
Posts: 447
Joined: 17 Dec 2010, 00:00
Location: Compiègne (Picardie)
Gender: Male
Calculator(s):
MyCalcs profile
Class: étudiant UTC

Re: Aide pour un programme en Axe Parser

Unread postby jacques » 31 Dec 2010, 13:17

Sympa :):

la balle est un peu grosse par rapport à la planche par contre.
Sublime Chevalier Elu des TI

Venez visiter mon site sur les TI : Ti Softwares !!
Jetez un coup d'œil à mes programmes pour TI !!

Vous voulez faire des super programmes pour votre TI z80 ? Alors apprenez l'Axe Parser !!
User avatar
jacques
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 14.9%
 
Posts: 2057
Images: 0
Joined: 25 Aug 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: prépa PSI

Re: Aide pour un programme en Axe Parser

Unread postby Wellen » 31 Dec 2010, 13:19

(je vient d'éditer le post précedent)

@ Jacques : tu penses ? bon ça c'est pas un problème je vais voir ce que ça donne si je la réduis

EDIT: = plus petite, la balle est pas visible (sur calto hein) :%): . En plus ça me fait changer tous mes pxl-Test( :#gol#:
La procrastination, c'est rigolo.
User avatar
WellenPremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 31.8%
 
Posts: 447
Joined: 17 Dec 2010, 00:00
Location: Compiègne (Picardie)
Gender: Male
Calculator(s):
MyCalcs profile
Class: étudiant UTC

Re: Aide pour un programme en Axe Parser

Unread postby kindermoumoute » 31 Dec 2010, 13:44

Le résultat est vraiment joli. ;)

Ce serait bien que tu mette le source en ligne.
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
User avatar
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 2.6%
 
Posts: 849
Joined: 30 Sep 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ecole d'ingénieur informatique et industriel

PreviousNext

Return to Langages alternatifs

Who is online

Users browsing this forum: ClaudeBot [spider] and 7 guests

-
Search
-
Social TI-Planet
-
Featured topics
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 !
1234
-
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.
1090 utilisateurs:
>1075 invités
>7 membres
>8 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)