Celà fait longtemps que je veux réaliser un jeu du royaume, c'est à dire un jeu où l'on gère un domaine quelconque (oui, c'est le nom originel de ce genre de jeux). Eh bon, après environ 25 ans, me voilà à l'ouvrage.

dimanche 29 janvier 2012

Codage de la carte



J'ai quelques vagues idées sur ce que je voudrais comme résultat d'une génération aléatoire de carte, mais pour le moment aucune idée sur la manière de programmer ça.

Donc, je me suis contenté d'une carte pré-créée.

Les données de la carte se trouvent directement dans le code JS. J'ignore encore comment faire lire (et filtrer) un fichier externe par javascript, donc voilà :

table1 = new Array("11","11","11","11","11","11","11","11","11","11","11","11");
table2 = new Array("11","11","11","11","11","11","11","11","11","11","11","11");
table3 = new Array("11","11","11","11","04","04","04","11","11","11","11","11");
table4 = new Array("11","11","11","04","04","11","11","11","11","11","11","11");
table5 = new Array("11","11","11","11","11","11","11","11","11","11","11","11");
table6 = new Array("11","11","11","11","11","11","11","11","11","11","11","11");
table7 = new Array("11","01","01","11","11","11","11","11","11","11","11","11");
table8 = new Array("01","01","11","11","11","11","11","11","11","11","11","11");
table9 = new Array("11","11","11","11","11","11","01","11","11","11","11","11");
table10 = new Array("11","01","01","01","01","01","01","01","01","01","11","11");
table11 = new Array("01","01","02","02","02","02","02","02","02","02","01","01");
table12 = new Array("01","02","02","02","02","03","03","03","03","02","02","02");


Je commence par entrer le terrain de base pour chaque carte. "11" signifie par exemple le sol, 03 l'océan, etc.
Je place chaque ligne dans un tableau séparé, parce que c'est plus lisible.


table = new Array(table1,table2,table3,table4,table5,table6,table7,table8,table9,table10,table11,table12);

var table_l=12;
var table_c=12;


Maintenant, j'indique le nombre de lignes de la carte ("table_l"), c'est à dire sa hauteur Nord-Sud, et le nombre de colonnes ("table_c"), c'est à dire sa largeur Est-Ouest, et je place chaque ligne de la carte dans une vaste table appelée Table (!), qui est donc un tableau multidimensionnel ("table" contient tous les "tableX", qui contiennent chacun les cases de leur ligne).

Mon principal problème ici est que je voudrais bien utiliser la variable "table_l" pour, à l'aide d'une boucle quelconque, genre "for", entrer toutes les lignes automatiquement dans Table sans avoir à faire ce long "new array" avec les "table1, table2, table3 ... tableN" dedans.
Imaginez-vous le bordel avec une carte de 200 lignes ?

Une idée ?




Aucun commentaire:

Enregistrer un commentaire