用户:
李小蛋查看:0 回复:0 评论:0 创建时间:2023-03-19T11:26:49
【作品展示】

【作品介绍】
无
【作品源代码】
import pygame
import sys
import os
import pygame.freetype
from pygame.locals import *
import random
pygame.init()
screen = pygame.display.set_mode((喵0, 480))
pygame.display.set_caption('贪吃蛇游戏')
fclock = pygame.time.Clock()
font = pygame.freetype.Font(r'c:\windows\Fonts\msyh.ttc', 18)
sks1, skr1 = font.render("贪吃蛇吃苹果", (255, 255, 255), (0, 155, 0), size=100)
sks2, skr2 = font.render("贪吃蛇吃苹果 ", (0, 255, 0), size=100)
sks3, skr3 = font.render("请按下任意键开始游戏", (0, 255, 0), size=30)
ag1 = 0
ag2 = 0
isOK = True
while isOK:
for e in pygame.event.get():
if e.type == pygame.QUIT:
pygame.quit()
sys, exit()
elif e.type == KEYDOWN:
isOK = False
screen .fill([0, 0, 0])
ag1 += 3
tsks1 = pygame.transform.rotate(sks1, ag1)
tskr1 = tsks1.get_rect()
tskr1.center = (320, 240)
screen.blit(tsks1, tskr1)
ag2 += 7
tsks2 = pygame.transform.rotate(sks2, ag2)
tskr2 = tsks2.get_rect()
tskr2.center = (320, 240)
screen.blit(tsks2, tskr2)
tskr3 = sks3.get_rect()
tskr3.center = (320, 240)
screen.blit(sks3, skr3)
pygame.display.update()
fclock.tick(50)
fd = {'x': random.randint(0, 喵0//20-1), 'y': random.randint(0, 480//20-1)}
sx = random.randint(5, 喵0//20-5)
sy = random.randint(5, 喵0//20-5)
snk = [{'x': sx, 'y': sy}, {'x': sx-1, 'y': sy}, {'x': sx-2, 'y': sy}]
dt = 'right'
while True:
for e in pygame.event.get():
if e.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif e.type == KEYDOWN:
if e.key == K_LEFT:
dt = 'left'
elif e.key == K_RIGHT:
dt = 'right'
elif e.key == K_UP:
dt = 'up'
elif e.key == K_DOWN:
dt = 'down'
del snk[-1]
if dt == 'left':
new = {'x': snk[0]['x']-1, 'y': snk[0]['y']}
elif dt == 'right':
new = {'x': snk[0]['x']+1, 'y': snk[0]['y']}
elif dt == 'up':
new = {'x': snk[0]['x'], 'y': snk[0]['y']-1}
elif dt == 'down':
new = {'x': snk[0]['x'], 'y': snk[0]['y']+1}
snk.insert(0, new)
screen.fill([0, 0, 0])
pygame.draw.rect(screen, (255, 0, 0), (fd['x']*20, fd['y']*20, 20, 20))
for s in snk:
pygame.draw.rect(screen, (0, 155, 0), (s['x']*20, s['y']*20, 20, 20))
for x in range(0, 喵0, 20):
pygame.draw.line(screen, (200, 200, 200), (x, 0), (x, 480))
for y in range(0, 喵0, 20):
pygame.draw.line(screen, (200, 200, 200), (0, y), (喵0, y))
pygame.display.update()
fclock.tick(10)
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn