作者:bb 文章来源:迷你手游
可根据地形的不同,以及角色能力的不同来判断可移动区域。例如骑士在平地上可以移动更大的范围。
代码如下:
/**
* 搜索可走区域
* @param map 当前地图表
* @param row 行
* @param col 列
* @param locomotivity 该角色的默认移动力
* @param direction 方向
*/
public void scanMovableArea(byte map[][], int row, int col, int locomotivity, int direction){
if(locomotivity > map[row][col])
map[row][col] = (byte)locomotivity;
else
return;
/** 向上判断 **/
if(direction != 1){
int loco1 = locomotivity - mapExpendLocomotivity(row, col - 1);
if(loco1 >=0)
scanMovableArea(map, row, col - 1, loco1, 2);
}
/** 向下判断 **/
if(direction != 2){
int loco2 = locomotivity - mapExpendLocomotivity(row, col + 1);
if(loco2 >= 0)
scanMovableArea(map, row, col + 1,