===============================================================
輸入:m*p 的迷宮、入口、出口 (若不特別指定則分別為 (1,1) 和 (m,p))
輸出:一條自入口至出口的路徑
Video support:
(01) https://youtu.be/XUFSXsDWXnM [8:15] (Read a file (~.txt), Show it in richTextBox)
(02) https://youtu.be/ehoIUTXEZVs [12:55] (Access richTextBox, Show Values in dataGridView)
(03) https://youtu.be/q-Txc6pwPDo [2:58] (Show data in dataGridView using BackColor)
(04) https://youtu.be/E6s4EStl5Eo [1:36] (Show the tour using colors in dataGridView)
(05) https://youtu.be/YLIIXcKXc9A [7:00] (Animation by color changing in dataGridView/Refresh)
基本要求:
(1) 讀入文字檔,內含迷宮的大小和內容;
(2) 自右上的入口至右下的出口,模擬老鼠找出一條路徑。
提示:
迷宮可自檔案讀入、以0/1 表示可走與否;答案則可用 0/1/2/3 表示 可走/不可走/外牆/答案路徑!
加分項目
1. 入口、出口可自行指定;
2. 用 dataGridView 描繪迷宮 ;
3. 用 dataGridView 色塊的變化 (模擬動畫) 呈現老鼠走迷宮的過程;
或貼圖入 dataGridView 的 Cell 中 (下面例子是用 Borland C++ Builder 做的)
進階功能,參考即可...
A. 迷宮可由程式自行隨機產生:
B. 程式產生的迷宮可由4個方向 random 取 (如上圖),亦可8個方向 random 取 (如下圖);
C. 程式產生的迷宮可寫入檔案 (供其它人使用);
延伸想像:
I. 可輸出所有路徑 (如果有兩條以上的路徑);
II. 可輸出最短的路徑;
III. 用 keyborad 控制老鼠,走出迷宮,成為遊戲 (加音效、爆炸物(炸去障礙物)、...)
----------------------- 用 BCB 實作 ----------
以下的迷宮以 StringGrid 為輸出元件;由於只更改 Cells 顏色、內容,效率會好一些 (比起 DrawGrid 用貼圖呈現老鼠、牆壁)
=================================================================================