Poster un nouveau sujet Poster une réponse
Une map en ti-basic
Auteur Message
Shad
Invité
Posté le : Mer 23 Oct 2013, 0:47   Citer 

Bonsoir à tous !

Je programme depuis un petit bout de temps sur TI82 stats.fr et j'aimerai savoir comment créer une map pour un rpg.
Me conseilleriez vous d'utiliser des matrices et des tiles ? Des text sprites ? Ou juste avec du texte ( ce sera moche ^^ ).

Toute idée est bonne à prendre, merci!

  Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mer 23 Oct 2013, 9:40   Citer 

Bonjour,

Ca dépend de ce que tu veux faire... Si tu veux privilégier la partie graphique, dessine la map sur l'écran graphique, mais les perso il vaut mieux qu'ils soient de simples caractères, et non des images (faits avec des textes sprites ou autres), parce que sinon ça ne sera jamais très rapide, et encore moins fluide.

Pour la position de tes personnages, et pour gérer les collisions, une matrice n'est pas une mauvaise idée (ou une liste, parce que les listes sont plus rapides d'accès que les matrices).

----------------------
Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)

Et au fait: la politesse n'a jamais tué personne winkle.gif
 Adresse email Haut de page Bas de page 
 
Shad



Autorisation : Membre
Nb de messages : 2
Inscrit le : Mer 23 Oct 2013, 0:37
Posté le : Jeu 24 Oct 2013, 2:31   Citer 

Tout d'abord merci de ta réponse happy.gif !

Mais que veux tu dire par dessiner la map ? Je pensais faire plusieurs tableaux qui s'enchaineraient entre eux, tu me proposes donc de dessiner chaque tableau sééparement et de les enregistrer un par un dans une image ?
Et comment pourrais je utiliser les listes pour gérer les collisions du coup ?

En tout cas merci d'éclairer ma chandelle, j'avais déjà fait un joli petit rpg non graphique, mais là c'est trop dur de gérer la vitesse d'affichage crazy.gif

 Adresse email Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Jeu 24 Oct 2013, 9:16   Citer 

Je ne comprends pas ce que tu entends par "plusieurs tableaux qui s'enchainent entre eux"...

----------------------
Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)

Et au fait: la politesse n'a jamais tué personne winkle.gif
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Jeu 24 Oct 2013, 11:30   Citer 

Tu veux que chaque écran soit fixe et qu'il y ait transition aux bords ?
Chaque écran devrait être associé à une case de matrice. Et chaque case de matrice devrait identifier le contenu.
Tu peux utiliser une matrice intermédiaire pour représenter l'écran dans lequel se trouve le personnage.
Je te conseille ça plutôt que de stocker tous les objets, ce qui prendrait probablement trop de place.

Une liste peut s'utiliser exactement comme une matrice, il faut juste des divisions ou des produits pour travailler en dimension 1 (liste) ou 2 (matrice).
Dans les deux cas on peut décrire l'écran.

Pour décrire un écran à partir d'une valeur, tu peux par exemple utiliser des divisions de modulo différents pour générer des variables à partir de la valeur.
A-int(A/B) avec B le modulo.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Shad



Autorisation : Membre
Nb de messages : 2
Inscrit le : Mer 23 Oct 2013, 0:37
Posté le : Jeu 24 Oct 2013, 13:09   Citer 

"Tu veux que chaque écran soit fixe et qu'il y ait transition aux bords ?" Oui, c'est exactement ça.

Je pense faire comme tu m'as dit du coup : stocker différentes valeurs dans des matrices ( 1 matrice pour une map ) avec une matrice principale qui gérerait la position des maps entre elles ( pour que le personnage se déplace d'une map à l'autre et puisse revenir en arrière ).

Cependant, j'avais déjà essayé de faire un programme comme ça et j'avais eu 2 gros problèmes :

- j'étais obligé de rentrer les valeurs de chaque matrice au début du programme ( très long et très coûteux en mémoire. Et moche surtout.) Je vois pas comment on peut faire autrement ( à part l'aléatoire mais ça me ferait des maps sans queue ni tête et sans retour possible aux maps précédentes ).

- les objets s'affichait à l'écran très lentement : j'avais fait une boucle qui se baladait dans la matrice et affichait l'objet en fonction de la valeur et de sa position dans la dite matrice. Du coup le joueur avait un temps de chargement assez long à chaque fois qu'il entrait dans une nouvelle map...

Avez vous des solutions pour contrer ces 2 problemes ?
Et merci encore pour vos réponses, après promis j'arrête les question minied.gif

edit : je ferai plutôt des listes à la place des matrices vu que c'est plus rapide, mais j'aurais les mêmes problèmes.

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Jeu 24 Oct 2013, 22:01   Citer 

Je retiens donc que tu appelles "map" chacun des écrans. "Lopin" conviendrait pour ne pas confondre.

Décrire les objets et les collisions se fait souvent de deux manières :
-soit on décrit chaque emplacement spatial et un scrute chaque coordonnée seulement quand nécessaire
-soit on décrit chaque élément par ses coordonnées et on scrute les éléments
La description des éléments est plus rapide s'il y a peu d'éléments. Par contre la scrutation des collision est ingérable dès qu'il y en a un peu trop.

Je te proposais avec les modulo de créer par le calcul l'état d'un ensemble de paramètre avec une seule variable. (envisagé dans mes souvenirs pour un programme de Persalteas, soit Herssahe soit un MineCraft jamais fait)
De cette manière il suffit de retenir une variable par lopin. (dans une matrice ou une liste.
Par exemple A-int(A/2) et A-int(A/3) permet d'avoir 6 états différents en rassemblant les deux résultats, à partir de A seulement. (je précise que les modulos doivent être premiers entre eux pour que ça marche bien)
(demande des détails si tu en veux, j'assome trop souvent)

La matrice est plus puissante que la liste à cause de la surface 99*99=9801>999 et de l'abscence de confrontation 1D/2D.
(dis clairement si tu veux des détails à propos des calculs de passage 1D/2D)

Tu peux créer aléatoirement la map entière du jeu et la stocker pour la lire plus tard. Pas de problème de retour en arrière.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink