代码介绍
代码功能:<基于python的小孩快跑躲避障碍游戏pygame库>
游戏玩家控制一个奔跑的小孩,通过按键控制其跳跃从而躲避路上的障碍物石头
软件:PyCharm
语言:python
基于pygame,需要安装pygame库,可以通过Python的包管理器pip来完成。 具体的安装步骤如下:
1、打开命令行界面(在Windows是CMD,macOS和Linux中则是终端)。
2、输入安装命令:pip install pygame
代码下载
工程文件
程序文件
程序编译
运行效果
部分代码展示:
import pygame import time import random from itertools import cycle from pygame.locals import * # 导入pygame中的常量 SCREENHEIGHT = 250 SCREENWIDTH = 1000 FPS = 30 # 更新画面的时间 speed=6 #速度 # 定义背景类 class MyMap(): def __init__(self,x,y): # 构造函数 self.bg=pygame.image.load(r'./img/bg01.png').convert_alpha() # 进行图形判断,将背景与其相关的图片透明化 self.x=x self.y=y def map_move(self): # 滚动 if self.x<-SCREENWIDTH+1: self.x=SCREENWIDTH else: self.x-=speed # 每帧以5个像素,表示像素移动的距离 def map_update(self): SCREEN.blit(self.bg,(self.x,self.y)) #把恐龙的图片加进来了,并且加上键盘监听器,比如当按下空格键时实现恐龙的跳跃动作。 #定义恐龙类 class Dragon(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self) self.rect = pygame.Rect(0, 0, 0, 0) # 小恐龙矩形图片的初始化,Rect(left,top,width,height) self.jumpHeight = 120 #角色向上运动的高度 self.jumpState = False # 跳跃状态,true为跳跃 self.lowest_y = 70 # 最低坐标 背景高度-角色高度=250-180 self.jumpValue = 0 # 跳跃增变量 # 小恐龙跳跃动作播放图片,连续放三张图片,造成一种gif的感觉 self.DragonIndex = 0 self.DragonIndexGen = cycle([0,1,2,3]) # 引入的迭代工具 # 加载恐龙图片,使用convert_alpha()背景图片才为透明,用convert则为黑色背景 self.dragon_img = ( pygame.image.load("img/p1.png").convert_alpha(), pygame.image.load("img/p2.png").convert_alpha(), pygame.image.load("img/p3.png").convert_alpha(), pygame.image.load("img/p4.png").convert_alpha(), ) self.rect.size = self.dragon_img[0].get_size() print(self.rect.size) self.x = 50 # 绘制恐龙x坐标 self.y = self.lowest_y # 绘制恐龙y坐标 self.rect.topleft = (self.x, self.y) def jump(self): self.jumpState = True print("jump方法正在执行") def move(self): if self.jumpState== True: # 起跳的时候 if self.rect.y >= self.lowest_y: # 如果站在地上 self.jumpValue = -5 # 向上移动五个像素点 if self.rect.y <= self.lowest_y - self.jumpHeight: # 到顶后下降 self.jumpValue = 5 self.rect.y += self.jumpValue if self.rect.y >= self.lowest_y: # 恐龙落地以后,跳跃状态改为False self.jumpState = False # 关闭跳跃状态