π
<-

Aide pour un jeu en Axe

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

Aide pour un jeu en Axe

Unread postby now9434 » 10 Dec 2011, 18:34

Bonjour à tous,

J'aurais besoin d'aide pour créer une map en Axe. Le but serait d'afficher une map plus grande que l’écran en largeur est de défiler avec la commande "Horizontal -".
Par exemple est le code pour l'ecran entier:
Code: Select all
[000000000000]->GBD1
[000000000000]
[000000000000]
[000000000000]
[000000000000]
[000000000000]
[000000000000]
[000000000000]


mais si je rajoute des valeurs dans chaque code Hexa ils vont se mettre a la ligne d'en dessous:
Code: Select all
[0000000000001111]->GBD1
[0000000000000000]
etc


va etre traduit par:
Code: Select all
[000000000000]->GBD1
[111100000000]
[0000...]
etc


Merci pour votre aide :):
script pour creer des BMP avec gimp pour Mviewer http://ti-pla.net/a3704
User avatar
now9434
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 85.9%
 
Posts: 19
Joined: 17 Jul 2011, 17:03
Gender: Male
Calculator(s):
MyCalcs profile
Class: DUT GEII

Re: Aide pour un jeu en Axe

Unread postby Persalteas » 12 Dec 2011, 16:34

Faire du scrolling en Axe, quoi ?

Hmm je ne m'y connais pas personnellement, mais je connais un professionnel...
:ugeek:
Il a posté un tuto sur le sdz qui n'a pas encore été mis en ligne.
Je lui dis de jeter un coup d'oeil par là...

Matrefeytontias, viens ici !
User avatar
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 6.2%
 
Posts: 2337
Images: 113
Joined: 04 Feb 2010, 00:00
Location: Evry (France)
Gender: Male
Calculator(s):
MyCalcs profile
Class: PhD candidate, Bioinformatics

Re: Aide pour un jeu en Axe

Unread postby matref » 12 Dec 2011, 19:18

On m'appelle ? Me voilà ! :D:

Alors je préviens, je vais être un peu long parce que c'est pas évident ^^

Le but est de créer un index qui va indiquer quelle partie de map afficher à l'écran. IL NE FAUT JAMAIS SCROLLER UNE MAP AVEC Horizontal ni Vertical !!!! Hérétique !! Satan !! :evil:

Donc, on va créer cet index et notre map ... disons 16*10 au lieu de 12*8 :
Code: Select all
:.On commence avec l'horizontal
:0->I
:[0000000000000000]->GDB1
:[0000000000000000
:[0000000000000000
:[0000000000000000
:[0000000000000000
:[0000000000000000
:[0000000000000000
:[0000000000000000
:[0000000000000000
:[0000000000000000


Ensuite tu prends ta boucle pour afficher la map et tu la modifies pour qu'elle prenne en compte 8 colonnes au lieu de 6 et 12 lignes au lieu de 8 :
Code: Select all
:.A le nombre de colonnes et B le nombre de lignes
:For(B,0,7)
:For(A,0,7)
:On oublie pas d'ajouter l'index lors de l'extraction de tile (+I)
:{B*10+A+I+GDB1}->C
:
:Pt-Off(A*16,B*8,C/16*8+Pic1
:Pt-Off(A*16+8,B*8,C^16*8+Pic1
:End
:End


À partir de ce code, t'as juste à modifier la valeur de I (avec des getkeys par exemple) pour faire scroller la map. C'est ce qu'on appelle un index, il représente une case sur la map, et c'est à partir de cette case qu'on va afficher.

Justement, fais attention à pas dépasser les limites de la map (fais des tests sur I avant de le modifier), ça afficherai n'importe quoi :)

Je t'envoie le lien de mon tuto dès qu'il sera validé

En espérant t'avoir aidé,

Matrefeytontias ;)
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: Aide pour un jeu en Axe

Unread postby now9434 » 12 Dec 2011, 20:52

Merci pour votre aide :)
Mais avec cette méthode je bouge la map de 8 pixels à chaque fois, moi qui voudrait la décaler de 1 en 1?
script pour creer des BMP avec gimp pour Mviewer http://ti-pla.net/a3704
User avatar
now9434
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 85.9%
 
Posts: 19
Joined: 17 Jul 2011, 17:03
Gender: Male
Calculator(s):
MyCalcs profile
Class: DUT GEII

Re: Aide pour un jeu en Axe

Unread postby matref » 12 Dec 2011, 22:19

Là je t'avouerai que je cherche toujours ^^'
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: Aide pour un jeu en Axe

Unread postby Wellen » 13 Dec 2011, 11:12

Ah, le smooth scrolling, toute une histoire ! :D

Si tu veux pas t'embêter, pour le coup tu peux utiliser Vertical et Horizontal.
Si tu regardes la liste des commandes, celles-ci décalent le buffer d'une rangée ou colonne de pixels et en insèrent une blanche de l'autre côté, donc ta map va se décaler, mais en laissant place à du blanc et pas au reste, comme on pourrait le penser :#roll#: Et je pense que c'est pour ça que matrefeytontias ne veut pas entendre parler ? ou c'est plus une histoire d'optimisation des commandes ? A voir...

Je propose de faire une boucle, dans laquelle tu décales le buffer avec la commande que tu veux (en fonction de la touche pressée), et où tu dessines la rangée/colonne qu'il te manque pour compléter. Exemple, décalage de la map à gauche (donc on complète à droite) avec Horizontal- :
Code: Select all
:For (F,1,8)
:Horizontal-
:puis Affichage de la colonne de droite (boucle for, voir le post de Matrefeytontias, son code est à modifier pour n'afficher que ce que tu veux)
:DispGraph
:End

Dans la théorie ça devrait marcher, je t'avouerai ne pas avoir essayé, mais c'est comme ça que je vois les choses.

L'idée c'est de ne pas réafficher toute la map à chaque fois, mais une seule partie, pour gagner de la fluidité (surtout si t'as des niveaux de gris, ça peut faire mal aux yeux :P )

Sur Omnimaga, où la communauté Axe est bien plus importante (mais bien plus anglophone aussi :-D) tu pourras trouver moult topics à ce sujet j'imagine. Mais entre français, qu'est-ce qu'on s'amuse ! :-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 jeu en Axe

Unread postby now9434 » 19 Dec 2011, 15:01

Donc il faut que je dessine chaque colonne à chaque "Horizontal-"?
Les listes n'etant pas assez grandes je peut utiliser des "appvars" il me semble, mais je sais pas trop comment on les utilise, j'ai vu qu'il fallait mettre le nombre d'octet qu'on voulait stocké il me semble mais j'ai vraiment pas compris donc si quelqu'un sait ce sera avec plaisir :):
Merci.
script pour creer des BMP avec gimp pour Mviewer http://ti-pla.net/a3704
User avatar
now9434
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 85.9%
 
Posts: 19
Joined: 17 Jul 2011, 17:03
Gender: Male
Calculator(s):
MyCalcs profile
Class: DUT GEII

Re: Aide pour un jeu en Axe

Unread postby metallica » 27 Dec 2011, 23:16

Si tu veux faire du tilemapping pixel par pixel, il faut en effet utiliser le smooth scrolling. Je vais essayer de t'expliquer comment faire :
Tout d'abord , tu dois changer de signe deux variables (I et J) en fonction de la direction où tu vas comme ceci :
Code: Select all
:If getKey(3) and (I=0) and (J=0)
:1→I
:End
:If getKey(2) and (I=0) and (J=0)
:-1→I
:End
:If getKey(1) and (I=0) and (J=0)
:1→J
:End
:If getKey(4) and (I=0) and (J=0)
:-1→J
:End


Ensuite tu les ajoutes à H et V (le décalage horizontale et verticale sur la map entre 0 et 8 ) :
Code: Select all
H+I+I→H
V+J+J→V

Lorsque tu as bougé de 8 pixels, tu rajoute (ou soustrait 1) à la position horizontale/verticale (ici P = horizontale et Q = verticale) :
Code: Select all
:If H-8=0 or (H+8=0
:P+I→P
:0→H→I
:End
:If V-8=0 or (V+8=0
:Q+J→Q
:0→V→J
:End


En tout, tu as :
Code: Select all
:Repeat getKey(15)
:
:If getKey(3) and (I=0) and (J=0)
:1→I
:End
:If getKey(2) and (I=0) and (J=0)
:-1→I
:End
:If getKey(1) and (I=0) and (J=0)
:1→J
:End
:If getKey(4) and (I=0) and (J=0)
:-1→J
:End
:
:
:H+I+I→H
:V+J+J→V
:
:If H-8=0 or (H+8=0
:P+I→P
:0→H→I
:End
:If V-8=0 or (V+8=0
:Q+J→Q
:0→V→J
:End
:
:sub(MAP)
:Pt-Off(48,32,Pic1
:DispGraphClrDraw
:End
:Return


sub(MAP) appellera la fonction qui s'occupe d'afficher la map à l'écran et Pic1 contient le sprite du personnage.

Pour voir les tiles sur le bord quand tu te déplace, tu dois avoir préalablement affiché la colonne/ligne d'après/avant.
Voilà maintenant le code de la fonction MAP :
Code: Select all
:Lbl MAP
:For(Y,0,9
:For(X,0,13
:Pt-On(X*8-8-H,Y*8-8-V,{Y+Q*[largeur de la map]+X+P+GDB1}*8+Pic0
:End
:End
:Return

avec GDB1, un pointeur sur la map et Pic0, un pointeur sur les tiles.

En espérant t'avoir aidé. ;-)
Image
Image
User avatar
metallica
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Level up: 12%
 
Posts: 14
Joined: 20 Nov 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale SSI

Re: Aide pour un jeu en Axe

Unread postby now9434 » 21 Jan 2012, 21:33

Merci beaucoup :):
script pour creer des BMP avec gimp pour Mviewer http://ti-pla.net/a3704
User avatar
now9434
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 85.9%
 
Posts: 19
Joined: 17 Jul 2011, 17:03
Gender: Male
Calculator(s):
MyCalcs profile
Class: DUT GEII

Re: Aide pour un jeu en Axe

Unread postby metallica » 21 Jan 2012, 22:53

De rien
Image
Image
User avatar
metallica
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Level up: 12%
 
Posts: 14
Joined: 20 Nov 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale SSI


Return to Langages alternatifs

Who is online

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

-
Search
-
Social TI-Planet
-
Featured topics
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
-
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.
1915 utilisateurs:
>1883 invités
>24 membres
>8 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
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)