Salut tout le monde.
Pour un projet, j'utilise une fonction qui permet de recupérer un fichier raw que j'ai créé sous photoshop.
Ceci dans le but de créer des niveaux de jeu pour un genre de pacman( un peu modifié )
Au stade ou j’en suis, j’ai réussi en dessinant en noir ou en blanc sur un fichier raw (sous photoshop) a structurer le niveau grace au petit bout de code suivant :
for (i=0;i<lig ; i++)
{
for (j=0 ; j<col; j++)
{
if(ima[i][j]==255)terrain[i][j]='.';
else cTableau[i][j]=SYMBOLE_MUR;
}
}
Lorsque j’ai dessiné du blanc (255), je dessine un point : '.' (chemin autorisé) et lorsque j’ai du noir(0), je mets un mur (symbole : '+') pour que le bonhome ne puisse pas s’y déplacer.
Tout ca marche tres bien.
Cependant, j’aimerai aller plus loin dans l’exploitation de cette fonction et générer les items (F,S,V,etc) ainsi que des ennemis X.
J’ai édité le fichier raw sous photoshop et avec une palette de niveaux de gris (0-255), j’ai donné a chaque items un niveau de gris (par ex : les ennemis 'X' valent 40 en décimal et 29 en hexa(donné par la palette de photoshop))
/!\ Je parle simplement de l'affichage du niveau au départ, car vous allez me dire que mes ennemis bougent pas
Dans le petit bout de code précédent, j’ai donc ajouté une liste de if de la manière suivante (en gras) :
for (i=0;i<lig ; i++)
{
for (j=0 ; j<col; j++)
{
if(ima[i][j]==255)terrain[i][j]='.';
if(ima[i][j]==40 terrain[i][j]=’X'; // Car j’ai dessiné les ennemis X avec le niveau de gris 40 sous photoshop.
…
else terrain [i][j]=SYMBOLE_MUR;
}
}
Mais malheureusement ca ne marche pas…
Avez-vous une idée ?
J'ai l'impression qu'en dehors du noir et du blanc, il ne reconnait pas les autres nuances de gris...
MErci
Message édité par mrpropre007 le 04-11-2007 à 18:44:14