Map et txt

Résolu
gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 19 janvier 2011 - 14 avril 2007 à 18:08
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 15 avril 2007 à 12:53
bonjour a tous !!

je voudrai savoir comment on peut charger une map avec un txt.
voila si quelqu'un pourai m'aider a comprend comment on fait pour faire le lien avec

0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
0;0;0;0;1;1;1;14;14;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;15;15;1;1;1;0;0;0;0
0;0;0;1;1;1;1;14;14;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;......

dans un txt et une image ? (pour gérer les colisions et autres)

merci beaucoup

6 réponses

cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
15 avril 2007 à 11:54
A vrai dire je vois pas trop comment faire là. J'avais réalisé un programme en python qui permettait de créer des map 2d avec de tiles.

Pour stocker la map j'utilisais un fichier xml qui me permettait de sauvegarder plus de données que ton fichier texte. Voici un exemple de ma méthode:
<?xml version="1.0" encoding="utf-8"?>
<map>
<name>map0001</name>
<taille>19,19</taille>


<coord>1,1</coord>
<tile>gazon</tile>
<orientation>0</orientation>
<event>None</event>
<walkable>True</walkable>
<direction>1,1,1,1</direction>
<layer>0</layer>


<coord>1,2</coord>
<tile>gazon</tile>
<orientation>0</orientation>
<event>None</event>
<walkable>True</walkable>
<direction>1,1,1,1</direction>
<layer>0</layer>


<coord>1,3</coord>
<tile>gazon</tile>
<orientation>0</orientation>
<event>None</event>
<walkable>True</walkable>
<direction>1,1,1,1</direction>
<layer>0</layer>


<coord>2,1</coord>
<tile>gazon</tile>
<orientation>0</orientation>
<event>None</event>
<walkable>True</walkable>
<direction>1,1,1,1</direction>
<layer>0</layer>


<coord>2,1</coord>
<tile>gazon2</tile>
<orientation>0</orientation>
<event>None</event>
<walkable>True</walkable>
<direction>1,1,1,1</direction>
<layer>1</layer>


<coord>2,2</coord>
<tile>gazon</tile>
<orientation>0</orientation>
<event>None</event>
<walkable>True</walkable>
<direction>1,1,1,1</direction>
<layer>0</layer>


<coord>2,3</coord>
<tile>gazon</tile>
<orientation>0</orientation>
<event>None</event>
<walkable>True</walkable>
<direction>1,1,1,1</direction>
<layer>0</layer>


<coord>2,3</coord>
<tile>arbre</tile>
<orientation>0</orientation>
<event>None</event>
<walkable>True</walkable>
<direction>1,1,1,1</direction>
<layer>1</layer>


</map>

Petite explication :
pour chaque tile j'ai plusieur propriété:
- coord (la position de la tile)
- tile (l'img à utilisé)
- orientation (permet de tourner l'image 0, 90, 180, 270)
- event (pour déclencher un évenement dans le code ex: ouvrir une porte, téléporter)
- walkable (précise si les personnage peuvent marcher sur cette case)
- direction : le sens ou un peut arriver et sortir de cette case (heut, bas, droite, gauche)
- layer : permet la superposition de couche pour les image avec transparence (ex : les arbres).

aprés pour dessiner il te suffit pour chaque élément de mettre le tile à la position (x*32 et y*32 par exemple pour des cases de 32 par 32). Et quand tes personnage se déplace, tu vérifie que les tiles sur lequel se trouve le personnage est "walkable".
Pour garder en mémoire la chose je chargeais le système dans un tableau qui me permettais de conserver les lignes et colonnes.
3
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
14 avril 2007 à 19:59
Bonsoir,
Alors vu les informations fournient je dirais... tu rajoute un peu de sel et tu passe le tout au four (ou four-micro-onde) pendant environ 3 jours. Aprés ça tu tourne 7 fois la langue de ta bouche - Et pas dans une autre.... (pardon) - et tu repose correctement ta demande. (Et pas la peine de tout mettre en gras nos écran fonctionne bien on peut lire du texte normal dessus).
Cordialement
0
gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 19 janvier 2011
14 avril 2007 à 23:19
ok désolé,

alors dans un fichier txt, on mais des 0; qui corespondent a de l'herbe par exemple et des 1; qui corespondent a de la route.

0; corespond donc a de l'herbe, donc il faut un title herbe donc une image.png (herbe.png)

1; corespond donc a de la route, donc il faut un title route donc une image.png (route.png)

et pour afficher sa dans une form, faut-il y mettre dans un tableau a 2dim et qu'a chaque fois que l'on lit un 0 dans le tableau on affiche l'image herbe.png dans un picturebox dans la form ? idem pour la route.

en gros le txt correspond a une map , par exemple a un circuit ton con une boucle voila.

j'espere que je me suis mieux fait comprendre, dsl pour le post davent

bonne soirée
0
gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 19 janvier 2011
15 avril 2007 à 12:43
merci beaucoup de ta réponse, ça a l'air beaucoup mieux avec un fichier xml, maintenent je vais cherché comment y utilisé en c#, car jusque la je n'en est point utilisée, en tout cas merci beaucoup ceci va me débloquer,

encore merci et bonne journée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
15 avril 2007 à 12:48
DataSet ds = new DatSet();
ds.ReadXML("mamap.xml");

(si mes souvenir sont bon ;) )
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
15 avril 2007 à 12:53
Salut,

Regarder aussi du côté de XmlDocument et XmlDataDocument.

/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous