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 相关文章推荐
Python正则表达式匹配中文用法示例
Jan 17 Python
使用Python+Splinter自动刷新抢12306火车票
Jan 03 Python
Python 实现12306登录功能实例代码
Feb 09 Python
在windows下Python打印彩色字体的方法
May 15 Python
python3实现字符串的全排列的方法(无重复字符)
Jul 07 Python
python实现计算器功能
Oct 31 Python
简单了解Python读取大文件代码实例
Dec 18 Python
pyCharm 实现关闭代码检查
Jun 09 Python
Python中生成ndarray实例讲解
Feb 22 Python
Python绘制词云图之可视化神器pyecharts的方法
Feb 23 Python
pytorch 计算Parameter和FLOP的操作
Mar 04 Python
Python数据可视化之用Matplotlib绘制常用图形
Jun 03 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
自制PHP框架之路由与控制器
2017/05/07 PHP
PHP实现获取文件mime类型多种方法解析
2020/05/28 PHP
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
jQuery 选择器、DOM操作、事件、动画
2010/11/25 Javascript
JavaScript操纵窗口的方法小结
2013/06/28 Javascript
在页面中js获取光标/鼠标的坐标及光标的像素坐标
2013/11/11 Javascript
Javascript实现字数统计
2015/07/03 Javascript
如何用javascript计算文本框还能输入多少个字符
2015/07/29 Javascript
JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
2015/12/04 Javascript
JavaScript简单实现弹出拖拽窗口(二)
2016/06/17 Javascript
html+js实现简单的计算器代码(加减乘除)
2016/07/12 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
2016/10/31 Javascript
JS回调函数基本定义与用法实例分析
2017/05/24 Javascript
jsonp跨域请求详解
2017/07/13 Javascript
AngularJS与后端php的数据交互方法
2018/08/13 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
layUI实现列表查询功能
2019/07/27 Javascript
微信小程序实现左侧滑动导航栏
2020/04/08 Javascript
js blob类型url的视频下载问题的解决
2019/11/29 Javascript
详解vue中v-on事件监听指令的基本用法
2020/07/22 Javascript
vue iview 隐藏Table组件里的某一列操作
2020/11/13 Javascript
Python的Flask框架中Flask-Admin库的简单入门指引
2015/04/07 Python
Python 含参构造函数实例详解
2017/05/25 Python
最近Python有点火? 给你7个学习它的理由!
2017/06/26 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
2020/04/20 Python
Python 中由 yield 实现异步操作
2020/05/04 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
西班牙英格列斯百货法国官网:El Corte Inglés法国
2017/07/09 全球购物
Java基础面试题
2012/11/02 面试题
仓管员岗位职责范文
2013/11/08 职场文书
预备党员思想汇报范文
2014/01/11 职场文书
出国导师推荐信
2014/01/16 职场文书
大学生秋游活动方案
2014/02/17 职场文书
关爱女孩行动实施方案
2014/03/13 职场文书
德育标兵事迹材料
2014/08/24 职场文书
2015国庆节66周年标语
2015/07/30 职场文书