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进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
Apr 25 Python
Python实现ssh批量登录并执行命令
Oct 25 Python
Pycharm学习教程(4) Python解释器的相关配置
May 03 Python
使用tensorflow实现线性svm
Sep 07 Python
Python使用post及get方式提交数据的实例
Jan 24 Python
Python 多线程其他属性以及继承Thread类详解
Aug 28 Python
基于Python中isfile函数和isdir函数使用详解
Nov 29 Python
Python for循环通过序列索引迭代过程解析
Feb 07 Python
python要安装在哪个盘
Jun 15 Python
python推导式的使用方法实例
Feb 28 Python
Django实现在线无水印抖音视频下载(附源码及地址)
May 06 Python
关于python类SortedList详解
Sep 04 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 str_pad 函数用法简介
2009/07/11 PHP
浅析get与post的一些特殊情况
2014/07/28 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
PHP正则表达式匹配替换与分割功能实例浅析
2017/02/04 PHP
php生成0~1随机小数的方法(必看)
2017/04/05 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
2017/06/06 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
列表内容的选择
2006/06/30 Javascript
在视频前插入广告
2006/11/20 Javascript
jquery实现checkbox全选全不选的简单实例
2013/12/31 Javascript
javascript函数定义的几种区别小结
2014/01/06 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
javascript瀑布流布局实现方法详解
2016/02/17 Javascript
WEB前端开发框架Bootstrap3 VS Foundation5
2016/05/16 Javascript
JavaScript防止全局变量污染的方法总结
2018/08/02 Javascript
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
jquery+ajax实现异步上传文件显示进度条
2020/08/17 jQuery
[01:35:53]完美世界DOTA2联赛PWL S3 Magma vs GXR 第二场 12.13
2020/12/17 DOTA
利用Python的Django框架生成PDF文件的教程
2015/07/22 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
python实现登录密码重置简易操作代码
2019/08/14 Python
python实现的读取网页并分词功能示例
2019/10/29 Python
Python操作dict时避免出现KeyError的几种解决方法
2020/09/20 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
GEOX鞋美国官方网站:意大利会呼吸的鞋
2017/07/12 全球购物
Currentbody澳大利亚:美容仪专家
2019/11/11 全球购物
企业管理培训感言
2014/01/27 职场文书
组织鉴定材料
2014/06/02 职场文书
销售目标责任书
2014/07/23 职场文书
小学生纪念九一八事变演讲稿
2014/09/14 职场文书
安全学习心得体会范文
2016/01/18 职场文书
辞职信怎么写?
2019/05/21 职场文书
golang实现浏览器导出excel文件功能
2022/03/25 Golang
浅谈Redis 中的过期删除策略和内存淘汰机制
2022/04/03 Redis