一个python滑雪者游戏
需要pygame哦!


import pygame,sys,random
skier_images=['skier_down.png','skier_right1.png','skier_right2.png','skier_left2.png','skier_left1.png']
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 = 0def turn(self, direction):self.angle = self.angle + directionif self.angle < -2:  self.angle = -2if self.angle >  2:  self.angle =  2center = self.rect.centerself.image = pygame.image.load(skier_images[self.angle])self.rect = self.image.get_rect()self.rect.center = centerspeed = [self.angle, 6 - abs(self.angle) *2]return speeddef move(self, speed):self.rect.centerx = self.rect.centerx+speed[0]*2if self.rect.centerx < 20:   self.rect.centerx = 20if self.rect.centerx > 620:  self.rect.centerx = 620
class ObstacleClass(pygame.sprite.Sprite):def __init__(self, image_file, location,type):pygame.sprite.Sprite.__init__(self)self.image_file = image_fileself.image = pygame.image.load(image_file)self.rect = self.image.get_rect()self.rect.center = locationself.type = typeself.passed = Falsedef update(self):global speedself.rect.centery -= speed[1]if self.rect.centery < -32:self.kill()
def create_map():global obstacleslocations = []for i in range(10):row = random.randint(0,9)col = random.randint(0,9)location = [col*64+20,row*64+20+640]if not (location in locations):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)
def animate():screen.fill([255,255,255])obstacles.draw(screen)screen.blit(skier.image, skier.rect)screen.blit(score_text, [10, 10])pygame.display.flip()# initialize everything
pygame.init()
screen = pygame.display.set_mode([800, 800])
clock = pygame.time.Clock()
speed = [0, 6]
obstacles = pygame.sprite.Group()  # group of obstacle objects
skier = SkierClass()
map_position = 0
points = 0
create_map()  # create one screen full of obstacles
font = pygame.font.Font(None, 50)# main Pygame event loop
running = True
while running:clock.tick(30)for event in pygame.event.get():if event.type == pygame.QUIT: running = Falseif event.type == pygame.KEYDOWN:  # check for key pressesif event.key == pygame.K_LEFT:  # left arrow turns leftspeed = skier.turn(-1)elif event.key == pygame.K_RIGHT:  # right arrow turns rightspeed = skier.turn(1)skier.move(speed)  # move the skier (left or right)map_position += speed[1]# scroll the obstacles# create a new block of obstacles at the bottomif map_position >= 640:create_map()map_position = 0# check for hitting trees or getting flagshit = pygame.sprite.spritecollide(skier, obstacles, False)if hit:if hit[0].type == "tree" and not hit[0].passed:  # crashed into treepoints = points - 10skier.image = pygame.image.load("skier_crash.png")  # crash imageanimate()pygame.time.delay(1000)skier.image = pygame.image.load("skier_down.png")  # resume skiingskier.angle = 0speed = [0, 6]hit[0].passed = Trueelif hit[0].type == "flag" and not hit[0].passed:  # got a flagpoints += 10hit[0].kill()  # remove the flagobstacles.update()score_text = font.render("Score: " + str(points), 1, (0, 0, 0))animate()pygame.quit()

下面是图片:
skier_down.png

skier_right1.png

skier_right2.png

skier_left1.png
skier_left2.png
skier_crash.png
skier_tree.png
skier_flag.png

