關于編寫游戲,是博主非常向往的東西(博主喜愛游戲),編寫游戲得一步一步的走!今天我簡單的編寫一下非常經典的游戲貪吃蛇?。。。?/p>
效果圖:

首先引入pygame模塊
pip install pygame
關于編寫貪吃蛇有如下幾個步驟!依次思考
1、設置背景大小,即游戲框大小,---像素(px)
2、設置顏色,蛇的顏色,背景顏色,豆子的顏色
#pygame游戲庫,sys操控python運行的環境import pygame,sys,random#這個模塊包含所有pygame所使用的常亮from pygame.locals import *#1,定義顏色變量#0-255 0黑色 255白色redColor = pygame.Color(255,0,0)#背景為黑色blackColor = pygame.Color(0,0,0)#貪吃蛇為白色whiteColor = pygame.Color(255,255,255)
3、設置蛇的初始位置和長度,豆子的初始位置及被吃后隨機出現的位置(如下),及蛇的速度
4、設置按鍵,控制蛇的上下左右
5、設置蛇通過與豆子的位置重合判斷是否吃了豆子,此時蛇長度加一,豆子消失同時隨機出現
6、設置開始函數(1,,3,4,5都可以設置在開始函數里),結束函數,并判斷死亡方式,及游戲結束方式(直接退出,或者游戲結束)
def main(): #初始化pygame pygame.init() #定義一個變量來控制速度 fpsClock=pygame.time.Clock() #創建pygame顯示層,創建一個界面 playsurface=pygame.display.set_mode((640,480)) pygame.display.set_caption('貪吃蛇') #初始化變量 #貪吃蛇初始坐標位置 (先以100,100為基準) snakePosition = [100,100] #初始化貪吃蛇的長度列表中有個元素就代表有幾段身體 snakeBody = [[100,100],[80,100],[60,100]] #初始化目標方向額位置 targetPosition = [300,300] #目標方塊的標記 目的:判斷是否吃掉了這個目標方塊1 就是沒有吃 0就是吃掉 targetflag = 1 #初始化方向 --》往右 direction = 'right' #定義一個方向變量(人為控制 按鍵) changeDirection = directiondef gameover(): #游戲結束 pygame.quit() sys.exit()
關于游戲運行可以當做一個時間,通過不斷地循環是蛇不斷地前進(設置按鍵,憑個人喜好按鍵)
while True: for event in pygame.event.get(): #從隊列中獲取事件 if event.type == QUIT: pygame.quit() sys.exit() elif event.type == KEYDOWN: if event.key == K_d: changeDirection = 'right' if event.key == K_a: changeDirection = 'left' if event.key ==K_w: changeDirection = 'up' if event.key ==K_s: changeDirection = 'down' #對應鍵盤上的esc文件 if event.key == K_ESCAPE: pygame.event.post(pygame.event.Event(QUIT))
新聞熱點
疑難解答