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

Affichage de la carte

Maintenant qu'on a une carte, le principal soucis est : Comment l'afficher.
Après pas mal de tâtonnements, voilà où j'en étais, à peu près :


case1 = new Array();

for(var i=0 ; i < table_l ; i++)
{
for(var j=0 ; j < table_c ; j++)
{

var i2 = (table_l*taille_case/4)-i*(taille_case/4)+(j*(taille_case/4));
var j2 = 50+(j*taille_case-(j*taille_case)/2)+(i*taille_case/2);
var i3 = i+1;
var j3 = j+1;
var j4 = (i*table_l)+(table_c-j);

var mer=0;

// Afficher le sol

if (table[i][j]=="11") { ncase = "tempere_01.svg"; }
else if (table[i][j]=="01") { ncase = "mer_01.svg"; mer=1; }
else if (table[i][j]=="02") { ncase = "mer_02.svg"; mer=1; }
else if (table[i][j]=="03") { ncase = "mer_03.svg"; mer=1; }
else if (table[i][j]=="04") { ncase = "lac_01.svg"; mer=1; }
else if (table[i][j]=="05") { ncase = "lave_01.svg"; mer=1; }

case1[i3+"*"+j3] = document.createElement("img");
case1[i3+"*"+j3].src=ncase;
case1[i3+"*"+j3].setAttribute('width',taille_case);
//case1[i3+"*"+j3].setAttribute('height',taille_case_vertical);
case1[i3+"*"+j3].setAttribute('id','case1['+i3+'*'+j3+']');
document.getElementById('ratsodie').appendChild(case1[i3+"*"+j3]);
case1[i3+"*"+j3].style.position = 'absolute';
case1[i3+"*"+j3].style.bottom = i2 + 'px';
case1[i3+"*"+j3].style.left = j2 + 'px';
case1[i3+"*"+j3].style.zIndex = j4;


 }}



Comme je l'ai déjà écrit, ça (doit) donne(r) ça :

La variable "mer" est là pour indiquer à Ratsodie de ne pas y planter de choses comme des arbres. C'est juste une facilité quand on trace la carte des forets.

Aucun commentaire:

Enregistrer un commentaire