谷歌小恐龙游戏的实现
import pygame
from pygame.locals import*
from itertools import cycle #导入迭代工具
import random
SCREENWIDTH = 822 #窗体宽度
SCREENHEIGHT = 260 #窗体高度
FPS = 30 #更新画面时间
#定义一个滚动循环地图类
class MyMap():
def __init__(self,x,y):
# 加载图片背景
self.bg = pygame.image.load("image/bg.png").convert_alpha()
self.x = x
self.y = y
def map_rolling(self):
if self.x < -790: #小于-790证明地图移动完毕
self.x = 800 #给地图一个新的坐标点
else:
self.x-=5 #5个像素向左移动
# 创建一个map_update()方法,在该方法中实现地图无限滚动的效果
def map_update(self):
SCREEN.blit(self.bg,(self.x,self.y))
恐龙类
class Dinosaur():
def init(self):
#初始化小恐龙矩形
self.rect = pygame.Rect(0,0,0,0)
self.jumpState = False #跳跃的状态
self.jumpHeight = 130 #跳跃的高度
self.lowest_y = 140 #最低坐标
self.jumpValue = 0 #跳跃增变量
# 小恐龙动图索引
self.dinosaurIndex = 0
self.dinosaurIndexGen = cycle([0,1,2])
# 小恐龙图片
self.dinosaur_img = (
pygame.image.load(“E:/dinosaur1.png”).convert_alpha(),
pygame.image.load(“image/dinosaur2.png”).convert_alpha(),
pygame.image.load(“image/dinosaur3.png”).convert_alpha(),
)
self.jump_audio = pygame.mixer.Sound(‘audio/jump.wav’)
self.rect.size = self.dinosaur_img[0].get_size()
self.x = 50 #绘制恐龙的x坐标
sel