以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
首先,让我们澄清一下你的问题。你似乎是在询问为什么在使用 if(map[x1][y1] == map[x2][y2]) 时,字符 'A' 和 'B' 可以被消除。这个问题的答案在于你的程序逻辑。
在你的程序中,map 是一个二维字符数组,代表了游戏的盘面。当你输入两个位置 (x1, y1) 和 (x2, y2) 后,程序检查这两个位置上的字符是否相同。如果相同,则这两个字符可以被消除,并且程序会更新这两个位置的字符。
关于 'A' 和 'B' 能够被消除的原因,这完全取决于你的游戏规则实现。在你的代码中,只要两个位置的字符相同,无论它们是 'A'、'B' 还是其他任何字符,都会被消除。这是由 if(map[x1][y1] == map[x2][y2]) 这个条件判断实现的。
关于你的代码,我有一些建议:
- 代码中存在一些语法错误和拼写错误,例如
Jelset 应该是 else。你需要修复这些错误。 - 在更新盘面时,你使用了
map[x1][y1]=**; 这样的代码。这可能是一个错误,因为你可能在尝试使用两个星号来表示一个空白格子,但是这样的表示法在C语言中是不正确的。你可能需要用一个特定的字符(例如空格 ' ')来表示空白格子。 - 你的代码似乎不完整,有些部分(例如更新盘面的部分和读取输入的部分)没有完整地展示出来,这可能会导致一些逻辑上的问题。
最后,确保你的程序正确地实现了游戏规则。例如,你需要确保程序能够正确地读取玩家输入的位置,并且正确地判断两个位置的字符是否匹配。如果匹配,则更新盘面并减少剩余的格子数量;如果不匹配,则输出 "Uh-oh",并减少玩家的机会。当所有字符都匹配或者玩家的机会用完时,程序应该结束。