中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
玩過貪吃蛇嗎?5 分鐘教你用 Python 實現(xiàn)貪吃蛇!

貪吃蛇作為一款經典小游戲,早在 1976 年就面世了,我最早接觸它還是在家長的諾基亞手機中。

盡管貪吃蛇的歷史相對比較久遠,但它卻有著十分頑強的生命力,保持經久不衰,其中很重要的原因便是游戲廠家不斷的對其進行更新迭代?,F(xiàn)在,這款游戲無論是游戲場景、規(guī)則等都變得十分豐富。

接下來,我們看一下如何通過 Python 簡單的實現(xiàn)這款小游戲。

規(guī)則

  • 要有游戲主界面、貪吃蛇、食物;

  • 能夠控制貪吃蛇移動并獲取食物;

  • 貪吃蛇吃了食物后,增加自身長度、分數,食物消失并隨機生成新的食物;

  • 貪吃蛇觸碰到周圍邊界或自己身體時,游戲結束。

環(huán)境

  • 操作系統(tǒng):Windows

  • Python 版本:3.6

  • 涉及模塊:sys、random、pygame

實現(xiàn)

首先,安裝第三方庫 pygame,使用 pip install pygame 即可。

? 游戲主界面

SCREEN_X = 500SCREEN_Y = 500screen_size = (SCREEN_X, SCREEN_Y)screen = pygame.display.set_mode(screen_size)pygame.display.set_caption('貪吃蛇')

? 貪吃蛇

初始化

def __init__(self):    self.dirction = pygame.K_RIGHT    self.body = []

移動

def addNode(self):    left, top = (0, 0)    if self.body:        left, top = (self.body[0].left, self.body[0].top)    node = pygame.Rect(left, top, 20, 20)    if self.dirction == pygame.K_LEFT:        node.left -= 20    elif self.dirction == pygame.K_RIGHT:        node.left += 20    elif self.dirction == pygame.K_UP:        node.top -= 20    elif self.dirction == pygame.K_DOWN:        node.top += 20    self.body.insert(0, node)def delNode(self):    self.body.pop()

改變方向

def changeDirection(self, curkey):    LR = [pygame.K_LEFT, pygame.K_RIGHT]    UD = [pygame.K_UP, pygame.K_DOWN]    if curkey in LR + UD:        if (curkey in LR) and (self.dirction in LR):            return        if (curkey in UD) and (self.dirction in UD):            return        self.dirction = curkey

死亡判斷

def isDead(self):    # 撞墻    if self.body[0].x not in range(SCREEN_X):        return True    if self.body[0].y not in range(SCREEN_Y):        return True    # 撞自己    if self.body[0] in self.body[1:]:        return True    return False

? 食物

投放食物

def set(self):    if self.rect.x == -20:        allpos = []        for pos in range(20, SCREEN_X - 20, 20):            allpos.append(pos)        self.rect.left = random.choice(allpos)        self.rect.top = random.choice(allpos)        print(self.rect)

吃掉食物

def remove(self):    self.rect.x = -20

? 文字顯示

顯示方法

def show_text(screen, pos, text, color, font_bold=False, font_size=30, font_italic=False):    # 設置文字大小    cur_font = pygame.font.SysFont("宋體", font_size)    # 加粗    cur_font.set_bold(font_bold)    # 斜體    cur_font.set_italic(font_italic)    # 設置內容    text_fmt = cur_font.render(text, 1, color)    # 繪制文字    screen.blit(text_fmt, pos)

顯示分數

show_text(screen, (50, 400), 'scores: ' + str(scores), (103, 213, 213))

顯示死亡提示

show_text(screen, (150, 50), 'GAME OVER', (227, 29, 18), False, 50)show_text(screen, (140, 100), "Press space to try again", (0, 0, 22), False, 30)

? 吃到食物

當貪吃蛇吃掉食物,增加蛇身長度、分數,食物消失,重新投放食物。

if food.rect == snake.body[0]:    scores += 1    food.remove()    snake.addNode()# 投放食物food.set()

? 最終效果



本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
python-85行代碼完成貪吃蛇和關卡升級:是男人就堅持到第10關!
7個學妹看見都驚呆的Python小項目!【附源碼】
【python】明天情人節(jié),給大家?guī)硪恍┚幊瘫戆仔〕绦颍o大家助助興呀~
童年記憶第三彈?。?!用python寫一個天天酷跑
Python入門學習:一步步教你怎么用Python寫貪吃蛇游戲
100個Python實戰(zhàn)項目(九)制作貪吃蛇游戲(評論抽獎送書)
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服