繳交時間:
甲班- 2016/11/20 23:00 前繳交至moodle
乙班- 2016/11/20 23:00 前繳交至moodle
===============================================================
輸入:m*p 的迷宮、入口、出口 (若不特別指定則分別為 (1,1) 和 (m,p))
輸出:一條自入口至出口的路徑
基本要求:
(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 用貼圖呈現老鼠、牆壁)
================================================================================