結對-貪吃蛇-開發過程
阿新 • • 發佈:2017-10-01
eve 組成 width 方向 增長 mode += 繪制 顯示
項目名稱:貪吃蛇
小組成員:邵瀚慶、徐宏璇
碼雲地址:https://gitee.com/nothingbigger/snake/tree/master
————————————————————————————————————————————
階段一:熟悉Python,pygame,能夠熟練操作Python
階段二:
功能分析:
1、玩家只能在屏幕上固定的區域內玩遊戲
2、蛇的身體由一個個小方塊來構成,蛇頭由兩個小方塊構成;
3、食物由一個方塊構成,食物要隨機出現在遊戲區域
4、玩家可用鍵盤上的↑、↓、←、→四個方向鍵來控制蛇的運行方向;
5、當蛇在移動過程中,吃到了食物,蛇身增長一節,當前食物消失,並且在另一處遊戲區內隨機出現一個食物;
6、蛇每增長一節,計分板分數相應增加;
7、得分實時顯示在屏幕頂部
8、蛇在移動的過程中,蛇頭不能撞上蛇身、不能撞上窗口邊框,若這兩種情形發生任意一種,則認為蛇已死,在遊戲區域內顯示“GAME OVER”信息,並在頂部顯示所得分數,遊戲結束;
項目開發:
1、首先需要調用pygame模塊
2、設置一個640 × 480的遊戲窗口
1 width,height=640,480 2 screen=pygame.display.set_mode((width,height))
3、繪制蛇身、食物、並設置控制蛇方向的按鍵
1 snake = [pygame.Rect(10, 10, 10, 10), pygame.Rect(10, 20, 10, 10)]
if food is None: food = pygame.Rect(randrange(48) * 10, randrange(48) * 10, 10, 10) pygame.draw.rect(screen, (0, 0, 0), food)
1 if event.type == pygame.KEYDOWN: 2 if event.key == pygame.K_UP and dir != down: 3 dir = up 4 if event.key == pygame.K_DOWN anddir != up: 5 dir = down 6 if event.key == pygame.K_LEFT and dir != right: 7 dir = left 8 if event.key == pygame.K_RIGHT and dir != left: 9 dir = right
4、添加時鐘用於計時、設置計分板用以計算並顯示當前玩家分數
5、判斷蛇是否吃到食物、是否碰到自己身體和觸碰墻壁、最後判斷是否死亡
1 if node in snake or node.left > width or node.top > height or node.left < 0 or node.top < 0: 2 dead = True 3 continue 4 5 if node == food: 6 food = None 7 score += 10 8 else: 9 del snake[0]
6、吃到食物、蛇身加長遊戲繼續;碰壁以及碰到身體、遊戲結束
結對-貪吃蛇-開發過程