一、前言
<<點我獲取【原始碼和可直接運行檔案】,或滑至文末獲取<<
文章目錄
- 一、前言
- 二、實作效果
- 三、環境要求
- 四、原始碼和成品分享
- 五、總結
二、實作效果

<<點我獲取【原始碼和可直接運行檔案】,或滑至文末獲取<<
個人最高紀錄

三、環境要求
- python 3+
- pygame包 安裝命令:打開cmd 輸入:
pip install pygame
四、原始碼和成品分享
1. 完整版原始碼掃下方碼,回復:貪吃蛇原始碼,進行獲取;
2. 可直接運行版掃下方碼,回復:貪吃蛇游戲,進行獲取;

蛇的身體判斷邏輯和食物代碼如下:
import pygame,sys,random
SCREEN,dirction_node = 600, {pygame.K_LEFT:['left',-25],pygame.K_RIGHT:['right',25],pygame.K_UP:['top',-25],pygame.K_DOWN:['top',25]} # 螢屏尺寸,移動的定義
class Snake: # 蛇類
def __init__(self): # 初始化各種需要的屬性 [開始時默認向右/身體塊x5]
self.dirction, self.body = pygame.K_RIGHT, []
[self.add_node() for _ in range(5)]
def add_node(self):
node = pygame.Rect(((self.body[0].left, self.body[0].top) if self.body else (0, 0)) + (25, 25)) # 隨時增加蛇塊
setattr(node, dirction_node[self.dirction][0], getattr(node, dirction_node[self.dirction][0]) + dirction_node[self.dirction][1])
self.body.insert(0, node)
def is_dead(self):
body_h = self.body[0]
if body_h.x not in range(SCREEN) or body_h.y not in range(SCREEN) or body_h in self.body[1:]: # 撞墻、撞自己則死亡
return True
def move(self):
self.add_node()
self.body.pop()
def change_direction(self, curkey): # 改變方向 但是左右、上下不能被逆向改變
LR, UD = [pygame.K_LEFT, pygame.K_RIGHT], [pygame.K_UP, pygame.K_DOWN]
if curkey in LR + UD:
if not ((curkey in LR) and (self.dirction in LR) or (curkey in UD) and (self.dirction in UD)):
self.dirction = curkey
class Food: # 食物類
def __init__(self):
self.rect = pygame.Rect(-25, 0, 25, 25)
def remove(self):
self.rect.x = -25
def set(self):
if self.rect.x == -25:
allpos = [pos for pos in range(75, SCREEN - 75, 25)] # 生成的食物距離墻在75 ~ SCREEN-55 之間
self.rect.left, self.rect.top = random.choice(allpos), random.choice(allpos)
def show_text(screen, pos, text, color, font_size=30):
cur_font = pygame.font.SysFont("SimHei", font_size) # 設定文字樣式
text_fmt = cur_font.render(text, True, color) # 設定文字內容
screen.blit(text_fmt, pos) # 繪制文字
五、總結
就這樣,我們從0開始優雅的揭開了pygame的面紗!你可以利用這個做一些有趣的事情
當然,這個可能難度不大,對于老鳥老說很簡單(勿噴),
但是對于新手來說特別適合練手,當然,這個代碼不知道能保存多久會失效,所以請抓緊收藏嘗試!如果感覺可以還請奉獻愛心點點贊!
當然,這個只是我腦洞的一個開端,好玩的還在后面!
Python 是一種解釋型、面向物件、動態資料型別的高級程式設計語言,
Python 由 Guido van Rossum 于 1989 年底發明,第一個公開發行版發行于 1991 年,
像 Perl 語言一樣, Python 源代碼同樣遵循 GPL(GNU General Public License) 協議,
官方宣布,2020 年 1 月 1 日, 停止 Python 2 的更新,
Python 2.7 被確定為最后一個 Python 2.x 版本,
Python 是一個高層次的結合了解釋性、編譯性、互動性和面向物件的腳本語言,
Python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/390363.html
標籤:python
