iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >怎么用Python Pygame实现赛车游戏
  • 745
分享到

怎么用Python Pygame实现赛车游戏

2023-06-29 09:06:26 745人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

今天小编给大家分享一下怎么用python Pygame实现赛车游戏的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一

今天小编给大家分享一下怎么用python Pygame实现赛车游戏的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

一、环境安装

1)运行环境

文用到的运行环境:python3.7、PyCharm社区版2021、Pygame游戏模块部分自带模块直 接导入不需要安装。

模块安装:pip install -i https://pypi.douban.com/simple/ +模块名

2)素材环境

音乐背景图片等:

怎么用Python Pygame实现赛车游戏

二、代码展示

import pygame, random, sys ,os,timefrom pygame.locals import * WINDOWWIDTH = 800WINDOWHEIGHT = 600TEXTCOLOR = (255, 255, 255)BACKGROUNDCOLOR = (0, 0, 0)FPS = 40BADDIEMINSIZE = 10BADDIEMAXSIZE = 40BADDIEMINSPEED = 8BADDIEMAXSPEED = 8ADDNEWBADDIERATE = 6PLAYERMOVERATE = 5count=3 def terminate():    pygame.quit()    sys.exit() def waitForPlayerToPressKey():    while True:        for event in pygame.event.get():            if event.type == QUIT:                terminate()            if event.type == KEYDOWN:                if event.key == K_ESCAPE: #escape quits                    terminate()                return def playerHasHitBaddie(playerRect, baddies):    for b in baddies:        if playerRect.colliderect(b['rect']):            return True    return False def drawText(text, font, surface, x, y):    textobj = font.render(text, 1, TEXTCOLOR)    textrect = textobj.get_rect()    textrect.topleft = (x, y)    surface.blit(textobj, textrect) # set up pygame, the window, and the mouse cursorpygame.init()mainClock = pygame.time.Clock()windowsurface = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT))pygame.display.set_caption('car 赛车游戏')pygame.mouse.set_visible(False) # fontsfont = pygame.font.SysFont(None, 30) # soundsgameOverSound = pygame.mixer.Sound('music/crash.wav')pygame.mixer.music.load('music/car.wav')laugh = pygame.mixer.Sound('music/laugh.wav')  # imagesplayerImage = pygame.image.load('image/car1.png')car3 = pygame.image.load('image/car3.png')car4 = pygame.image.load('image/car4.png')playerRect = playerImage.get_rect()baddieImage = pygame.image.load('image/car2.png')sample = [car3,car4,baddieImage]wallLeft = pygame.image.load('image/left.png')wallRight = pygame.image.load('image/right.png')  # "Start" screendrawText('Press any key to start the game.', font, windowSurface, (WINDOWWIDTH / 3) - 30, (WINDOWHEIGHT / 3))drawText('And Enjoy', font, windowSurface, (WINDOWWIDTH / 3), (WINDOWHEIGHT / 3)+30)pygame.display.update()waitForPlayerToPressKey()zero=0if not os.path.exists("data/save.dat"):    f=open("data/save.dat",'w')    f.write(str(zero))    f.close()   v=open("data/save.dat",'r')topScore = int(v.readline())v.close()while (count>0):    # start of the game    baddies = []    score = 0    playerRect.topleft = (WINDOWWIDTH / 2, WINDOWHEIGHT - 50)    moveLeft = moveRight = moveUp = moveDown = False    reverseCheat = slowCheat = False    baddieAddCounter = 0    pygame.mixer.music.play(-1, 0.0)     while True: # the game loop        score += 1 # increase score         for event in pygame.event.get():                        if event.type == QUIT:                terminate()             if event.type == KEYDOWN:                if event.key == ord('z'):                    reverseCheat = True                if event.key == ord('x'):                    slowCheat = True                if event.key == K_LEFT or event.key == ord('a'):                    moveRight = False                    moveLeft = True                if event.key == K_RIGHT or event.key == ord('d'):                    moveLeft = False                    moveRight = True                if event.key == K_UP or event.key == ord('w'):                    moveDown = False                    moveUp = True                if event.key == K_DOWN or event.key == ord('s'):                    moveUp = False                    moveDown = True             if event.type == KEYUP:                if event.key == ord('z'):                    reverseCheat = False                    score = 0                if event.key == ord('x'):                    slowCheat = False                    score = 0                if event.key == K_ESCAPE:                        terminate()                             if event.key == K_LEFT or event.key == ord('a'):                    moveLeft = False                if event.key == K_RIGHT or event.key == ord('d'):                    moveRight = False                if event.key == K_UP or event.key == ord('w'):                    moveUp = False                if event.key == K_DOWN or event.key == ord('s'):                    moveDown = False                      # Add new baddies at the top of the screen        if not reverseCheat and not slowCheat:            baddieAddCounter += 1        if baddieAddCounter == ADDNEWBADDIERATE:            baddieAddCounter = 0            baddieSize =30             newBaddie = {'rect': pygame.Rect(random.randint(140, 485), 0 - baddieSize, 23, 47),                        'speed': random.randint(BADDIEMINSPEED, BADDIEMAXSPEED),                        'surface':pygame.transfORM.scale(random.choice(sample), (23, 47)),                        }            baddies.append(newBaddie)            sideLeft= {'rect': pygame.Rect(0,0,126,600),                       'speed': random.randint(BADDIEMINSPEED, BADDIEMAXSPEED),                       'surface':pygame.transform.scale(wallLeft, (126, 599)),                       }            baddies.append(sideLeft)            sideRight= {'rect': pygame.Rect(497,0,303,600),                       'speed': random.randint(BADDIEMINSPEED, BADDIEMAXSPEED),                       'surface':pygame.transform.scale(wallRight, (303, 599)),                       }            baddies.append(sideRight)                                 # Move the player around.        if moveLeft and playerRect.left > 0:            playerRect.move_ip(-1 * PLAYERMOVERATE, 0)        if moveRight and playerRect.right < WINDOWWIDTH:            playerRect.move_ip(PLAYERMOVERATE, 0)        if moveUp and playerRect.top > 0:            playerRect.move_ip(0, -1 * PLAYERMOVERATE)        if moveDown and playerRect.bottom < WINDOWHEIGHT:            playerRect.move_ip(0, PLAYERMOVERATE)                for b in baddies:            if not reverseCheat and not slowCheat:                b['rect'].move_ip(0, b['speed'])            elif reverseCheat:                b['rect'].move_ip(0, -5)            elif slowCheat:                b['rect'].move_ip(0, 1)                  for b in baddies[:]:            if b['rect'].top > WINDOWHEIGHT:                baddies.remove(b)         # Draw the game world on the window.        windowSurface.fill(BACKGROUNDCOLOR)         # Draw the score and top score.        drawText('Score: %s' % (score), font, windowSurface, 128, 0)        drawText('Top Score: %s' % (topScore), font, windowSurface,128, 20)        drawText('Rest Life: %s' % (count), font, windowSurface,128, 40)                windowSurface.blit(playerImage, playerRect)                 for b in baddies:            windowSurface.blit(b['surface'], b['rect'])         pygame.display.update()         # Check if any of the car have hit the player.        if playerHasHitBaddie(playerRect, baddies):            if score > topScore:                g=open("data/save.dat",'w')                g.write(str(score))                g.close()                topScore = score            break         mainClock.tick(FPS)     # "Game Over" screen.    pygame.mixer.music.stop()    count=count-1    gameOverSound.play()    time.sleep(1)    if (count==0):     laugh.play()     drawText('Game over', font, windowSurface, (WINDOWWIDTH / 3), (WINDOWHEIGHT / 3))     drawText('Press any key to play again.', font, windowSurface, (WINDOWWIDTH / 3) - 80, (WINDOWHEIGHT / 3) + 30)     pygame.display.update()     time.sleep(2)     waitForPlayerToPressKey()     count=3     gameOverSound.stop()

