π
<-

JEU Boxhead en axe

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

JEU Boxhead en axe

Unread postby Plokki » 31 Oct 2014, 18:25

Salut ! Je suis nouveau sur le site et j'ai appris l'axe parser début aout. J'aimerais donc savoir ce que vous pensez de ce jeu que j'ai réalisé:
BOXHEAD.gif


C'est en fait une adaptation du jeu flash Boxhead (pour les connaisseurs) cependant je n'ai mis qu'une seule map (de taille respectable ! ce n'est autre que le back-buffer que je lis comme une map, du coup on peut la modifier très simplement et en temps réel avec les fonctions de dessins B-) ) de plus je n'ajouterai pas les diables (les projectiles sont durs à gérer et l' IA est plus complexe)

Le principe du jeu est simple: vous devez survivre le plus longtemps possible aux vagues de zombies qui déferlent dans l'arène.
Votre barre de vie augmente toute les 10 vagues (en haut à gauche)
Les petits Z autour de vous indiquent la direction approximative des zombies et vous pouvez vous aidez de la mini-map pour vous orienter ou de la grande map avec alpha (vous êtes le rectangle qui bouge)

Le jeu fonctionne en 15MHz sans lagger et avec une fluidité constante jusqu'à 20 zombies. Bon après la calculatrice à du mal. Le jeu et plus rapide en vrai que sur l'émulateur donc pas d'inquiétude.
Bref dites moi ce que vous en pensez, j'attends vos impressions avec impatience. Si j'ai oublié un truc demandez-moi. :D
You do not have the required permissions to view the files attached to this post.
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: JEU Boxhead en axe

Unread postby Clément.7 » 31 Oct 2014, 19:00

Waouh trop classe ! Et tu dis que t'as appris l'axe y a 1 mois ?
Si oui, bravo ton jeu est très bien fait (je le teste sur ma TI-84+ SE et je te dis ce que j'en pense)

EDIT : c'est bon j'ai testé : jeu très bien, fluide, mais BEAUCOUP TROP DUR !!!
Sinon bravo c'est très bien fait !
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: JEU Boxhead en axe

Unread postby Plokki » 31 Oct 2014, 19:14

non aout c'était il y a 3 mois ;)

dur ? en fait tu n'es pas obligé d'attendre que le zombie te tombe dessus pour tirer, les indicateurs de positions sont là pour ça: tu te mets dans l'alignement et tu tires ! ( attention les balles ne vont pas "across the map" ,elles disparaissent un peu après être sorties de l'écran)
Sinon les zombies n'ont pas vraiment d'IA, du coup si tu te place correctement tu as juste à tirer et les zombies vont mourir à la chaine sans pouvoir te frapper, de plus tu as peut être remarqué les piliers aux angles de la map ? cache toi derrière, ils ne les contourneront pas.

P.S. Merci à KinderMoumoute pour le tuto sur l'axe c'est génial !! D'ailleurs je suis en train de faire un tower défense je vous tiens au courant ! :p
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: JEU Boxhead en axe

Unread postby Hayleia » 31 Oct 2014, 19:19

Pendant que je lisais ton post, je me disais "pas mal, pas mal".. jusqu'à ce que je lise "15 MHz" :P
Ça, ça m'a fait ouvrir ton code source, et j'y ai découvert des choses comme ça:
Code: Select all
{O*3+L2+3}→J
{O*3+L2+1}→K
{O*3+L2+2}→L


ou ça
Code: Select all
If J=0
{O*3+L2+1}--
ElseIf J=1
{O*3+L2+2}--
ElseIf J=2
{O*3+L2+1}++
ElseIf J=3
{O*3+L2+2}++
End


Évidemment, tout cela est expliqué par le fait que tu débutes, et c'est normal de faire un premier programme "moisi" (regarde mon Pokémon Topaze :P). Mais maintenant que tu es capable d'écrire des choses cohérentes, il faut apprendre à optimiser ^^

Reprenons les exemples que je t'ai donnés.

