pygame游戏之旅 计算游戏中躲过的障碍数量


Posted in Python onNovember 20, 2018

本文为大家分享了pygame游戏之旅的第8篇,供大家参考,具体内容如下

定义一个计数函数:

def things_dodged(count):
 font = pygame.font.SysFont(None, 25)
 text = font.render("Dodged:"+str(count), True, black)
 gameDisplay.blit(text,(0,0))

在游戏循环中加入计数,然后增加一些游戏难度,例如加速障碍,增加障碍的宽度:

dodged += 1
thing_speed += 1
thing_width += (dodged * 1.2)

全部代码:

import pygame
import time
import random
 
pygame.init()
 
white = (255,255,255)
black = (0,0,0)
 
car_width = 100
 
display_width = 800
display_height = 600
 
 
gameDisplay = pygame.display.set_mode( (display_width,display_height) )
pygame.display.set_caption('A bit Racey')
clock = pygame.time.Clock()
 
carImg = pygame.image.load('car.png')
 
def things_dodged(count):
 font = pygame.font.SysFont(None, 25)
 text = font.render("Dodged:"+str(count), True, black)
 gameDisplay.blit(text,(0,0))
 
def things(thingx, thingy, thingw, thingh, color):
 pygame.draw.rect(gameDisplay, color, [thingx, thingy, thingw, thingh])
 
 
 
def car(x, y):
 gameDisplay.blit(carImg, (x,y))
 
 
def text_objects(text, font):
 textSurface = font.render(text, True, black)
 return textSurface, textSurface.get_rect()
 
def message_diaplay(text):
 largeText = pygame.font.Font('freesansbold.ttf',115)
 TextSurf, TextRect = text_objects(text, largeText)
 TextRect.center = ((display_width/2),(display_height/2))
 gameDisplay.blit(TextSurf, TextRect)
 pygame.display.update()
 time.sleep(2)
 game_loop()
 
def crash():
 message_diaplay('You Crashed')
 
 
def game_loop():
 x = display_width * 0.45
 y = display_height * 0.8
 x_change = 0
 
 dodged = 0
 
 gameExit = False
 
 thing_startx = random.randrange(0, display_width)
 thing_starty = -600
 thing_speed = 7
 thing_width = 100
 thing_height = 100
 
 while not gameExit:
 for event in pygame.event.get():
  if event.type == pygame.QUIT:
  pygame.quit()
  quit()
  if event.type == pygame.KEYDOWN:
  if event.key == pygame.K_LEFT:
   x_change = -5
  elif event.key == pygame.K_RIGHT:
   x_change = 5
  if event.type == pygame.KEYUP:
  if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
   x_change = 0
  print(event)
 x += x_change
 gameDisplay.fill(white)
 
 things(thing_startx, thing_starty, thing_width, thing_height, black)
 thing_starty += thing_speed
 
 car(x,y)
 things_dodged(dodged)
 if x > display_width - car_width or x < 0:
  gameExit = True
 if thing_starty > display_height:
  thing_starty = 0 - thing_height
  thing_startx = random.randrange(0, display_width)
  dodged += 1
  thing_speed += 1
  thing_width += (dodged * 1.2)
 if y < thing_starty + thing_height:
  print('y crossover')
  if x > thing_startx and x < thing_startx + thing_width or x + car_width > thing_startx and x + car_width < thing_startx + thing_width:
  print('x crossover')
  crash()
 pygame.display.update()
 clock.tick(60)
#crash()
game_loop()
pygame.quit()
quit()

效果图:

pygame游戏之旅 计算游戏中躲过的障碍数量

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中利用函数装饰器实现备忘功能
Mar 30 Python
Python制作爬虫抓取美女图
Jan 20 Python
python使用opencv按一定间隔截取视频帧
Mar 06 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
Jun 13 Python
python 快速把超大txt文件转存为csv的实例
Oct 26 Python
Python脚本修改阿里云的访问控制列表的方法
Mar 08 Python
python笔记之mean()函数实现求取均值的功能代码
Jul 05 Python
python快速编写单行注释多行注释的方法
Jul 31 Python
Python函数的迭代器与生成器的示例代码
Jun 18 Python
一文带你了解Python 四种常见基础爬虫方法介绍
Dec 04 Python
分位数回归模型quantile regeression应用详解及示例教程
Nov 02 Python
基于Python实现一个春节倒计时脚本
Jan 22 Python
pygame游戏之旅 添加碰撞效果的方法
Nov 20 #Python
pygame游戏之旅 如何制作游戏障碍
Nov 20 #Python
用Python编写一个简单的CS架构后门的方法
Nov 20 #Python
python pygame实现2048游戏
Nov 20 #Python
python pygame模块编写飞机大战
Nov 20 #Python
Python Scapy随心所欲研究TCP协议栈
Nov 20 #Python
python版飞机大战代码分享
Nov 20 #Python
You might like
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
jQuery 源代码显示控件 (Ajax加载方式).
2009/05/18 Javascript
jQuery学习基础知识小结
2010/11/25 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
2013/08/13 Javascript
jquery实现超简洁的TAB选项卡效果代码
2015/08/28 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
JavaScript:Array类型全面解析
2016/05/19 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
Node.js安装配置图文教程
2017/05/10 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
Angular服务Request异步请求的实例讲解
2018/08/13 Javascript
详解Vue CLI3配置解析之css.extract
2018/09/14 Javascript
使用Vue+Django+Ant Design做一个留言评论模块的示例代码
2020/06/01 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
Nuxt的路由动画效果案例
2020/11/06 Javascript
python查找目录下指定扩展名的文件实例
2015/04/01 Python
Python实现类似jQuery使用中的链式调用的示例
2016/06/16 Python
Python 对象中的数据类型
2017/05/13 Python
python opencv检测目标颜色的实例讲解
2018/04/02 Python
Python 实用技巧之利用Shell通配符做字符串匹配
2019/08/23 Python
Python实现字符串中某个字母的替代功能
2019/10/21 Python
Python判断字符串是否为合法标示符操作
2020/09/03 Python
原生 JS+CSS+HTML 实现时序图的方法
2019/07/31 HTML / CSS
英国度假别墅预订:Sykes Cottages
2017/06/12 全球购物
什么是网络协议
2016/04/07 面试题
财务主管的岗位职责
2013/12/30 职场文书
投标人廉洁自律承诺书
2014/05/26 职场文书
国家机关领导干部民主生活会对照检查材料思想汇报
2014/09/17 职场文书
简历自我评价优缺点
2015/03/11 职场文书
故意伤害辩护词
2015/05/21 职场文书
学雷锋活动简报
2015/07/20 职场文书
合理缓解职场压力,让你随时保持最佳状态!
2019/06/21 职场文书
SQL基础的查询语句
2021/11/11 MySQL
一条 SQL 语句执行过程
2022/03/17 MySQL
js前端设计模式优化50%表单校验代码示例
2022/06/21 Javascript