三、效果展示

每个赛车游戏生命值三条消耗完即游戏结束。躲避相应的车子会加分。方向键左右即是移动键。

游戏开始&mdash;&mdash;

怎么用Python Pygame实现赛车游戏

游戏界面&mdash;&mdash;

怎么用Python Pygame实现赛车游戏

游戏结束&mdash;&mdash;

怎么用Python Pygame实现赛车游戏

以上就是“怎么用Python Pygame实现赛车游戏”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网Python频道。

--结束END--

本文标题: 怎么用Python Pygame实现赛车游戏

本文链接: https://www.lsjlt.com/news/323941.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么用Python Pygame实现赛车游戏
    今天小编给大家分享一下怎么用Python Pygame实现赛车游戏的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一...
    99+
    2023-06-29
  • 基于Python+Pygame怎么实现经典赛车游戏
    这篇文章主要介绍“基于Python+Pygame怎么实现经典赛车游戏”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“基于Python+Pygame怎么实现经典赛车游戏”文章能帮助大家解决问题。一、环境...
    99+
    2023-06-30
  • 基于Python+Pygame实现经典赛车游戏
    目录导语一、环境安装二、代码展示1.主程序main.py2.地图设置maps.py三、效果展示1.游戏界面2.游戏运行中3.15分到手导语 哈喽!哈喽~我是木木子,很久没给大家更新游...
    99+
    2024-04-02
  • PythonPygame实战之赛车游戏的实现
    目录导语一、环境安装1)运行环境2)素材环境二、代码展示三、效果展示游戏开始——游戏界面——游戏结束——导语 ...
    99+
    2024-04-02
  • Python+Pygame怎么实现24点游戏
    这篇文章主要介绍了Python+Pygame怎么实现24点游戏的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python+Pygame怎么实现24点游戏文章都会有所收获,下面我们一起来看看吧。游戏介绍(1)什么...
    99+
    2023-06-30
  • Python Pygame怎么实现塔防游戏
    这篇文章主要讲解了“Python Pygame怎么实现塔防游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python Pygame怎么实现塔防游戏”吧!一、环境要求w...
    99+
    2023-06-29
  • 怎么使用Python+Pygame实现泡泡游戏
    这篇文章主要讲解了“怎么使用Python+Pygame实现泡泡游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python+Pygame实现泡泡游戏”吧!一、环境安装1)素材(图片...
    99+
    2023-07-02
  • 怎么用Python Pygame实现的画饼图游戏
    这篇文章主要介绍“怎么用Python Pygame实现的画饼图游戏”,在日常操作中,相信很多人在怎么用Python Pygame实现的画饼图游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-06-22
  • python pygame怎么实现打砖块游戏
    游戏环境的界面以及代码如下import sys sys.path.append(r'E:\anaconda\Lib\site-packages') import pygame import sys import random...
    99+
    2023-05-25
    Python Pygame
  • Python+Pygame怎么实现吃豆豆游戏
    这篇文章主要介绍了Python+Pygame怎么实现吃豆豆游戏的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python+Pygame怎么实现吃豆豆游戏文章都会有所收获,下面我们一起来看看吧。一、首先1)素材首...
    99+
    2023-07-02
  • python pygame实现打砖块游戏
    本文实例为大家分享了python pygame实现打砖块游戏的具体代码,供大家参考,具体内容如下 最近在尝试着写一个用强化学习的方法玩打砖块的游戏,首先将游戏环境做些改动,以便产生需...
    99+
    2024-04-02
  • python中怎么利用pygame实现贪吃蛇游戏
    这篇文章给大家分享的是有关python中怎么利用pygame实现贪吃蛇游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、前言之前尝试了自己用pygame写井字棋,这次玩的是贪吃蛇系列。个人感觉模块可能会比较大...
    99+
    2023-06-15
  • Python中怎么用Pygame实现打砖块小游戏
    这篇文章主要介绍“Python中怎么用Pygame实现打砖块小游戏”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中怎么用Pygame实现打砖块小游戏”文章能帮助大家解决问题。一、准备中1...
    99+
    2023-06-29
  • 怎么使用Python+Pygame实现走四棋儿游戏
    一、游戏解说“走四儿”大部分活跃在山东济南、聊城、菏泽等地,是一种棋类游戏,特别适合儿童试玩。在一个4&times;4的棋盘上,双方各有4子,分别摆放在棋盘两个最上面的两端线的四个位置上。下图就是“走四儿”开局的样子。二、游戏规则“...
    99+
    2023-05-15
    Python Pygame
  • pygame开发:马赛逻辑小游戏的代码实现
    目录一、游戏简介二、核心代码解析三、pygame开发流程1、从创建窗口到棋盘绘制2、点击方格改变颜色2.1、点击事件2.2、碰撞检测2.3、方格变色2.4、阵列转换2.5、效果初见3...
    99+
    2024-04-02
  • Python+Pygame怎么实现疯狂吃水果游戏
    这篇文章主要介绍“Python+Pygame怎么实现疯狂吃水果游戏”,在日常操作中,相信很多人在Python+Pygame怎么实现疯狂吃水果游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python+Py...
    99+
    2023-07-02
  • 用python实现海龟赛跑小游戏
    目录代码说明输出图像总结 废话不多说,直接开始拉~~~ 我们总共有 6 只海龟,颜色不同,它们以随机长度移动。首先,我们应该通过输入乌龟的颜色来押注乌龟。第一个越线的乌龟被宣布为获胜...
    99+
    2024-04-02
  • Python+Pygame实现接小弹珠游戏
    目录游戏介绍效果展示游戏代码项目资源游戏介绍 小学生都不一定会晚的游戏,用挡板接住会反弹的小球,随着次数的增多,速度变快,分数增多。 效果展示 游戏代码 import pygame...
    99+
    2022-12-27
    Python Pygame接弹珠游戏 Python Pygame接弹珠 Python Pygame 游戏 Python 接弹珠
  • C语言实现2D赛车游戏的示例代码
    目录一、简介二、如何建立一个地图包三、关于碰撞图的绘制四、游戏时的说明五、如何更好地绘制赛场图与碰撞图六、实现代码一、简介 此游戏是《2D 赛车》的”魔改版“...
    99+
    2022-12-28
    C语言实现2D赛车游戏 C语言 赛车游戏 C语言 游戏
  • Python+Pygame实现神庙逃亡游戏
    目录游戏规则精灵类加载龙加载子弹添加玩家碰撞事件完整代码游戏规则 用pygame动画实现神庙逃亡类似的小游戏,当玩家移动的时候躲避子弹,如果子弹命中玩家或者名字龙都会减速,玩家躲避子...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作