好的,现在我正在尝试使用 10x10 棋盘创建基本的四连胜游戏。(范围从A到J和1到10。)现在,游戏的目标是禁止玩家进入一个已经使用过的“坐标”,并且该坐标不能“浮动”。
例如:当玩家选择A9,但A1到A8还是空的时候,选择不存在。(就像你从柱子上掉下一枚硬币)
我想问的是,我如何验证以前的值没有被使用?我在考虑数组,但我不知道如何使它工作。
这是我编写的用于验证坐标的代码:
Function Validate-Move{
do{
do {
$script:coordinateLetter = Read-host "Please enter a letter from A to J"
if($script:coordinateLetter.Length -gt 1){}
}
while ($script:coordinateLetter.Length -gt 1)
}
until($script:coordinateLetter -cmatch "[A-J]")
do{
$script:coordinateNumber = Read-host "Please enter a number from 1 to 10!"
}
until($script:coordinateNumber -match "^([1-9]|[1][0])$")
}
$playerMove = $coordinateLetter + $coordinateNumber
Write-host "You have chosen " -NoNewline; Write-host "$fullCoordinate" -for green
在这段代码之后,我想检查该值是否可以使用。Jerry Lee Ford 的书在“三连冠”游戏中使用了以下方法:
if (($move -eq "A1") -and ($A1 -ne " ")) {$result = "Invalid"}
if (($move -eq "A2") -and ($A2 -ne " ")) {$result = "Invalid"}
if (($move -eq "A3") -and ($A3 -ne " ")) {$result = "Invalid"}
if (($move -eq "B1") -and ($B1 -ne " ")) {$result = "Invalid"}
等等。但这意味着我必须制作 100 个变量(!)并为所有变量写一个检查?
谁能指出我正确的方向?