Poster un nouveau sujet Poster une réponse
aide programation rpg
Auteur Message
harven



Autorisation : Membre
Nb de messages : 99
Inscrit le : Mar 24 Aoû 2010, 10:10
Posté le : Ven 11 Mar 2011, 17:21   Citer 

Bien le bonjour a tous.
J'ai un probleme comme vous l'aurez deviner.
Donc je resume :

1) Je souaite faire une ''matrice'' pour ameliorer mon rpg deja poster sur le site.
J'explique :
Imaginons un tableau de 3x3 cases, l'ecrant de la ti est une case et donc si l'on rentre au bord de l'ecran on change de case.
Enfin bref je souaiterait faire cela.

2) comment incruster des element de paysage dans les ''cases'' ?

3) comment faire bouger ou faire des paysage ou des personnage graphique ?

4) comment empecher le personnage de traverser un obstacle ?

Bha voila en gros ma requette, je sais que c'est beaucoup ... J'espere que vous pourait m'aider.
Merci d'avance.

Ps: j'ai une ti 82

A bientot.

Harven.

----------------------
Programmer en progression
Loading.....Bip.....Bip.....
Programme terminer

Harven
 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Sam 12 Mar 2011, 10:34   Citer 

1) ça tu sais déjà faire, non ? je croyais...

2) ça dépend si les éléments de paysage sont les mêmes sur toutes les cases ou non. Si non, il tu peux utiliser la valeur du nombre qui est dans ce tableau: si c'est 1: dessine un arbre, si c'est 2, dessine un batiment, si c'est 3: dessine de l'herbe.
Sinon, tu peux aussi, pour chaque "case" du tableau, insérer un deuxième tableau aléatoire à l'intérieur (en gros, pour chacune des 9 cases de ton tableau, tu tires une matrice aléatoire de 3 par 3: ça te permet de mettre par exemple 2 arbres, 1 batiment et 4 brins d'herbe sur la même case d'écran.)

3) pour ça, attends mon prochain cours que je devais t'envoyer, c'est exactement ça: utilise des sprites. si tu veux faire plus simple, représente ton bonhomme par un caractère (dans HERSSAHE c'est un X par exemple), ça t'évitre d'avoir à dessiner un sprite.

4)empêcher le perso de traverser un obstacle: cela dépend de comment tu as placé l'obstacle.
Si il est placé au hasard, tu n'as pas d'autre choix que les Pixel-tests.
Si il est déterminé par une case de matrice, il faut imaginer: si le perso devait être dans une des cases de la matrice, dans laquelle serai il ? (ça se fait par un calcul) et ensuite: si la valeur de cette case de matrice est celle qui dit "obstacle" eh bien le perso ne doit pas pouvoir avancer.

 Adresse email Haut de page Bas de page 
 
harven



Autorisation : Membre
Nb de messages : 99
Inscrit le : Mar 24 Aoû 2010, 10:10
Posté le : Sam 12 Mar 2011, 11:26   Citer 

Bonjour

1) Euuuuh... Il y a longtemps j'en ai creer une mais je ne sait plus :/
Mais je ne voit pas enfait la difference dans le code entre faire un matrice ou une seul case est l'ecran et ou l'ecran contient une matrice ( exemple : pour un morpion )

2) interessante ton idée

3) hummmm... D'accord

4) bha en gros, si mon perso est un X et les obstacle des rond, il ne doit pas les traverser

----------------------
Programmer en progression
Loading.....Bip.....Bip.....
Programme terminer

Harven
 Adresse email Haut de page Bas de page 
 
Rézus



Autorisation : Membre
Nb de messages : 853
Inscrit le : Sam 20 Jui 2009, 20:35
Posté le : Sam 12 Mar 2011, 18:56   Citer 

Oui, le plus simple est de générer aléatoirement une matrice et d'attribuer un sprite à chaque valeur, sauf pour le 0 qui définirait un emplacement vide.
Comme ça, tu peux aussi savoir si le perso rencontre un obstacle lorsqu'il bouge en faisant un test, ça donne à peu près ça:

-Perso en position X,Y
-Stockage de X et Y dans deux autres valeurs (moi j'utilises I et J, ou N et O)
-Appui d'une touche de mouvement
-Ajout de la valeur aux variables I et J (I+1->I si on se déplace vers la droite par exemple)
-Test avec les coordonnées I et J dans la matrice:
-----Si [Matrice](I,J)>0 retour au Début (pas de changement de position)
-----Sinon on passe à la suite (pas besoin de mettre un deuxième If)
-Stockage des coordonnées I et J dans X et Y
-Dessin du perso en X et Y
-Retour au début, avec un X et Y différents de ceux du départ (changement de position)


C'est très pratique parce que c'est un schéma qui est simple et qui marche tout le temps, mais attention (ici je l'ai pas mis) pour les déplacements verticaux il faut prendre en compte que dans le graph, quand on "descend", les valeurs diminuent, alors que dans la matrice elles augmentes. Par exemple si Y est négatif dans le graph (et c'est souvent le cas, par soucis de simplicité), on aura une erreur lors du test dans la matrice, donc lors du test dans la matrice il faut marquer -J et non J (Persi va t'expliquer tout ça mieux que moi ^^)

Autre chose: ça divise le paysage en cases et ça peut permettre de faire avancer le personnage plus vite,en sautant de "cases en cases" au lieu d'avancer pixel par pixel. Il suffit de rajouter un facteur devant X et Y correspondant au nombre de pixels que ta case fait (ex dessin du personnage en 7X,7Y et ton perso fera des bonds de 7 pixels).

Edit: le problème c'est que si les cases sont petites (genre 7*7 pixels) c'est pas évident de dessiner un bâtiment dessus, donc il faut rajouter des algorithmes de construction quand la map est générée, mais c'est difficile d'obtenir quelque chose de concluant si elle est générée aléatoirement, surtout avec les bâtiments.

 Adresse email Haut de page Bas de page 
 
harven



Autorisation : Membre
Nb de messages : 99
Inscrit le : Mar 24 Aoû 2010, 10:10
Posté le : Dim 13 Mar 2011, 10:32   Citer 

Salut
Merci a vous deux pour vos reponsse, meme si je n'ai pas tout tres bien comprit
A la base de mon projet de rpg matrice et graphique j'avait pensait a faire une sorte de programme ''test'' ou je pourait m'entrainer.
J'avait penser aussi a generer des case de la matrice aleatoirement mais pas certaine qui seront indispensable a l'histoire.
Et donc si j'arriver a aprendre a. Dessiner dans chacune des casse, je pourait inclure (des donjon !)
Enfin bref, je ne suis pas encore tres experimenter et avant toute chose, ''le site du zero'' pour me faire une petite idée.
En tout cas merci. Pour vos reponse

A bientot

Harven

----------------------
Programmer en progression
Loading.....Bip.....Bip.....
Programme terminer

Harven
 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