【发布时间】:2021-07-11 00:24:47
【问题描述】:
我目前正在开发一个国际象棋应用程序。我创建了一个数组,它是这个板上的 board 是 Sqaure 组件,它包含一个 Piece 和一个位置,它是它所在位置的 [x,y] 坐标。
我开始着手在项目中实施运动的第一步。
我的问题是,给定一个像这样的数组[1, 0] 的当前位置如何路径找到 朝向目标位置[2,5] 我知道这不是一个可能的国际象棋移动,我只是在我开始制定规定之前,希望能够刺激任何运动。我目前的功能非常简单,但我不确定我的解释是否足够好
const calculateMovement = (board, piece, x , y, index) => {
// board is a global array, holding all position -
// board = [[0, 0], [1, 0]]
// Current Location of the piece I want to move
// x is row
// y is col
// how to get every piece between the currentLocation and wantedLocation
let currentLocation = [x, y]
let wantedLocation = [8, 8]
}
【问题讨论】:
-
TBH 我不知道为什么您需要在国际象棋中进行任何路径查找,这不像导航有障碍,它是一个二维的开放网格。也许您可以更清楚地解释用例。似乎您宁愿需要知道特定棋子的有效移动,并简单地检查新坐标是否被占用。
-
查看stackoverflow.com/questions/65836721 和stackoverflow.com/questions/65602763 了解表示棋盘和棋子移动的两种不同方式。
标签: javascript reactjs path-finding chess