pygame游戏之旅 添加游戏介绍


Posted in Python onNovember 20, 2018

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

在游戏开始之前定义一个函数,用来显示游戏介绍:

def game_intro():
  intro = True
  while intro:
    for event in pygame.event.get():
      print(event)
      if event.type == pygame.QUIT:
        pygame.quit()
        quit()
    gameDisplay.fill(white)
    largeText = pygame.font.Font('freesansbold.ttf',115)
    TextSurf, TextRect = text_objects('A bit Racey', largeText)
    TextRect.center = ((display_width/2),(display_height/2))
    gameDisplay.blit(TextSurf, TextRect)
    pygame.display.update()
    clock.tick(15)

全部代码:

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_intro():
  intro = True
  while intro:
    for event in pygame.event.get():
      print(event)
      if event.type == pygame.QUIT:
        pygame.quit()
        quit()
    gameDisplay.fill(white)
    largeText = pygame.font.Font('freesansbold.ttf',115)
    TextSurf, TextRect = text_objects('A bit Racey', largeText)
    TextRect.center = ((display_width/2),(display_height/2))
    gameDisplay.blit(TextSurf, TextRect)
    pygame.display.update()
    clock.tick(15)
 
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_intro()
game_loop()
pygame.quit()
quit()

结果图:

pygame游戏之旅 添加游戏介绍

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

Python 相关文章推荐
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
Nov 27 Python
python调用短信猫控件实现发短信功能实例
Jul 04 Python
Python实现采用进度条实时显示处理进度的方法
Dec 19 Python
python scatter散点图用循环分类法加图例
Mar 19 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
Jul 30 Python
Pytorch实现GoogLeNet的方法
Aug 18 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
Sep 17 Python
Python with语句用法原理详解
Jul 03 Python
pycharm激活方法到2099年(激活流程)
Sep 22 Python
通用的Django注册功能模块实现方法
Feb 05 Python
关于探究python中sys.argv时遇到的问题详解
Feb 23 Python
手把手教你使用TensorFlow2实现RNN
Jul 15 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
Nov 20 #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
You might like
一些花式咖啡的配方
2021/03/03 冲泡冲煮
xajax写的留言本
2006/11/25 PHP
PHP导出MySQL数据到Excel文件(fputcsv)
2011/07/03 PHP
php生成百度sitemap站点地图类函数实例
2014/10/17 PHP
PHP简单获取视频预览图的方法
2015/03/12 PHP
PHP单链表的实现代码
2016/07/05 PHP
Yaf框架封装的MySQL数据库操作示例
2019/03/06 PHP
tangram框架响应式加载图片方法
2013/11/21 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
2016/04/07 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
2017/06/01 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
详解webpack+express多页站点开发
2017/12/22 Javascript
vue 利用路由守卫判断是否登录的方法
2018/09/29 Javascript
JS实现的碰撞检测与周期移动完整示例
2019/09/02 Javascript
Vue开发环境跨域访问问题
2020/01/22 Javascript
JQuery实现折叠式菜单的详细代码
2020/06/03 jQuery
微信小程序实现自定义底部导航
2020/11/18 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
[06:45]DOTA2卡尔工作室 英雄介绍幻影长矛手篇
2013/07/12 DOTA
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
python3中函数参数的四种简单用法
2018/07/09 Python
Python OpenCV处理图像之图像像素点操作
2018/07/10 Python
Python制作exe文件简单流程
2019/01/24 Python
Django后端接收嵌套Json数据及解析详解
2019/07/17 Python
python实现批量文件重命名
2019/10/31 Python
python操作gitlab API过程解析
2019/12/27 Python
python中如何设置代码自动提示
2020/07/15 Python
马来西亚在线健康商店:Medipal Malaysia
2020/04/13 全球购物
历史专业大学生职业生涯规划书
2014/03/13 职场文书
婚假请假条格式及范文
2014/04/10 职场文书
英语教育专业毕业生求职信
2014/08/28 职场文书
2014年敬老院工作总结
2014/12/08 职场文书
2015年仓管员工作总结
2015/04/21 职场文书
大学考试作弊检讨书
2015/05/06 职场文书
Mysql基础之常见函数
2021/04/22 MySQL