π
<-
Chat plein-écran
[^]

JEU Boxhead en axe

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

JEU Boxhead en axe

Message non lude 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
Voici à quoi ça ressemble:
BOXHEAD.gif (122.72 Kio) Vu 3230 fois


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
Fichiers joints
_theta_BOXHEAD.8xp
Code source
(4.27 Kio) Téléchargé 74 fois
BOXHEAD.8xp
jeu compilé
(6.97 Kio) Téléchargé 38 fois
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: JEU Boxhead en axe

Message non lude 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
Avatar de l’utilisateur
Clément.7
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 29.5%
 
Messages: 348
Inscription: 12 Juin 2013, 15:02
Localisation: Près de Nantes
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: IUT Informatique en 2017-2019
GitHub: ClementNerma

Re: JEU Boxhead en axe

Message non lude 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
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: JEU Boxhead en axe

Message non lude 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: Tout sélectionner
{O*3+L2+3}→J
{O*3+L2+1}→K
{O*3+L2+2}→L


ou ça
Code: Tout sélectionner
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: Tout sélectionner
{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: Tout sélectionner
If J=0
...
ElseIf J=1
...
ElseIf J=2
...
ElseIf J=3
...
End

Tu peux écrire
Code: Tout sélectionner
!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
Avatar de l’utilisateur
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Prochain niv.: 43.8%
 
Messages: 2509
Images: 2
Inscription: 30 Aoû 2011, 08:22
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Templar

Re: JEU Boxhead en axe

Message non lude 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.
Avatar de l’utilisateur
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 25%
 
Messages: 506
Inscription: 11 Déc 2011, 03:08
Localisation: France, Châteaurenard
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Prépa MPSI

Re: JEU Boxhead en axe

Message non lude 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 ...
?
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: JEU Boxhead en axe

Message non lude Hayleia » 31 Oct 2014, 20:26

Plokki a écrit: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 a écrit: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 a écrit: 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 a écrit: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
Avatar de l’utilisateur
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Prochain niv.: 43.8%
 
Messages: 2509
Images: 2
Inscription: 30 Aoû 2011, 08:22
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Templar

Re: JEU Boxhead en axe

Message non lude 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: Tout sélectionner
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
Avatar de l’utilisateur
Clément.7
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 29.5%
 
Messages: 348
Inscription: 12 Juin 2013, 15:02
Localisation: Près de Nantes
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: IUT Informatique en 2017-2019
GitHub: ClementNerma

Re: JEU Boxhead en axe

Message non lude Hayleia » 01 Nov 2014, 11:28

Clément.7 a écrit: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
Avatar de l’utilisateur
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Prochain niv.: 43.8%
 
Messages: 2509
Images: 2
Inscription: 30 Aoû 2011, 08:22
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Templar

Re: JEU Boxhead en axe

Message non lude 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
Avatar de l’utilisateur
Clément.7
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 29.5%
 
Messages: 348
Inscription: 12 Juin 2013, 15:02
Localisation: Près de Nantes
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: IUT Informatique en 2017-2019
GitHub: ClementNerma


Retourner vers Langages alternatifs

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
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.
862 utilisateurs:
>837 invités
>21 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
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)