1 項目介紹
1.1 簡介
鍵盤上下左右控制蛇的前進方向,每吃到一個食物垢油,蛇的長度增加一個單位盆驹,并生成一個新的食物,得分scores加一滩愁;當(dāng)蛇撞到邊界或自己時躯喇,游戲結(jié)束。時間time隨蛇的步子增加硝枉,每走一步time加一廉丽。游戲結(jié)束后,按下空格鍵重新開始游戲妻味,按下回車鍵結(jié)束游戲正压,退出。全程有音樂责球,退出后音樂也停止焦履。
1.2 開發(fā)環(huán)境
開發(fā)語言:Python,pyCharm雏逾,pygame
2 方案
2.1 模塊
pygame
sys
random
pyglet
2.2 數(shù)據(jù)
蛇類和食物類
初始化窗口為600*600
像素塊為25*25
蛇和食物都是正方形的結(jié)點
2.3 接口
蛇的身體設(shè)置為列表嘉裤,初始化蛇有5節(jié)身體,依次遞增
食物為小正方形栖博,隨機生成屑宠,一次一個
字體顯示為函數(shù)控制
2.4 類
蛇類:初始化了各種有關(guān)蛇的屬性。一開始初始化方向為向右仇让,初始化蛇身為長度為五的列表典奉。接著在蛇頭處添加結(jié)點。再刪除最后一個結(jié)點丧叽,判斷是否死亡
食物類:初始化食物小方塊卫玖,隨機設(shè)置食物位置,如果蛇吃到了食物蠢正,則抹掉了該食物骇笔,重新設(shè)置食物
字體:設(shè)置字體,并且可以在窗口中顯示
2.5 流程
先繪制窗口嚣崭,設(shè)置窗口名字為“Snake Game”,設(shè)置時鐘
初始化分?jǐn)?shù)scores和time為0懦傍,是否死亡屬性為false
初始化蛇類與食物類
當(dāng)正常運行時雹舀,如果檢測到鍵盤上下左右輸入了,則改變蛇前進方向
如果碰到四周或者自己的身體粗俱,則死亡
死亡后如果按空格鍵说榆,則重新開始
如果按回車鍵,則結(jié)束進程,游戲結(jié)束
3 關(guān)鍵技術(shù)
3.1 蛇身設(shè)為一個列表
self.body = []
for x in range(5):
self.addnode()
參考文檔和完整的文檔和源碼下載地址: