资源简介
基于python的一个滑雪小游戏,有图,有代码,可参考,适用于有一点点基础的python初学者。
内有6张人物形态图,1个得分图,一个障碍物图和一份代码。
用到了pygame库,可以做着玩玩。
内有6张人物形态图,1个得分图,一个障碍物图和一份代码。
用到了pygame库,可以做着玩玩。

代码片段和文件信息
import pygame sys random
# different images for the skier depending on his direction
skier_images = [“skier_down.png“ “skier_right1.png“ “skier_right2.png“
“skier_left2.png“ “skier_left1.png“]
#import os
#os.environ[‘SDL_VIDEODRIVER‘] = ‘windib‘
# class for the skier sprite
class SkierClass(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load(“skier_down.png“)
self.rect = self.image.get_rect()
self.rect.center = [320 100]
self.angle = 0
def turn(self direction):
# load new image and change speed when the skier turns
self.angle = self.angle + direction
if self.angle < -2: self.angle = -2
if self.angle > 2: self.angle = 2
center = self.rect.center
self.image = pygame.image.load(skier_images[self.angle])
self.rect = self.image.get_rect()
self.rect.center = center
speed = [self.angle 6 - abs(self.angle) * 2]
return speed
def move(self speed):
# move the skier right and left
self.rect.centerx = self.rect.centerx + speed[0]
if self.rect.centerx < 20: self.rect.centerx = 20
if self.rect.centerx > 620: self.rect.centerx = 620
# class for obstacle sprites (trees and flags)
class ObstacleClass(pygame.sprite.Sprite):
def __init__(self image_file location type):
pygame.sprite.Sprite.__init__(self) #call Sprite initializer
self.image_file = image_file
self.image = pygame.image.load(image_file)
self.location = location
self.rect = self.image.get_rect()
self.rect.center = location
self.type = type
self.passed = False
def scroll(self terrainPos):
self.rect.centery = self.location[1] - terrainPos
# create one “screen“ of terrain: 640 x 640
# use “blocks“ of 64 x 64 pixels so objects aren‘t too close together
def create_map(start end):
obstacles = pygame.sprite.Group()
locations = []
gates = pygame.sprite.Group()
for i in range(10): # 10 obstacles per screen
row = random.randint(start end)
col = random.randint(0 9)
location = [col * 64 + 20 row * 64 + 20] #center x y for obstacle
if not (location in locations): # prevent 2 obstacles in the same place
locations.append(location)
type = random.choice([“tree“ “flag“])
if type == “tree“: img = “skier_tree.png“
elif type == “flag“: img = “skier_flag.png“
obstacle = ObstacleClass(img location type)
obstacles.add(obstacle)
return obstacles
# redraw the screen including all sprites
def animate():
screen.fill([255 255 255])
pygame.display.update(obstacles.draw(screen))
screen.blit
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
.CA.... 5743 2019-11-19 11:52 skier\skier.py
.CA.... 1010 2008-03-10 11:33 skier\skier_crash.png
.CA.... 768 2008-03-10 11:38 skier\skier_down.png
.CA.... 257 2008-02-06 01:12 skier\skier_flag.png
.CA.... 972 2008-03-10 10:41 skier\skier_left1.png
.CA.... 1002 2008-03-10 10:41 skier\skier_left2.png
.CA.... 983 2008-03-10 10:43 skier\skier_right1.png
.CA.... 1042 2008-03-10 10:42 skier\skier_right2.png
.CA.... 847 2008-03-10 10:55 skier\skier_tree.png
.C.D... 0 2019-12-13 17:46 skier
----------- --------- ---------- ----- ----
12624 10
- 上一篇:5层神经网络带L2正则化的损失函数计算方法
- 下一篇:租房API调用
相关资源
- 二级考试python试题12套(包括选择题和
- pywin32_python3.6_64位
- python+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
- python 连连看小游戏源码
- 基于PyQt5的视频播放器设计
- 一个简单的python爬虫
- csv文件行列转换python实现代码
- Python操作Mysql教程手册
- Python Machine Learning Case Studies
- python获取硬件信息
评论
共有 条评论