π
<-

[Axe] Stick Hero sur ta TI !

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

[Axe] Stick Hero sur ta TI !

Unread postby Clément.7 » 04 Feb 2015, 18:42

Salutations !

Parallèlement à Clash Of TI, j'ai consacré une heure de ma vie :o à développer le jeu Stick Hero pour TI-z80 en Axe !

Et je l'ai fini : lancez-le avec Asm(prgmSTICKER) puis maintenez :f21: pour allonger le stick. Relâchez pour qu'il s'abaisse.
Le but du jeu est que votre personnage descende de sa tige sur la plateforme d'arrivée.

Appuyez sur :f45: pour quitter le jeu à tout moment.

STICKER : Programme compilé à lancer avec la commande Asm(
STICKSRC : La source en Axe

Donnez-moi votre avis !

Téléchargement : Stick Hero
Last edited by Clément.7 on 04 Feb 2015, 18:56, edited 1 time in total.
Toujours plus loin, toujours plus haut, toujours plus geek !
Créateur du projet Haskier : Jouer ! Sujet sur OpenClassrooms
Programmez en UnderBasic ! https://tiplanet.org/forum/viewtopic.php?t=19009&p=207260
User avatar
Clément.7
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 29.5%
 
Posts: 348
Joined: 12 Jun 2013, 15:02
Location: Près de Nantes
Gender: Male
Calculator(s):
MyCalcs profile
Class: IUT Informatique en 2017-2019
GitHub: ClementNerma

Re: [Axe] StickerMan sur ta TI !

Unread postby Plokki » 04 Feb 2015, 18:54

Je teste vite fait et je te dit

Mouais, chui pas convaincu. Déjà que le jeu est pas bien compliqué à la base, tu aurais au moins pu mettre les trucs à ramasser et le retournement du gus sur le bâton !
Et le bâton, parlons-en ! Je rêve ou il tombe pas vraiment ? il ferait pas un vieux déplacement en diagonale par hasard ?

Si tu veux lui faire faire une belle rotation fait comme ça:
A c'est ton angle
R la longueur du bâton
X1 et Y1 la position du bâton au sol
X2 et Y2 la position du bâton en l'air

for(A,1,64)
R*cos(64-A)>X2
R*sin(64-A)>Y2
(tu n'oublies pas d'ajouter la position relative du bâton à X2 et Y2)
line(X1,Y1, X2,Y2)
end

et voilà :p vive la trigo
Last edited by Plokki on 04 Feb 2015, 19:19, edited 2 times in total.
User avatar
Plokki
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 40.6%
 
Posts: 124
Joined: 02 Sep 2014, 15:15
Location: Près de... ah bah non !
Gender: Male
Calculator(s):
MyCalcs profile
Class: T°S-spé math

Re: [Axe] StickerMan sur ta TI !

Unread postby Clément.7 » 04 Feb 2015, 18:55

Il ne faut pas s'attendre à grand-chose non plus ce n'est guère plus qu'un simple petit jeu !
Toujours plus loin, toujours plus haut, toujours plus geek !
Créateur du projet Haskier : Jouer ! Sujet sur OpenClassrooms
Programmez en UnderBasic ! https://tiplanet.org/forum/viewtopic.php?t=19009&p=207260
User avatar
Clément.7
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 29.5%
 
Posts: 348
Joined: 12 Jun 2013, 15:02
Location: Près de Nantes
Gender: Male
Calculator(s):
MyCalcs profile
Class: IUT Informatique en 2017-2019
GitHub: ClementNerma

Re: [Axe] Stick Hero sur ta TI !

Unread postby Plokki » 04 Feb 2015, 19:21

heu sinon quand le bâton est trop grand il disparait, c'est du coup assez déroutant quand on l'allonge je te conseille donc d'utiliser rect( mais seulement pour la phase "allongement" (ouais je sais ça fait bizarre de dire ça)

Maintenant que je suis passé pro en axe :troll: je me permet de regarder ton code source
et il y a des trucs marrants !
Code: Select all
If X≥O and (X≤(O+L))

au début j'ai cru que le O était un zéro mais bref...
Pourquoi ne pas écrire
Code: Select all
if X-O≤L


et comme dirait hayleia (re :troll:): bien mieux que le if; le !if :

Code: Select all
If S=0
1→W
End

remplacé par
Code: Select all
S??1→W
User avatar
Plokki
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 40.6%
 
Posts: 124
Joined: 02 Sep 2014, 15:15
Location: Près de... ah bah non !
Gender: Male
Calculator(s):
MyCalcs profile
Class: T°S-spé math

Re: [Axe] Stick Hero sur ta TI !

Unread postby Clément.7 » 04 Feb 2015, 20:52

Pour information le jeu n'est pas totalement terminé (j'ai oublié de le préciser dans mon post), je vais rajouter l'"anti-bug" du bâton qui s'allonge, une dizaine de persos débloquables avec les cerises (moi très bien parler ton langue) ainsi que le petit rectangle au milieu de la plateforme d'arrivée qui permets d'avoir un +1 si le bâton tombe pile poil dessus. (Demain j'ai 2 heures de maths alors je vais avoir du temps pour améliorer tout ça :troll:)

Sinon merci Plokki pour tes conseils c'est vrai que je suis un peu nul en Axe question optimisation, j'ai tellement peur de faire un prog. qui fonctionne pas à cause d'une optimisation mal faite...
Toujours plus loin, toujours plus haut, toujours plus geek !
Créateur du projet Haskier : Jouer ! Sujet sur OpenClassrooms
Programmez en UnderBasic ! https://tiplanet.org/forum/viewtopic.php?t=19009&p=207260
User avatar
Clément.7
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 29.5%
 
Posts: 348
Joined: 12 Jun 2013, 15:02
Location: Près de Nantes
Gender: Male
Calculator(s):
MyCalcs profile
Class: IUT Informatique en 2017-2019
GitHub: ClementNerma

Re: [Axe] Stick Hero sur ta TI !

Unread postby Plokki » 04 Feb 2015, 20:59

lol moi je suis en stage

oublie pas de mettre ma petite formule pour faire tomber le bâton de manière réaliste ;)
User avatar
Plokki
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 40.6%
 
