我正在嘗試爲處理二維數組的炸彈人制作遊戲板。 (最終版本將有顏色或位圖和每個塊類型的屬性,並且將確定的行走空間,該播放器具有。)處理:如何爲我的2D陣列以不同顏色繪製正方形?
我想這個遊戲板,其由11行和11列的有遊戲中每種塊類型的不同顏色的正方形。 (Ĵ是固體塊,我是步行空間和ķ是一個易碎的塊,因爲你會在陣列中看到)
我已經成功地繪製陣列/板,但現在我需要着色它的權利。
我試圖顏色在一個特定的方式一個塊類型,但它只是顏色的整個董事會。
這是我的代碼現在:
//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);
}
}
}
這是我的結果:
As you can see it's all red (and not only the k blocks)
對不起,我是個小白 – Unarmed
但作爲一個較短的問題:。 爲什麼這不是工作?(field [i] [j] == j){ 'if(field [i] [j] == k){012,fill(200,0,0);} else if 0);} ' - 我想這會告訴程序爲所有** k **的紅色和** j **的藍色着色。 – Unarmed
@Unarmed你什麼時候設置過'k'的值? –