1. 程式人生 > >結對-貪吃蛇-開發過程

結對-貪吃蛇-開發過程

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 and
dir != 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、吃到食物、蛇身加長遊戲繼續;碰壁以及碰到身體、遊戲結束

結對-貪吃蛇-開發過程