0
A
回答
4
在國際象棋程序(通常用於計算最佳移動,解決謎語等)內部使用10×10板,其中可見和可播放板使用中間8×8場。 (邊距有助於簡化代碼。)爲了簡化內存管理,通常使用線性內存來存儲這些內容,即100個領域。然後使用board[(y+1) * 10 + (x+1)]
計算板的場的位置,其中x,y在0..7的範圍內。 (由board = [ 0 ] * 100
初始化。)
所以你可能想要使用它,以防萬一你的程序後來應該擴展到也計算移動或保持兼容的庫這樣做。
至於顯卡,我建議使用此板:
A B C D E F G H
------- ------- ------- ------- ------- ------- ------- -------
| @[email protected] | %~b | [email protected] | \o*o/ | __+__ | [email protected] | %~b | @[email protected] |
8| @@@ | `'dX | @@@ | @@@ | `@@@' | @@@ | `'dX | @@@ |8
| [email protected]@@b | [email protected]@b | ./A\. | [email protected]@@b | [email protected]@@b | ./A\. | [email protected]@b | [email protected]@@b |
------- ------- ------- ------- ------- ------- ------- -------
| _ | _ | _ | _ | _ | _ | _ | _ |
7| (@) | (@) | (@) | (@) | (@) | (@) | (@) | (@) |7
| [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] |
------- ------- ------- ------- ------- ------- ------- -------
| | . . . | | . . . | | . . . | | . . . |
6| | . . . | | . . . | | . . . | | . . . |6
| | . . . | | . . . | | . . . | | . . . |
------- ------- ------- ------- ------- ------- ------- -------
| . . . | | . . . | | . . . | | . . . | |
5| . . . | | . . . | | . . . | | . . . | |5
| . . . | | . . . | | . . . | | . . . | |
------- ------- ------- ------- ------- ------- ------- -------
| | . . . | | . . . | | . . . | | . . . |
4| | . . . | | . . . | | . . . | | . . . |4
| | . . . | | . . . | | . . . | | . . . |
------- ------- ------- ------- ------- ------- ------- -------
| . . . | | . . . | | . . . | | . . . | |
3| . . . | | . . . | | . . . | | . . . | |3
| . . . | | . . . | | . . . | | . . . | |
------- ------- ------- ------- ------- ------- ------- -------
| _ | _ | _ | _ | _ | _ | _ | _ |
2| () | () | () | () | () | () | () | () |2
| /_\ | /_\ | /_\ | /_\ | /_\ | /_\ | /_\ | /_\ |
------- ------- ------- ------- ------- ------- ------- -------
| [___] | %~\ | .O. | \o^o/ | __+__ | .O. | %~\ | [___] |
1| [ ] | `')( | \/| [ ] | `. .' | \/| `')( | [ ] |1
| /___\ | <__> | /_\ | /___\ | /___\ | /_\ | <__> | /___\ |
------- ------- ------- ------- ------- ------- ------- -------
A B C D E F G H
我在90年代做這些ASCII圖形回來Tubmud。隨意使用它們。
2
我會用這個問題嵌套列表。在國際象棋中,你有一個8×8的網格,它可以很容易地通過Python列表理解魔法建立。
網格= [[」,「] * 8有效範圍內的未使用的(8)]
您比可以訪問和通過索引的陣列改變的元素:
grid[0][0] = 'T'
可以使用小寫白色和大寫字母用於黑色數字的字母,以及它們的第一個字母,例如黑色女王的「Q」。
字典對我來說看起來並不好,因爲很難進行操作來檢查有效的移動或某物,因爲您沒有其他方法通過迭代所有值來確定圖形的位置。網格是最自然的。
相關問題
- 1. 國際象棋:獲得所有合法國際象棋棋子
- 2. 國際象棋棋盤人口
- 3. 國際象棋棋盤代表 - 引擎
- 4. 0x88國際象棋棋盤代表
- 5. Java主教國際象棋棋盤
- 6. 沒有出現在國際象棋棋盤上的圖像 - PHP
- 7. 在8x8國際象棋棋盤上的5個皇后
- 8. 在NxM國際象棋棋盤上放置皇后
- 9. 在屏幕上放置Java國際象棋棋盤?
- 10. 國際象棋棋盤上的按鈕座標
- 11. 如何在國王的最短路徑的國際象棋棋盤上做BFS?
- 12. 在wxpython中建模國際象棋棋盤
- 13. 在Android中創建一個國際象棋棋盤
- 14. 「跟隨國際象棋」直播國際象棋遊戲如何?
- 15. 國際象棋棋局職位
- 16. 使用Javascript的簡單國際象棋棋盤
- 17. 使用JavaScript設計國際象棋棋盤
- 18. 國際象棋棋盤使用JavaScript和DOM
- 19. 使用Windows窗體創建國際象棋棋盤
- 20. 打印棋盤排
- 21. 爪哇國際象棋
- 22. 國際象棋negamax功能
- 23. Java國際象棋桌
- 24. 使用backtracking在8x8國際象棋棋盤上執行騎士之旅
- 25. 國際象棋棋盤界面。無法移除孩子。有什麼建議麼?
- 26. JavaScript算法來生產國際象棋棋盤8x8網格模式
- 27. 國際象棋將死算法複雜
- 28. 國際象棋算法概述
- 29. 關於在3d國際象棋棋盤中尋找水量的技巧
- 30. 在C++中創建多維數組國際象棋棋盤的問題
控制檯棋盤是什麼樣的? – Kevin
類似的東西http://a.fsdn.com/con/app/proj/conchess/screenshots/102810.jpg – SKTLZ
這將有助於看到你的字典。馴鹿的答案是完全正確的,嵌套列表將是一個更好的數據結構,但更全面的答案略有取決於你目前代表*件*。 – lvc