我正在开发一款战舰游戏,此时我已经为游戏创建了一个网格,并且 for 循环调用了“get_location”函数来为每艘船随机生成位置。有“if”语句测试船舶是否适合在放置之前选择的位置,然后有一个添加船舶功能将船舶放置在网格上。但有时 AI 将船放置并脱离网格,我得到“列表索引超出范围”错误。
我知道错误在说什么,但我不知道如何解决它。我希望有人可以帮助我解决这个问题。这是我的代码中导致问题的部分:
def get_location(索引):
# Get the name and size from the lists using the index.
name = VESSEL_NAMES[index]
size = VESSEL_SIZES[index]
column = random.randint(0, GRID_WIDTH)
row = random.randint(0, GRID_HEIGHT)
direction = random.randint(H, V) # H=0, V=1 (global constants)
print()
if (direction == H and column + size > GRID_WIDTH) :
get_location(index)
print()
if (direction == V and row + size > GRID_HEIGHT) :
get_location(index)
print()
else :
add_vessel(index, row, column, direction)
提前感谢您的回复。