python滑雪者游戏相关推荐

  1. Python小游戏————滑雪小游戏代码开源

    ♥️作者:小刘在这里 ♥️每天分享云计算网络运维课堂笔记,励志爬上IT介顶峰,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的,绽放,愿所有的美好,再疫情结束后如约 ...

  2. python适合开发游戏吗_【学习python小游戏代码,你就可以做python滑雪游戏了】- 环球网校...

    [摘要]很多人开始学习编程都会选择python,并且也会将python用在实际生活中,不过有很多伙伴也打算用python做游戏,所以小编建议大家可以学习python小游戏代码,今天环球网校的小编就来和 ...

  3. 基于PyGame的乒乓球和滑雪小游戏

    基于PyGame的乒乓球和滑雪游戏 昝道广 概述 前言 乒乓球游戏规则 乒乓球游戏图形界面 乒乓球游戏部分代码 滑雪小游戏图形界面 滑雪小游戏规则 滑雪小游戏部分代码 技术分析 后记 前言 首先阿广确 ...

  4. 《Python和Pygame游戏开发指南》——2.16 pygame.display.update()函数

    本节书摘来自异步社区<Python和Pygame游戏开发指南>一书中的第2章,第2.16节,作者[美]Al Sweigart(斯维加特), 李强 译,更多章节内容可以访问云栖社区" ...

  5. 《Python和Pygame游戏开发指南》——1.12 图书中的文本折行

    本节书摘来自异步社区<Python和Pygame游戏开发指南>一书中的第1章,第1.12节,作者[美]Al Sweigart(斯维加特), 李强 译,更多章节内容可以访问云栖社区" ...

  6. python猜数字游戏简单-python猜数字游戏快速求解解决方案

    python猜数字游戏快速求解解决方案.使用方法: 1. 保存代码为guessall.py 2. 执行python guessall.py > result.txt 3. 打开result.tx ...

  7. python手机版做小游戏代码大全-python简单小游戏代码 怎么用Python制作简单小游戏...

    1.Python猜拳小游戏代码: 2.import random #导入随机模块 3. 4.num = 1 5.yin_num = 0 6.shu_num = 0 7.while num <= ...

  8. python编程小游戏-python编程游戏有哪些

    python编程游戏有哪些?下面给大家介绍几款由Python开发的游戏: 1.Github上面有个项目Free Python Games,里面集合了不少的Python开发的小游戏,能玩,也适合新手用来 ...

  9. python能做游戏吗-没有Python不能做的游戏,这些游戏都可以做

    简介:Python编程语言的强大,几乎是众所周知的!那么,下面我给大家介绍一下几个用Python实现的各种游戏吧.不仅能用来做web.爬虫.数据分析等,没想到还能用做这么多的游戏,实在令人惊讶不已.注 ...

最新文章

  1. Could not find the main class: org.apache.catalina.startup.Boostrap. Program will exit.
  2. http statusCode(状态码)
  3. locks java_java中Locks的使用
  4. nginx指令(alias、set、proxy_pass、rewrite、upstream)、跨域问题、防盗链、缓存、gzip压缩
  5. CentOS 6.5通过ifconfig命令看不到网卡IP地址的解决方法
  6. 纪中B组模拟赛总结(2020.2.1)
  7. RequireJS代码文件依赖管理 - 入门篇
  8. 《逻辑学导论》(第11版)学习(一)
  9. 浅谈 *.axf,*.bin,*.hex 文件
  10. 高级珠宝Cartier
  11. 什么是Linux内存管理中的RSS和VSZ
  12. 路由器配置(新手上路,比较全面,强烈推荐)
  13. 实现树莓派控制电机的运转
  14. 超声波传感器--Arduino
  15. 单按键自锁开关电路设计
  16. 网站设计全攻略-3、确定网站的栏目和版块
  17. iOS开发-定制多样式二维码
  18. Kotlin 密封类代替枚举类
  19. php 微信红包瓜分,PHP实现微信红包金额拆分试玩的算法示例
  20. 最后冲刺:第三届全国人工智能大赛决赛战报

热门文章

  1. 玩智能手机必须要知道的秘密
  2. [教程]HTC G13 S-ON解锁至S-OFF简易方法
  3. 电话手表算术游戏不是计算机,算术小游戏红包版
  4. 如何用电脑反编译微信小程序,获得源码(学习用途)
  5. idea中你必须学会的一些基础操作
  6. 面具更新自定义_大版本预告 | 面具外观、全民争霸赛50万、七夕流星雨安排!...
  7. 六边形热图:专治数据密集重叠无法查看!
  8. 识别电路画等效电路的几种方法
  9. cad等比例缩放快捷键_原来CAD可以这样不等比例缩放!太方便了!这些技巧你都知道吗?...
  10. 微信竟然可以查出行轨迹了?