2010-03-28 82 views
1

我正在使用javascript/ajax製作2D遊戲,這將使用存儲在mysql數據庫中的數據。每個用戶都有自己的「小區」,由小方塊組成,可以有一些價值。但我不知道,如何在每個用戶可以擁有不同寬度或高度的區域時,將每個方塊的值存儲在mysql中。你有什麼想法嗎?如何在mysql中存儲2D遊戲世界

+0

正方形的大小是否相等?它們可以重疊嗎? – jholster 2010-03-28 12:18:22

+0

廣場有相同的大小,並設置在一個大的矩形,就像其他2D遊戲:) – monthon1 2010-03-28 12:32:51

回答

4

如何存儲矩形的四個角(x0,y0,x1,y1)?如果你對它們做一個索引,查詢應該是相當高效了,但是你的里程可能會有所不同...

+0

似乎比多對多關係表(@dario建議)更可行。 – strager 2010-03-28 12:23:43

+0

@strager:我在@達里奧的解決方案中看不到很多人。 (可能被重新刪除並重新提交?) 他的想法是通過爲用戶數據添加一張表(因此N個用戶到1個方格)來擴展AKX's – lexu 2010-03-28 12:58:35

+0

@lexu,@ AKX的答案僅需要用戶表中的幾個字段,無論該區域的大小。 @達里奧的回答需要一個「USERSQUARES」表,例如25個5x5平方的參賽作品。 – strager 2010-03-28 14:36:59

2

,可以儲存數據這樣

SQUARES(squareId, XYdataOfSqare) 
USERSQUARES(userId, squareId) 
1

我只想救座標,對於一個條目每個用戶每平方米。

表結構:

id 
square_x 
square_y 
user_id 

ID是自動遞增,square_x和square_y是方形的位置。

然後,您可以插入每個用戶的廣場與單個記錄。