結對-貪吃蛇遊戲-結對項目總結
一、系統功能說明
貪食蛇遊戲是一個深受人們喜愛的遊戲:一條蛇在密閉的圍墻內,在圍墻內出現食物,通過按鍵控制蛇向上下左右四個方向移動,蛇撞到食物,則食物被吃掉,蛇的身體增加一節。如果蛇在移動的過程中,撞到墻壁或身體的交叉(蛇頭撞到自己的身體)遊戲結束。現要求利用python來實現該遊戲。
二、基本功能
1.
提供一個圖形模式下的界面。
2.
支持用鍵盤的方向鍵來控制蛇的移動,蛇可以向上、下、左、右四個方向移動。
3.
當蛇頭碰到食物時,食物被吃掉,蛇的身體增長一節。
4.
初始場景內隨即出現1個食物,當食物被吃掉時,再隨機出現一個食物。
5.
要有記分機制,沒吃掉一個食物,增加相應的分數。
6.
蛇碰到墻壁或是自己身體的一部分則遊戲結束。
三、源代碼
四、效果
五、不足之處
1.沒有加添背景、吃食物、遊戲結束的音效
2.未設置食物隨機生成的位置與蛇身體沖突重新生成
3.沒設置中途暫停
六、經驗教訓
本次項目的開發對鍵盤事件和鼠標點擊事件的監聽有了更深的了解。在設計過程中,
遇到的最大問題是:系統設計了快捷鍵和鼠標點擊事件,添加快捷鍵監聽事件和鼠標監
聽事件後,程序運行時,每次按快捷鍵後就不能響應鼠標事件,開始點擊鼠標後就不能
響應按鍵事件,原因在於,如果開始運行後按快捷鍵則監聽事件的焦點在按鍵上,所以
不能響應鼠標點擊事件。如果開始運行後點擊鼠標則監聽事件的焦點在鼠標上,所以不
能響應快捷鍵按鍵事件。解決的方法是為每個鼠標監聽事件添加按鍵監聽事件。
七、總結
通過這次編程,讓我學到了許多編程知識,我發現僅僅運用課上所學無法編實際問題,實際執行過程與預想不一致,偶爾會出現bug。很考驗我的邏輯與耐心,在編程中我學到了許多編程知識,學會了許多的調試程序的方法,在實際編程中,我遇到許多困難,例如:蛇的頭部與食物的檢測問題,蛇的移動與顯示問題,蛇的轉向問題,食物的隨機生成問題等等,我通過在網上搜集資料與自己的分析,終於從最初的一頭霧水理出一絲頭緒,最終終於完成了這個遊戲,使我對編程產生了強烈的興趣,也是我明白了萬事開頭難,只要入門,就可以完成許多看似不可能的事。
結對-貪吃蛇遊戲-結對項目總結