ボード ゲームを作成しています。ボード上のピースを管理するためのより良い方法を探しています。私が今持っているのは、座標からボードに配置する方法です。これは、プレーヤー データを格納する JSON オブジェクトです。
"players" : {
"1" : {
"id" : 1,
"name": "ilya",
"units" : [
{
"id" : 1,
"row" : 1,
"square" : 2
},{
"id" : 2,
"row" : 2,
"square" : 1
},{
"id" : 3,
"row" : 3,
"square" : 1
}
]
},
そして、div を作成し、対応するボードの正方形の div に追加して配置し、jquery-ui で移動します。
$('<div/>', {
class: 'draggable player' + player + ' unit unit' + unit,
}).appendTo('.row' + row + ' .square' + square + ' .unitPosition');
row
およびsquare
はテーブルでunitPosition
あり、内部のヘルパー クラスです。square
プレーヤーが移動した後にデータを取得するために、行と正方形のクラスを取得してそれらの数値を抽出できますが、それは非常に非効率的な方法のように思えます。このようなグリッドを管理し、各ピース/ユニットの位置データを保存するより良い方法はありますか?
一般的なリクエストにより、これは html です (例のために短縮されています):
<div id="board">
<div class="clearfix row row1">
<div class="square square1">
<div class="unitPosition"></div>
</div>
<div class="square square2">
<div class="unitPosition"></div>
</div>
<div class="square square3">
<div class="unitPosition"></div>
</div>
</div>
<div class="clearfix row row2">
<div class="square square1">
<div class="unitPosition"></div>
</div>
<div class="square square2">
<div class="unitPosition"></div>
</div>
<div class="square square3">
<div class="unitPosition"></div>
</div>
</div>
</div>
ボード: