我剛剛在python中完成了我的食物填充算法。它運行在一個充滿整數的N * N矩陣上。我想以某種方式將它運作起來。在控制檯上它有可能以某種方式嗎?我想到了在更新之間用wait()更新節點。在python中動畫填充洪水
0
A
回答
2
你可以使用這樣的事情:
#! /usr/bin/python3
import time
m = [ [c for c in line] for line in '''............................
..XXXXXXXXXX...........XXX..
..X........X...........X.X..
..XXXXXX...X....XXXXXXXX.X..
.......X...X....X........X..
....XXXX...XXXXXX........X..
....X....................X..
....X.................XXXX..
....XXXXXXXXXXXXXXXXXXX.....'''.split ('\n') ]
def flood (matrix, start):
maxX = len (matrix [0])
maxY = len (matrix)
tbf = [start]
while tbf:
x, y = tbf [0]
tbf = tbf [1:]
if x < 0 or x >= maxX or y < 0 or y >= maxY: continue
if matrix [y] [x] == 'X': continue
matrix [y] [x] = 'X'
tbf += [ (x + 1, y), (x - 1, y), (x, y + 1), (x, y - 1) ]
print ('\x1b[0J\x1b[1;1H') #Clear screen and position cursor top left
for line in matrix: print (''.join (line))
time.sleep (.2)
#flood (m, (0, 0))
flood (m, (4, 2))
這應該支持ANSI轉義序列任何控制檯(CSI)上工作。您可以使用相同的CSI代碼輸出顏色(Wiki)。
+0
它沒有按我期望的那樣工作,它在每步之後打印整個地圖,而不是更新原來打印的那個,不過,它的好處無論如何 – gen
+0
您的控制檯是否支持ANSI?你使用哪個控制檯? – Hyperboreus
+0
試試這個:在你的控制檯上print('\ x1b [31; 1m這是紅色')'。如果它支持ANSI,則應該打印爲紅色。 – Hyperboreus
相關問題
- 1. 洪水填充算法Python
- 2. Minecraft洪水填充
- 3. 洪水填充Actionscript3
- 4. 用java填充洪水填充對象
- 5. 洪水填充算法
- 6. 洪水填充崩潰
- 7. jQuery洪水填充算法
- 8. 容易洪水填充
- 9. 洪水填充使用matlab
- 10. 洪水填充實現
- 11. 洪水填充解釋
- 12. 立方(洪水)填充
- 13. 使用OpenCV洪水填充
- 14. EXC_BAD_ACCESS洪水填充目標C中
- 15. StackOverflow在我的洪水填充
- 16. Python函數相當於Python(洪水填充)
- 17. 洪水填充空間複雜度
- 18. 二維網格的洪水填充
- 19. 實施洪水填充算法
- 20. 遞歸 - 洪水填充算法
- 21. 遞歸洪水填充 - 檢查邊界
- 22. 重複洪水填充優化
- 23. 洪水填充獲取和RGB值
- 24. 用C++填充洪水的困難
- 25. 高效的8連接洪水填充
- 26. 洪水填充遞歸算法
- 27. 洪水填充算法 - 房間面積
- 28. 圖像處理洪水填充圖像
- 29. 多個文件的洪水填充
- 30. 洪水填充算法 - 迷宮導航
您可以使用['colorconsole'](https://pypi.python.org/pypi/colorconsole)這將允許您做光標定位以及根據需要着色輸出。 – martineau