资源简介
基于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调用
相关资源
- 租房API调用
- 5层神经网络带L2正则化的损失函数计
- 查找两幅图片中的不同
- python标准库中文版.tar
- python多人在线聊天室
- Python3 实现SM3国产哈希算法
- python爬取微博热搜并直接写入mysql.r
- Python-Scrapy 入门级爬虫项目实战
- 用python编写的信息管理系统的增删改
- 用python编写的饮料自动购物机
- [计算方法作业]利用python中matplotlib实
- python电子书大全.txt
- python用Django实现简单的web版学生信息
- Python-从Python高效处理FASTQ文件
- Python-机器学习完全课程
- Python-利用flask搭建的一个简单的个人
- Python-利用Python实现中文文本关键词抽
- Python-一个WindowsLinux和Mac的简单键盘记
- Python-Glyce用于汉字表示的字形向量
- paillier 纯 python Paillier同态密码.zip
- fancyimpute 在 python 中,实现了多元插值
- 利用pythonscihub成文献为PDF操作
- 详解python实现交叉验证法与留出法
- 用python做一个搜索引擎(Pylucene)的代
- python利用urllib实现爬取京东网站商品
- python微信公众号之关键词自动回复
- python爬取cnvd漏洞库信息的
- arcgis使用python脚本批量裁剪影像
- Python的Django框架中的数据库配置指南
- python实现超市商品销售管理系统
评论
共有 条评论