Python : Chargeur de map

Cette fonction charge un fichier texte basique pour générer une carte de jeu. Le fichier est de la forme :

xxxxxxxxxxxxxxxxx
x    j          x
x         x     x
x         x  o  x
x         x     x
xxxxxxxxxxxxxxxxx

LoadMap

def LoadMap(map_path):
    file = open(map_path, "r")
 
    tilesizex = 32
    tilesizey = 32
 
    x, y = 0, 0
    for line in file.readlines():
        for caract in line:
            if caract == "x":
                Mur(x*tilesizex, y*tilesizey)
            elif caract == "j":
                Joueur(x*tilesizex, y*tilesizey)
            elif caract == "o":
                Bonus(x*tilesizex, y*tilesizey)
            x += 1
        x = 0
        y += 1
 
 
    file.close()

Notes

  • Il suffit d'exécuter la fonction au moment de créer les instances du jeu, il est très simple d'ajouter de nouveaux caractère/objet.
  • Ce système est extrêmement basique, mais permet d'avoir une base de travail “qui tourne” très rapidement (au lieu de créer des objets en entrant les coordonnées à la main), n'hésitez pas à le copier coller sans remords.

Améliorations possibles

  • Ajout d'un header pour donner des informations générales sur la carte (taille, environnement,…)
  • Création d'un système permettant de stocker des informations sur l'objet, du type E{life=30;color=green},… Ou par exemple T{ID=5;GotoMap=2;GotoT=2} pour créer facilement des liens/téléporteurs entre les map.
 
fr/sources/py_chargeur_map.txt · Last modified: 2008/06/16 19:33 by NoopyKS
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki