大三課程設(shè)計周自己一個人寫的迷宮小游戲
(一)課題內(nèi)容
- 實(shí)現(xiàn)走迷宮。
- 主要功能為界面顯示、上下左右鍵的響應(yīng)以及當(dāng)前步數(shù)統(tǒng)計。
- 通過該課題全面熟悉數(shù)組、字符串等的使用,掌握程序設(shè)計的基本方法及友好界面的設(shè)計。
(二)課題要求
1. 基本要求
(1)游戲界面顯示:迷宮地圖、上下左右移動的特效。
(2)動作選擇:上下左右鍵對應(yīng)于上下左右的移動功能,遇到障礙的處理。
(3)得分統(tǒng)計功能:步數(shù)等。
2. 擴(kuò)展要求
(1)用戶數(shù)據(jù)管理。
(2)設(shè)計一個自動走迷宮的程序,使得得到最短路徑。
(三)組隊(duì)分工情況
- 團(tuán)隊(duì)名稱:import python
- 團(tuán)隊(duì)成員:Wonz(沒錯就我一個人)
- 分工:全部(好像給自己挖了個巨坑)
(四)ToDo
- 2018.10.29-2018.10.30:學(xué)習(xí)
PyQt5+Tkinter - 2018.10.31:學(xué)習(xí)
Pygame、熟悉Python、實(shí)現(xiàn)隨機(jī)生成迷宮地圖程序 - 2018.11.1:實(shí)現(xiàn)游戲界面程序、得分統(tǒng)計功能程序
- 2018.11.2:學(xué)習(xí)
Python+MySQL,實(shí)現(xiàn)用戶數(shù)據(jù)管理程序 - 2018.11.3-2018.11.5:設(shè)計
AI 算法,實(shí)現(xiàn)自動走迷宮程序(DFS、BFS、強(qiáng)化學(xué)習(xí)、遺傳算法)
(五)實(shí)際進(jìn)度
- 2018.10.29:學(xué)習(xí)
PyQt5 - 2018.10.30:學(xué)習(xí)
Tkinter - 2018.10.31:放棄
PyQt5、Tkinter,轉(zhuǎn)Pygame - 2018.11.1:嘗試實(shí)現(xiàn)迷宮地圖程序
- 2018.11.2-2018.11.3:實(shí)現(xiàn)迷宮地圖程序
- 2018.11.4-2018.11.6:生成角色、實(shí)現(xiàn)鍵盤控制走迷宮、實(shí)現(xiàn)計分功能,改障礙處理的 bug(改了三天)
- 2018.11.7:嘗試實(shí)現(xiàn)
遺傳算法自動走迷宮,設(shè)置數(shù)據(jù)庫連接 - 2018.11.8:放棄
遺傳算法,轉(zhuǎn)向強(qiáng)化學(xué)習(xí)中的Deep Q Network實(shí)現(xiàn)自動走迷宮 - 2018.11.9:
Deep Q Network中的TensorFlow框架看不懂,放棄,轉(zhuǎn)DFS,驗(yàn)收 - 2018.11.10:實(shí)現(xiàn)人工生成迷宮地圖,非隨機(jī)生成
- 2018.11.11:凌晨 3 點(diǎn)睡,早上 7 點(diǎn)多起,一直寫報告到下午 5 點(diǎn)
(六)文件說明
- main.py 為主函數(shù)
- maze.py 為隨機(jī)生成迷宮函數(shù)
- color.py 為存儲顏色函數(shù)
- main_new.py 為被老師驗(yàn)收之后自己重寫的主函數(shù)
- mapp.py 為被老師驗(yàn)收之后自己重寫的自己設(shè)計的迷宮(非隨機(jī)生成迷宮)
- 由于時間等原因,第二種生成迷宮的 AI 算法還未實(shí)現(xiàn)
(七)結(jié)果展示
1. 隨機(jī)生成地圖版本
- 游戲界面

image
- 開始游戲:左上角有步數(shù)統(tǒng)計

image
- 遇到障礙的信息反饋

image
- AI自動走迷宮(程序還有待完善,步數(shù)統(tǒng)計存在問題)

image
- 存在的問題:有時 AI 程序會崩潰,暫時還沒有找到 bug

image
2. 非隨機(jī)生成地圖的迷宮
- 游戲界面:起點(diǎn)在最右邊,終點(diǎn)在最左邊紅色位置

image
- 開始游戲:左上角有步數(shù)統(tǒng)計

image
- 遇到障礙的信息反饋

image
- 走出迷宮:輸出“Win”

image
(八)不足與反思
- 基礎(chǔ)不扎實(shí):選了不是很熟悉的 Python 語言,期間復(fù)習(xí)語法也花了點(diǎn)時間
- 自己給自己挖坑:拒絕了同學(xué)們的組隊(duì)邀請,一個人做三個人的任務(wù),結(jié)果做不好
- 時間管理不夠高效:進(jìn)度安排不夠科學(xué),總是完不成自己規(guī)定的任務(wù)
- 需求不明確:確實(shí)是自己沒有問清楚老師的需求,導(dǎo)致自己的程序老師不滿意,是自己的問題