私は、ボンバーマン用のゲームボードを2D配列で処理しようとしています。 (最終版は、色やビットマップと各ブロックタイプの性質を持つことになりますし、プレイヤーが持っている歩行スペースを定義します。)処理:2次元配列で描かれた四角形をさまざまな色でどのように色付けできますか?
私は11行と11列で構成され、このゲームボードを持っていると思いますゲームの各ブロックタイプごとに異なる色の四角形を表示します。 (Jは固体ブロックされ、私はあなたは配列に表示されますよう、破壊可能なブロックされて歩行空間とKある)
私はすでに配列/ボードを描画するために管理してきましたが、今私はそれを正しく色付けする必要があります。
1つのブロックタイプを特定の方法で色付けしようとしましたが、ボード全体が着色されました。
これが今の私のコードです:
//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)
申し訳ありませんが、イムのnoobは – Unarmed
が、短い質問など:。。 なぜこれが動作しませんか?(field [i] [j] == j){ fill(0,200、0、200); if(field [i] [j] == k){ fill(200,0,0);} else 0);} ' - これは、すべて** k **の赤と** j **の青を着色するようにプログラムに指示すると思います。 – Unarmed
@Unarmedいつ 'k 'の値を設定しますか? –