趣学python3(26)-pygame-蛇身运动
生活随笔
收集整理的這篇文章主要介紹了
趣学python3(26)-pygame-蛇身运动
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import sys, pygame
import random
from collections import deque
pygame.init()
#code:劉興
size = width, height = 320, 240
black = 0, 0, 0
snakeNodeSize=(24,24)screen = pygame.display.set_mode(size)snakeNodeImage = pygame.image.load("snake1.png")
snakeNode = pygame.transform.scale(snakeNodeImage,snakeNodeSize)
snakeNodeRect = snakeNode.get_rect()
print(snakeNode.get_size())
print(snakeNodeRect.width,snakeNodeRect.height)
snakeNodeDeque=deque([])#蛇節點隊列
fpsClock = pygame.time.Clock()
while True:for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()sys.exit()runSpeed = [24, 24]runDirection=random.randint(1,4)#left,right,up,downif runDirection==1:runSpeed[1]=0 runSpeed[0]=-runSpeed[0]elif runDirection==2:runSpeed[1]=0 elif runDirection==3:runSpeed[0]=0runSpeed[1]=-runSpeed[1]elif runDirection==4:runSpeed[0]=0 snakeNodeRect= snakeNodeRect.move(runSpeed)if snakeNodeRect.left < 0 :snakeNodeRect.x=width-snakeNodeRect.widthif snakeNodeRect.right > width:snakeNodeRect.x=0 if snakeNodeRect.top < 0:snakeNodeRect.y=height-snakeNodeRect.heightif snakeNodeRect.bottom > height:snakeNodeRect.y=0snakeNodeHeadNew = snakeNodesnakeNodeHeadNewRect= snakeNodeRectsnakeNodeDeque.append((snakeNodeHeadNew,snakeNodeHeadNewRect))if len(snakeNodeDeque)>10:snakeNodeAbandon=snakeNodeDeque.popleft()del snakeNodeAbandonscreen.fill(black) for snakeNodeData in snakeNodeDeque:screen.blit(snakeNodeData[0],snakeNodeData[1])pygame.display.update()fpsClock.tick(5)
總結
以上是生活随笔為你收集整理的趣学python3(26)-pygame-蛇身运动的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java基础学习笔记(三)
- 下一篇: webService、webSocket