難度) (得到最好的移動方式) 最適移動 = -1 for i in range(寬空格): if 潛在移動[i] > 最適移動 and 空區域(幕, i): 最適移動 = 潛在移動[i] 好的移動 = [] for i in range(len(潛在移動)): if 潛在移動[i] == 最適移動 and 空區域(幕, i): 好的移動.append(i) return random.choice(好的移動)
if 幕[行][y] == 空: return y return -1 def 空區域(幕, 行): (回傳TURE如果是空白值 反之回傳FALSE) if 行 < 0 or 行 >= (寬空格) or 幕[行][0] != 空: return False return True def 空間判斷(幕): (如果沒有任何空格在幕上,則返回True) for x in range(寬空格): for y in range(高空格): if 幕[x][y] == 空: return False return True
for y in range(高空格): if 幕[x][y] == 標題 and 幕[x+1][y] == 標題 and 幕[x+2][y] == 標題 and 幕[x+3][y] == 標題: return True (檢查垂直空間) for x in range(寬空格): for y in range(高空格 - 3): if 幕[x][y] == 標題 and 幕[x][y+1] == 標題 and 幕[x][y+2] == 標題 and 幕[x][y+3] == 標題: return True (檢查對角線空間) for x in range(寬空格 - 3): for y in range(3, 高空格): if 幕[x][y] == 標題 and 幕[x+1][y-1] == 標題 and 幕[x+2][y-2] == 標題 and 幕[x+3][y-3] == 標題: return True for x in range(寬空格 - 3): for y in range(高空格 - 3): if 幕[x][y] == 標題 and 幕[x+1][y+1] == 標題 and 幕[x+2][y+2] == 標題 and 幕[x+3][y+3] == 標題: return True