Dans le premier, tu calcules à chaque fois O*3+L2 (et tu le recalcules d'ailleurs en dessous). Stocke-le dans une variable plutôt; comme ça:
Code: Select all
{O*3+L2→r1+3}→J
{r1+1}→K
{r1+2}→L

On pourrait faire encore un peu mieux mais ça gênerait la suite du programme. Et j'ai pris "r1" sans vérifier qu'elle était déjà prise.

Dans le deuxième (en oubliant le retour du O*3+L2 :P), tu peux abuser d'hl un peu, surtout dans ce cas.
Ainsi, au lieu d'écrire
Code: Select all
If J=0
...
ElseIf J=1
...
ElseIf J=2
...
ElseIf J=3
...
End

Tu peux écrire
Code: Select all
!If J
...
Else!If -1
...
Else!If -1
...
Else!If -1
...
End

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
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

Re: JEU Boxhead en axe

Unread postby matref » 31 Oct 2014, 19:19

Pas mal, mais pour moi le fait que ça tourne uniquement à 15 MHz est inacceptable :P tu devrais essayer d'optimiser des trucs jusqu'à ce que ça tourne correctement à 6 MHz - et si ça tourne à 6, ton programme le peut bien.

Sinon, franchement, comme premier projet c'est du super boulot :D

EDIT : meh ninja'd

EDIT 2 : c'est pas que kindermoumoute qui l'a fait le tuto Axe, y'a Kindermoumoute, Metallica, nikitouzz et moi.
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: JEU Boxhead en axe

Unread postby Plokki » 31 Oct 2014, 19:57

Désolé pour les oublis des auteurs j'ai pas fait gaffe...

Sinon merci pour les optimisations avec exemples à l'appui, je sentais bien qu'il y avait des trucs qui coinçaient mais je voyais pas quoi...
mais je suis un peu coincé (justement !) puisque si je me souviens bien j'utilise toutes les variables disponibles ou presque !
J'aurai également besoin de conseils: C'est bien ou c'est pas bien les fonctions imbriquées ? Existe-t-il une méthode pour afficher des sprites 16*16 sans passer par 4 sprites 8*8 ? quel est le plus intéressant: If .... and ... and ... and ... Ou:
if ...
if ...
if ...
?
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: JEU Boxhead en axe

Unread postby Hayleia » 31 Oct 2014, 20:26

Plokki wrote:mais je suis un peu coincé (justement !) puisque si je me souviens bien j'utilise toutes les variables disponibles ou presque !

Tu fais bien de le dire, c'est exactement ce que je voulais dire puis j'ai oublié :P
En fait, tu peux créer tes variables à toi, avec le nom que tu veux. La syntaxe c'est
<pointeur vers zone de RAM "libre">→°<nom de ta variable>
Par exemple, si tu veux une variable qui s'appelle "VitesseX", et si tu as deux octets de libres à L5+4, tu peux faire L5+4→°VitesseX, et à partir de là, tu peux faire 1→VitesseX, ou VitesseX++, etc ;)
Même, si tu n'utilises pas A (ou au moins si tu ne l'utilises pas dans la portion de code où tu utilises VitesseX), tu peux faire °A→°VitesseX ;)
Simples restrictions: le nom de ta variable doit prendre moins de 13 caractères et doit commencer par une majuscule. Après, ça peut être bien d'éviter les noms de variables comme Y1 ou VitesseY1 (en supposant qu'il y aie un VitesseY2). Ça marchera sans problèmes, en fait, mais si tu demandes de l'aide à quelqu'un qui utilise TokenIDE/tok8x/SourceCoder, ça va beaucoup l'ennuyer :P

Plokki wrote:C'est bien ou c'est pas bien les fonctions imbriquées ?

Connais pas les fonctions en Axe :P
Les routines, tu les appelles quand tu en as besoin, de la manière la plus optimisée possible, c'est tout ;)
Si tu dois faire un appel imbriqué, vas-y. Mais perso, j'en fais pas souvent (déjà je fais pas souvent des routines :P).

Plokki wrote: Existe-t-il une méthode pour afficher des sprites 16*16 sans passer par 4 sprites 8*8 ?

Tu peux utilise Bitmap mais je crois que c'est plus lent.
Sinon, tu peux écrire ta routine 16x16 en assembleur et l'utiliser dans ton programme Axe, aucun souci. On a fait pire avec Matref dans Smash Bros :P

Plokki wrote:quel est le plus intéressant: If .... and ... and ... and ... Ou:
if ...
if ...
if ...
?

Je crois qu'Axe transforme tout seul une suite de and en suite de If. En tout cas, quand j'avais essayé de transformer une suite de and en suite de If dans un de mes programmes (toujours Smash Bros en fait), sa taille n'avait pas changé d'un octet. Ou c'est peut-être parce que je compilais en mode vitesse et pas en mode espace, je sais pas.

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
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

Re: JEU Boxhead en axe

Unread postby Clément.7 » 31 Oct 2014, 20:58

Hayleia -> Je pense que quand il parle des fonctions il veut dire les trucs comme ça :

Code: Select all
Aff();

Lbl Aff
Disp "Salut !"


Plokki, tu me donnes envie de recréer un RPG sur 83+.
Grâce à toi je vais me remettre au compilateur Ace Script j'étais démotivé mais quand je vois tous les nouveaux qui font des prog géniaux je me dis que ça serait bien que moi aussi je me remette à la programmation sur 83+.
Merci beaucoup (même si c'était pas intentionnel de ta part :D)
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: JEU Boxhead en axe

Unread postby Hayleia » 01 Nov 2014, 11:28

Clément.7 wrote:Hayleia -> Je pense que quand il parle des fonctions il veut dire les trucs comme ça :

J'ai bien compris, mais ça, ça s'appelle une routine, et c'est pourquoi après mon "connais pas les fonctions", j'ai parlé des routines.

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
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

Re: JEU Boxhead en axe

Unread postby Clément.7 » 01 Nov 2014, 13:34

Oups désolé j'avais pas vu :rouge: :gene: :?
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


Return to Langages alternatifs

Who is online

Users browsing this forum: ClaudeBot [spider] and 4 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.
930 utilisateurs:
>901 invités
>22 membres
>7 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)