1. 程式人生 > >結對-貪吃蛇遊戲-結對項目總結

結對-貪吃蛇遊戲-結對項目總結

mce 添加 記分 ges 經驗教訓 向上 效果 python 交叉

一、系統功能說明

貪食蛇遊戲是一個深受人們喜愛的遊戲:一條蛇在密閉的圍墻內,在圍墻內出現食物,通過按鍵控制蛇向上下左右四個方向移動,蛇撞到食物,則食物被吃掉,蛇的身體增加一節。如果蛇在移動的過程中,撞到墻壁或身體的交叉(蛇頭撞到自己的身體)遊戲結束。現要求利用python來實現該遊戲。


二、基本功能
1.
提供一個圖形模式下的界面。
2.

支持用鍵盤的方向鍵來控制蛇的移動,蛇可以向上、下、左、右四個方向移動。

3.

當蛇頭碰到食物時,食物被吃掉,蛇的身體增長一節。
4.

初始場景內隨即出現1個食物,當食物被吃掉時,再隨機出現一個食物。
5.

要有記分機制,沒吃掉一個食物,增加相應的分數。

6.

蛇碰到墻壁或是自己身體的一部分則遊戲結束。

三、源代碼

技術分享

技術分享

四、效果

技術分享技術分享

五、不足之處

1.沒有加添背景、吃食物、遊戲結束的音效

2.未設置食物隨機生成的位置與蛇身體沖突重新生成

3.沒設置中途暫停

六、經驗教訓

本次項目的開發對鍵盤事件和鼠標點擊事件的監聽有了更深的了解。在設計過程中,

遇到的最大問題是:系統設計了快捷鍵和鼠標點擊事件,添加快捷鍵監聽事件和鼠標監

聽事件後,程序運行時,每次按快捷鍵後就不能響應鼠標事件,開始點擊鼠標後就不能

響應按鍵事件,原因在於,如果開始運行後按快捷鍵則監聽事件的焦點在按鍵上,所以

不能響應鼠標點擊事件。如果開始運行後點擊鼠標則監聽事件的焦點在鼠標上,所以不

能響應快捷鍵按鍵事件。解決的方法是為每個鼠標監聽事件添加按鍵監聽事件。

七、總結

通過這次編程,讓我學到了許多編程知識,我發現僅僅運用課上所學無法編實際問題,實際執行過程與預想不一致,偶爾會出現bug。很考驗我的邏輯與耐心,在編程中我學到了許多編程知識,學會了許多的調試程序的方法,在實際編程中,我遇到許多困難,例如:蛇的頭部與食物的檢測問題,蛇的移動與顯示問題,蛇的轉向問題,食物的隨機生成問題等等,我通過在網上搜集資料與自己的分析,終於從最初的一頭霧水理出一絲頭緒,最終終於完成了這個遊戲,使我對編程產生了強烈的興趣,也是我明白了萬事開頭難,只要入門,就可以完成許多看似不可能的事。

結對-貪吃蛇遊戲-結對項目總結