Posts: 124
Joined: 02 Sep 2014, 15:15
Location: Près de... ah bah non !
Gender: Male
Calculator(s):
MyCalcs profile
Class: T°S-spé math

Re: [Axe] Stick Hero sur ta TI !

Unread postby matref » 04 Feb 2015, 21:36

@Plokki : ah ça veut faire son malin :P
Code: Select all
S??+1→W

Boum, deux octets de moins :troll:

Okay sérieusement, j'ai pas regardé le code mais comme a dit Plokki, y'a moyen de faire mieux niveau gameplay ... y'a presque rien dans le jeu original, autant que ce "presque rien" soit super méga bien fait :P
User avatar
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 25%
 
Posts: 506
Joined: 11 Dec 2011, 03:08
Location: France, Châteaurenard
Gender: Male
Calculator(s):
MyCalcs profile
Class: Prépa MPSI

Re: [Axe] Stick Hero sur ta TI !

Unread postby Clément.7 » 05 Feb 2015, 12:12

C'est pour ça que j'ai passé 2 heures de ma vie :o à le développer (je suis en train de l'améliorer)

Donc quand j'aurais fini, il y aura en plus :

- Meilleur Score
- Cerises (pour acheter une dizaine de nouveaux persos)

Et j'ai déjà fait :

- Gagner +1 si la barre tombe au milieu de la plateforme d'arrivée (sur le petit carré rouge)

Bugs que je vais corriger :

- La barre qui tombe de manière irréaliste (merci Plokki pour la formule)
- Le stick qui disparaît lorsqu'il est trop grand

J'essayerais peut-être d'en faire un jeu un poil plus complexe avec un scénario et en modifiant un peu le principe du jeu...
Toujours plus loin, toujours plus haut, toujours plus geek !
Créateur du projet Haskier : Jouer ! Sujet sur OpenClassrooms
Programmez en UnderBasic ! https://tiplanet.org/forum/viewtopic.php?t=19009&p=207260
User avatar
Clément.7
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 29.5%
 
Posts: 348
Joined: 12 Jun 2013, 15:02
Location: Près de Nantes
Gender: Male
Calculator(s):
MyCalcs profile
Class: IUT Informatique en 2017-2019
GitHub: ClementNerma

Re: [Axe] Stick Hero sur ta TI !

Unread postby Plokki » 05 Feb 2015, 18:00

Ouais ! un scénario ça peut être pas mal (même un truc à la noix mais qui fait office de fil rouge pour donner envie d'avancer sur les plateformes)
Je pense par exemple à plusieurs niveaux avec un nombre prédéfini de plateformes générées et il faut aller au bout pour récupérer un objet quelconque qui te permette de passer au niveau d'après. Tu pourrais peut être aussi rajouter des ennemis: des mobs un peu comme dans mario qui t'attendent sur la plateforme suivante en faisant des rondes, du coup il faut lâcher la barre au bon moment pour les écraser.

Matref> tout compte fait, je ne suis qu'un amateur :D

Clément.7 wrote:c'est vrai que je suis un peu nul en Axe question optimisation, j'ai tellement peur de faire un prog. qui fonctionne pas à cause d'une optimisation mal faite...


XD Je passe 70% du temps total de développement d'un jeu soit à tester et traquer les bugs soit à tenter de les corriger ! Autant dire que les optimisations soit tu les fais en même temps que tu codes (dur), soit tu les fais après coup une fois que ça marche (plus facile mais ça t'oblige a débugger 2 fois ton prog). Pour toi la phase de correction des problèmes est facile car ton code est encore tout petit et si jamais il reste des bugs bah demande de l'aide ;)

Autre conseil: Si plus tu testes ton jeu et que plus tu te dit qu'il est bien alors mieux c'est ! (heu je sais pas si c'est français)
User avatar
Plokki
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 40.6%
 
Posts: 124
Joined: 02 Sep 2014, 15:15
Location: Près de... ah bah non !
Gender: Male
Calculator(s):
MyCalcs profile
Class: T°S-spé math

Re: [Axe] Stick Hero sur ta TI !

Unread postby Hayleia » 05 Feb 2015, 18:19

Plokki wrote:Autant dire que les optimisations soit tu les fais en même temps que tu codes (dur), soit tu les fais après coup une fois que ça marche (plus facile mais ça t'oblige a débugger 2 fois ton prog).

C'est dur au début mais mieux vaut vraiment les faire pendant que tu codes pour que ça devienne automatique. Si tu te dis que tu le feras plus tard, non seulement tu le feras pas en vrai, mais en plus tu le feras pas non plus la prochaine fois ;)

Par exemple, j'ai écrit ce code en une passe (sans compter le débug, mais je veux dire que je l'ai pas écrit en mode naze puis optimisé après) maintenant que j'ai l'habitude :)
Code: Select all
.AA

[]→°OptLim
Data(63,2,1,1,1)

[]→°Level
"Easy"[00]
"Medium"[00]
"Hard"[00]

[]→°NoYes
"No"[00]
"Yes"[00]

Fix 5
ClrDraw(L1)

0→C
While 1
getKey→K
Select(,-1??(C-4?C+1)→C)
-4??(C??4,-1)→C
Copy(°TSBG,L6,768)
Copy(,L3,768)
3→Y~1→T
For(5)
  T++*36+°TSOpts
  For(9)
   Copy(,Y++*12→r1+L6+8,4)+176
   Copy(,r1+L3+8,4)-180
  End
  !If T-C
   {T+L1}→r1
   K-2Select(,??(r1??{T+°OptLim},-1)→r1)-1??(r1-{T+°OptLim}?r1+1)→r1
   r1→{T+L1}
   For(8)
    {Y++*12+L6+8→r2} and 252→{r2}
    Fill(+1,3, and 0)
    {r2+L3-L6} and 252 or 1→{r2+L3-L6}
    Fill(+1,3, or 255)
   End
   Fill(-2,3, xor 2)
   Text(72,Y-7)
   !If T
    Text r1>Dec
   Else!If -1
    Text stdDev(°Level,r1)
   Else
    Text stdDev(°NoYes,r1)
   End
  End
  {°Y}++
End
DispGraph^^r^^r
EndIf getKey(15)

[]→°TSBG
[FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF]
[FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF]

[]→°TSOpts
[1FFFFFFC00000000000000000000000000000000000000000000000000000000000000001FFFFFFC00000000000000000000000000000000000000000000000000000000000000001FFFFFFC00000000000000000000000000000000000000000000000000000000000000001FFFFFFC00000000000000000000000000000000000000000000000000000000000000001FFFFFFC0000000000000000000000000000000000000000000000000000000000000000]
[000000007FFFFFFF73FEFFFB6F6656496EAACD5B6EAADD6B736B5E4D7FFFFFFF00000000000000007FFFFFFF6FFFE7FF6F6B77FF6EAAB7FF6E7677FF633737FF7FFFFFFF00000000000000007FFFFFFF73FFFBFF6F6A73FF76AAABFF7AAAABFF6762B3FF7FFFFFFF00000000000000007FFFFFFF63EBFFFF6EB9FFFF676BFFFF6F6BFFFF62ADFFFF7FFFFFFF00000000000000007FFFFFFF73FFFFFF6F2B7FFF76AABFFF7AB67FFF67373FFF7FFFFFFF00000000]

Notes :
-vous pouvez évidemment remplacer TSBG par autre chose que du tout noir
-ceci était surtout censé être illisible pour embrouiller nikitouzz, pas forcément optimisé :troll: (même si un peu quand même)

edit Pour ceux qui se demandent ce que ce code fait :
AA.gif
You do not have the required permissions to view the files attached to this post.
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

Next

Return to Langages alternatifs

Who is online

Users browsing this forum: ClaudeBot [spider] and 6 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.
1273 utilisateurs:
>1231 invités
>36 membres
>6 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)