当前网格,一个10x10的字段,最初所有单元格都是假的(即无墙)。
private var field: Array[Array[Boolean]] = Array.ofDim[Boolean](10, 10)
这是该字段的代码,如果我想检查板上的玩家是否到达板/字段的末尾,我想知道如何编写代码。例如-玩家位置是(9,5)9是该区域的终点,向右移动一格将超出该区域。因此,如何检查是否要求玩家向右移动1个位置,因为该字段已结束却没有任何作用?
您只需要检查下一个位置是否在董事会中。如前所述,x和y的有效位置为0-9。
def canMove(x : Int, y : Int) : Boolean = {
x >= 0 && x < 10 && y >= 0 && y < 10
}
如果x >= 0 && x < 10 && y >= 0 && y < 10
为true,则此函数返回true,否则为false。作为参数,您需要传递下一个位置,例如,如果要检查是否可以向右移动,请调用canMove(players_pos_x + 1, players_pos_y)
。
仅一个提示:考虑将网格的大小设置为常数-如果以后需要更改板的大小,则可以只更改常数。您将不必遍历整个代码,也不必寻找板子尺寸的每种用法。如果遵循此建议,请用“ board_size”常量替换函数中的“ 10”。