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

Les forêts - principe

Pour les forêts, deux choix possibles s'offraient à moi.

Tout d'abord, je pouvais créer un terrain "forêt" : Une case pouvait être une plaine déboisée OU une forêt, par exemple.

Mais il m'était également possible de considérer la forêt comme un ajout à la case, comme le cours d'eau.

C'est cette dernière solution que j'ai choisi. Non qu'elle soit forcément la meilleure (elle occupe plus de mémoire), mais parce qu'elle réduit le nombre de "terrains de base", et je préfère séparer les torchons et les serviettes.

La forêt est indiquée dans un tableau exactement comme le terrain de base :

foret1 = new Array("1","1","1","1","1","1","1","1","1","1","1","1");
foret2 = new Array("1","1","1","1","1","1","1","1","1","1","1","1");
foret3 = new Array("1","1","1","1","1","1","1","1","1","1","1","1");
foret4 = new Array("1","1","1","1","1","1","1","1","1","1","1","1");
foret5 = new Array("1","1","1","1","1","1","1","1","1","1","1","1");
foret6 = new Array("1","1","1","1","1","1","1","1","1","1","1","1");
foret7 = new Array("1","0","0","1","1","1","1","1","1","1","1","1");
foret8 = new Array("0","0","1","1","1","1","1","1","1","1","1","1");
foret9 = new Array("0","0","1","1","1","1","0","1","1","1","1","1");
foret10 = new Array("0","0","0","0","0","0","0","0","0","0","1","1");
foret11 = new Array("0","0","0","0","0","0","0","0","0","0","0","0");
foret12 = new Array("0","0","0","0","0","0","0","0","0","0","0","0");
foret = new Array(foret1,foret2,foret3,foret4,foret5,foret6,foret7,foret8,foret9,foret10,foret11,foret12);


Ensuite, je n'oublie pas un petit

case3 = new Array();

comme pour les cours d'eau.


Un autre problème, ennuyeux celui-là, m'apparu : La forêt, on la place par dessous ou par dessus la rivière ?

Non, parce que si la forêt est dessus, on ne va plus voir la rivière.
Et si elle est dessous, franchement, on aura l'air de quoi avec notre rivière volante ?

La solution que j'ai trouvé est toute simple, et à vrai dire j'y avais pensé au moment où de travaillais sur les cours d'eau (j'étudiais les deux en même temps).

Il s'agit de diviser chaque case en neuf parties. Parties purement virtuelles bien entendu.

Suivez-moi bien :
J'ai déjà dit que Ratsodie regarde non seulement s'il y a une rivière dans la case qu'il affiche, mais également s'il y en a dans les cases Nord, Est, Sud et Ouest. Il suffit de faire couler la rivière au centre de la carte, et on peut dès lors diviser toute case en neuf parties, dont la "croix centrale" peut être occupée par une rivière.

Restait à réaliser neuf cases affichant neuf bouts de forêt. Je ne me suis pas fatigué, et les neuf bois sont identiques à part leur emplacement sur la case :



Aucun commentaire:

Enregistrer un commentaire