通过移动在棋盘上移动
Traversing a game board using moves
本文关键字:移动 更新时间:2023-09-26
我很难找出一个解决方案来遍历数组列表,该列表被视为带有墙壁和方向的板。基本上你会得到一个像这样的数组列表:
xxxxxxx
x-g--xx
x---xxx
x-----x
x--x--x
x---1-x
xxxxxxx
对于给定的移动列表:
uluudrll
目标是使用移动列表,并根据您遍历该棋盘时给出的字母(u表示上,d表示下,等等)进行相应的移动。你把x看成墙,g是你的目标。玩家是1。我使用javascript的代码。
if(move === 'd'){
if(maze[row + 1][col] !== 'x'){
maze[row + 1][col] = player;
maze[row][col] = '-';
count++;
} else {
if(move === 'd'){
if(maze[row - 1][col] !== 'x'){
maze[row - 1][col] = player;
maze[row][col] = '-';
count++;
} else if(maze[row][col + 1] !== 'x'){
maze[row][col + 1] = player;
maze[row][col] = '-';
count++;
} else if(maze[row][col - 1] !== 'x'){
maze[row][col - 1] = player;
maze[row][col] = '-';
count++;
}
}
}
}
这是我用于向下移动并适应其他移动的代码(例如,如果我们读取向下移动d,并且由于墙壁而无法移动,玩家将移动到其他位置。我不知道我的代码发生了什么,但是当我试图向任何其他方向移动时,它都不会工作。我很困惑为什么游戏不工作
这是一个关于如何使用Javascript接近你的游戏的伪代码示例
以以下数组为例:
arrayBoard = [["x","x","x","x"],["x","-","-","x"],["x","-","1","x"],["x","x","x","x"]];
如果你想让玩家向上移动首先你需要玩家的位置indexOf("1");
在这个例子中是arrayBoard[2][2];
那么你知道up
是相同的位置,但在第二个嵌套数组arrayBoard[[1][2];
上,等等对于其他方向。
要移动玩家,你必须将目标位置替换为"1"
,将之前的位置替换为"-"
。
现在您将基于if index of "1" + 1 !=="x" && === "g" then finish game
function movement(){}
所以如果你把你的序列写成一个数组seq = ["u","u","d","l","u"];
,你将不得不迭代它,并在每个元素上调用你的function movement(){}
。
indexOf()
需要.map
或循环才能工作。 相关文章:
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- FabricJs-限制主对象内添加对象的移动区域
- 如何从画布上的某个移动事件中获取X和Y
- 触摸移动时切换到新元素
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 停止jQuery UI滑块移动超过给定值
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 如何将chrome扩展功能移植到移动设备(特别是jquery和trello)
- JQuery移动动态分区页面
- XMLHttpRequest在移动设备上的chrome上不起作用
- 如何使bxslider仅在移动视图中处于活动状态
- css停止图像在滚动中移动
- jquery移动对齐按钮取决于内容大小
- 背景图像顶部的滚动图像不移动
- 如何在react js中移动第二个组件
- DataTables在表之间移动行
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标