當前位置:編程學習大全網 - 編程軟體 - 編程 地圖 遊戲 數學

編程 地圖 遊戲 數學

反過來想?妳給出的地圖是壹張簡單矩陣?也就可以用壹個二維數組來表示

int[,]?map?=?new?int[Width,Height];

initMap(map);這個方法妳應該會寫的?初始化地圖

如果每個點的大小是5*5的話

玩家?Player?p1?=?new?Player();

p1.Location?=?new?Point(10?,?5?);

第二個圖可以理解為p1在地圖上的座標為:(x?:10,?y?:?5)

也就是在長度為5*5?座標為?(?x?/?5,?y?/?5)的矩形裏

而x/5?,?y/5?正是map第二行第三列的下標?map[x/5,?y/5]

當然我只是舉例子?大概的意思是把地圖當成壹個二維數組,玩家移動得記錄座標?用座標的X和Y分別除以每個格的W和H就能得到當前玩家所在的地圖位置

因為玩家和地圖格是有大小的?所以x/5不壹定得整數?所以如果x取模5有余?座標就要+1?y也同理

不知道妳是用什麽語言?我只懂C#?在C#xna中有物理模型的概念?physicalObject是會有hitTest的方法的?而在C#中也有類似的簡單辦法去做這種事?例如:?Rantangle.Contains(坐標,形狀)

拿妳的思路來算的話?妳也沒有正確理解我的意思

我的想法是?不可以圓每次移動都和所有的坐標進行比較?最可行的辦法是由圓的當前位置來算出它在哪幾個圓裏?而不是寫壹個圓和方形是否相切的方法?然後然後每個方形和圓進行比較.?我整理壹下思路再給妳發怎麽算吧?我也沒仔細考慮過怎麽用代碼實現

  • 上一篇:終極him怎麽畫
  • 下一篇:上海大二編程培訓
  • copyright 2024編程學習大全網