J'essaie de faire un tableau de jeu pour bomberman dans le traitement avec un tableau 2D. (La version finale aura des couleurs ou des bitmaps et les propriétés de chaque type de bloc et définir l'espace de marche que le joueur a.)Traitement: Comment colorier les carrés dessinés par ma matrice 2D dans différentes couleurs?
Je veux que ce plateau de jeu qui se compose de 11 lignes et 11 colonnes d'avoir carrés de couleurs différentes pour chaque type de bloc dans le jeu. (j étant un bloc solide, i étant l'espace de marche et k étant un bloc cassables, comme vous le verrez dans le tableau)
Je l'ai déjà réussi à dessiner le tableau/bord, mais maintenant je dois le colorier correctement.
J'ai essayé de colorer un type de bloc d'une certaine manière, mais il a simplement coloré la totalité de la carte.
C'est mon code pour l'instant:
//Amnt of Columns & Rows
int cols = 11;
int rows = 11;
//Block types
int i;
int j;
int k;
void setup() {
size(440, 440);
//Game Board
int [][] field = {
{j, j, j, j, j, j, j, j, j, j, j},
{j, i, i, i, i, k, i, i, i, i, j},
{j, i, j, i, j, i, j, i, j, k, j},
{j, k, k, i, i, i, i, i, i, i, j},
{j, i, j, i, j, k, j, i, j, i, j},
{j, i, i, i, i, k, i, i, i, i, j},
{j, k, j, k, j, i, j, k, j, i, j},
{j, i, k, i, i, i, i, i, i, i, j},
{j, i, j, i, j, k, j, i, j, i, j},
{j, i, i, i, i, k, i, i, i, k, j},
{j, j, j, j, j, j, j, j, j, j, j} };
// Draw Board
for (i = 0; i < cols; i+=1) {
for (j = 0; j < rows; j+=1) {
if(field[i][j]==1)
if(field[i][j]==i){
fill(0);}
if(field[i][j]==k){
fill(200,0,0);} else
if(field[i][j]==j){
fill(0,200,0);}
rect(i * 40, j * 40, 40, 40);
}
}
}
Et ceci est mon résultat:
As you can see it's all red (and not only the k blocks)
désolé, Im un noob – Unarmed
mais comme une question plus courte:.. Pourquoi ça marche pas?: 'if (champ [i] [j] == k) { remplir (200,0,0);} sinon si (champ [i] [j] == j) { remplir (0,200, 0);} ' - Je pense que cela indique au programme de colorer tout le rouge de ** k ** et le bleu de ** j **. – Unarmed
@Unarmed Quand avez-vous déjà défini la valeur de 'k'? –