2016-03-27 4 views
0

私はJavaスクリプトでボードゲームを書いていますが、私が達成しようとしているのはボードのレイアウトです(チェス/チェッカーフォーマット)。だから私は、タイル10に移動する作品のコードを書くことができるようにしたい。javascriptボードゲームピースの配置

これまで私のコードでは、私はボードを作成するループがありますが、タイル、その部分を正しくタイルに置くことができる。ボード上の行の列のx#の#に等しい大きさの行列を維持し、ゲーム内のすべての個別のピースに一意の整数の識別子を割り当てることであろう。このことについてに行く、とする

for (i=0; i<64; i++){ 
    var tile = cc.Sprite.create(res.myTile_png); 
    this.addChild(tile,0); 
    x = centerpos.x + ((i % 8) - 3.5) * tile.getBoundingBox().width; 
    y = centerpos.y + (Math.floor(i/8) - 3.5) * tile.getBoundingBox().height; 
    tile.setPosition(x,y); 
} 

答えて

1

一つの方法基板上のそれらの位置に対応するマトリクス内の正しいアドレス内のピース識別子の値を有する。例えば

、チェッカーにおける片の出発配列は、で表すことができる、と言う、-1はボード上の赤い部分を表す白、及び1を表すと

[ 
    [ 0, -1, 0, -1, 0, -1, 0, -1 ], 
    [ -1, 0, -1, 0, -1, 0, -1, 0 ], 
    [ 0, -1, 0, -1, 0, -1, 0, -1 ], 
    [ 0, 0, 0, 0, 0, 0, 0, 0 ], 
    [ 0, 0, 0, 0, 0, 0, 0, 0 ], 
    [ 1, 0, 1, 0, 1, 0, 1, 0 ], 
    [ 0, 1, 0, 1, 0, 1, 0, 1 ], 
    [ 1, 0, 1, 0, 1, 0, 1, 0 ] 
] 

ボードのタイル要素もマトリクスに保持することができます。これにより、2つのマトリクスを反復してピースを対応する場所に配置することができます。

ユニークなIDは、CSSクラス名、またはピースを表す要素にアタッチされるイメージファイル名として使用することもできます。

関連する問題