2016-03-27 34 views
0

我正在用java腳本編寫一個棋盤遊戲,我想要完成的是:佈局棋盤(國際象棋/棋盤格式)然後根據位置將棋子添加到棋盤上。因此,例如,我想能夠編寫片段代碼以將其移動到平鋪10上。javascript board game piece placement

到目前爲止,在我的代碼中,我有一個循環來創建板,但沒有一個方法來正確命名這些平鋪,所以這件作品可以正確地放置在瓷磚上。到去這樣做將是唯一的整數標識符分配給在遊戲中每個不同的片,然後保持尺寸等於行×#列的上板的#矩陣

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

單程,其中片段標識符的值在矩陣中的正確地址中,其對應於其在板上的位置。

[ 
    [ 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 ] 
] 

與,比如說,-1表示白色,並1表示在板紅色件:

例如,在跳棋片的開始佈置可以由下式表示。

電路板的瓷磚元素也可以保存在一個矩陣中,以便這兩個矩陣可以迭代在一起放置在相應的位置。

唯一標識符也可以用作CSS類名稱或圖像文件名稱以附加到表示該部分的元素。