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

怎么使用Python+Pygame实现泡泡游戏

2023-07-02 17:07:29 464人浏览 独家记忆

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

摘要

这篇文章主要讲解了“怎么使用python+Pygame实现泡泡游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python+Pygame实现泡泡游戏”吧!一、环境安装1)素材(图片

这篇文章主要讲解了“怎么使用python+Pygame实现泡泡游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python+Pygame实现泡泡游戏”吧!

一、环境安装

1)素材(图片) 

怎么使用Python+Pygame实现泡泡游戏

嘻嘻很久没写游戏了,先写个简单的大家润润喉~

2)运行环境

小编使用的环境:python3PyCharm社区版、Pygame 模块部分自带就不一一展示啦。

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

二、代码展示

import pygame,random,osfrom pygame.locals import *from pygame.sprite import Sprite,Group,spritecollidedef load_image(name):    fullname=os.path.join(os.path.join(os.path.split(os.path.abspath(__file__))[0],"filedata"),name)    image=pygame.image.load(fullname)    return imageclass Surface:    def __init__(self,screen):        self.screen=screen        self.screenrect=self.screen.get_rect()        self.surfacetype=1        self.image=load_image("surface"+str(self.surfacetype)+".png")        self.rect=self.image.get_rect()        self.rect.center=self.screenrect.center        self.speed=3.5        self.moveUp=False        self.moveDown=False        self.moveLeft=False        self.moveRight=False    def update(self):        if self.moveUp and self.rect.top>0:            self.rect.centery-=self.speed        if self.moveDown and self.rect.bottom<HEIGHT:            self.rect.centery+=self.speed        if self.moveLeft and self.rect.left>0:            self.rect.centerx-=self.speed        if self.moveRight and self.rect.right<WIDTH:            self.rect.centerx+=self.speed    def blit(self):        self.screen.blit(self.image,self.rect)    def addtype(self):        self.surfacetype+=1        if self.surfacetype>3:            self.surfacetype=1        self.image=load_image("surface"+str(self.surfacetype)+".png")class Trap(Sprite):    def __init__(self,screen,traptyper):        super(Trap,self).__init__()        self.screen=screen        self.screenrect=self.screen.get_rect()        self.traptype=traptyper        self.image=load_image("trap"+str(self.traptype)+".png")        self.rect=self.image.get_rect()        self.rectat=random.choice(["top","left","right","bottom"])        self.__updatespeed()    def __updatespeed(self):        self.xspeed=round(random.unifORM(1,3),2)        self.yspeed=round(random.uniform(1,3),2)        if self.rectat=="top":            self.rect.center=(random.randint(0,WIDTH),0)        elif self.rectat=="bottom":            self.rect.center=(random.randint(0,WIDTH),HEIGHT)            self.yspeed=-self.yspeed        elif self.rectat=="left":            self.xspeed=-self.xspeed            self.rect.center=(0,random.randint(0,HEIGHT))        elif self.rectat=="right":            self.rect.center=(WIDTH,random.randint(0,HEIGHT))    def update(self):        global traptype        self.traptype=traptype        self.image=load_image("trap"+str(self.traptype)+".png")        self.rect.centerx+=self.xspeed        self.rect.centery+=self.yspeed        if self.rect.top>self.screenrect.height or self.rect.bottom<0:            self.kill()        elif self.rect.left>self.screenrect.width or self.rect.right<0:            self.kill()WIDTH=1200HEIGHT=650traptype=1def initmain():    global traptype    traptype=1    pygame.init()    screen=pygame.display.set_mode((WIDTH,HEIGHT))    pygame.display.set_caption("泡泡王国")    bGColorlist=((0,255,255),(255,128,0),(128,0,255))    colortype=0    bgcolor=bgcolorlist[colortype]    rates=0    gamestart=True    fpstime=pygame.time.Clock()    fps=100    gameFont=pygame.font.SysFont("黑体",26,True)    surface=Surface(screen)    traps=Group()        while gamestart:        fpstime.tick(fps)        screen.fill(bgcolor)        surface.blit()        rates+=1        if rates%20==0:            newtrap=Trap(screen,traptype)            traps.add(newtrap)        if rates%1000==0 and rates!=0:            colortype+=1            traptype+=1            if colortype>2:                colortype=0            if traptype>3:                traptype=1            bgcolor=bgcolorlist[colortype]            surface.addtype()        if spritecollide(surface,traps,True):            screen.fill(bgcolor)            gamestart=False            break        screen.blit(gameFont.render("Score: "+str(rates),True,(0,0,0)),(2,2))        surface.update()        traps.update()        traps.draw(screen)        for event in pygame.event.get():            if event.type==QUIT:                gamestart=False            elif event.type==KEYDOWN:                if event.key==K_RIGHT:                    surface.moveRight=True                elif event.key==K_LEFT:                    surface.moveLeft=True                elif event.key==K_UP:                    surface.moveUp=True                elif event.key==K_DOWN:                    surface.moveDown=True                elif event.key==K_SPACE:                    surface.speed=4.5            elif event.type==KEYUP:                if event.key==K_RIGHT:                    surface.moveRight=False                elif event.key==K_LEFT:                    surface.moveLeft=False                elif event.key==K_UP:                    surface.moveUp=False                elif event.key==K_DOWN:                    surface.moveDown=False                elif event.key==K_SPACE:                    surface.speed=3.5        pygame.display.flip()    screen.fill(bgcolor)    screen.blit(gameFont.render("Score: "+str(rates//30),True,(0,0,0)),(2,2))    screen.blit(gameFont.render("Press enter to retry ; Press ESC to exit",True,(0,0,0)),(6,32))    screen.blit(gameFont.render("Rules:",True,(0,0,0)),(6,82))    screen.blit(gameFont.render("Press the arrow keys to control the bubbles to avoid touching the stinging ball and press the space bar to speed up.",                                True,(0,0,0)),(66,112))    pygame.display.flip()    while True:        for event in pygame.event.get():            if event.type==QUIT:                pygame.quit()                __import__("sys").exit()            elif event.type==KEYDOWN:                if event.key==K_RETURN:                    pygame.quit()                    initmain()                elif event.key==K_ESCAPE:                    pygame.quit()                    __import__("sys").exit()if __name__=="__main__":    initmain()

三、效果展示

游戏规则:Enter开始游戏,ESC退出游戏,上下左右键按住泡泡移动。躲避随机出现的陨石

哦!躲避的时间越长,分数越高啦!勇士们开始你门的挑战叭!

1)随机截图一

怎么使用Python+Pygame实现泡泡游戏

2)随机截图二

怎么使用Python+Pygame实现泡泡游戏

3)撞击结束

怎么使用Python+Pygame实现泡泡游戏

感谢各位的阅读,以上就是“怎么使用Python+Pygame实现泡泡游戏”的内容了,经过本文的学习后,相信大家对怎么使用Python+Pygame实现泡泡游戏这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 怎么使用Python+Pygame实现泡泡游戏

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

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

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

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

下载Word文档
猜你喜欢
  • 怎么使用Python+Pygame实现泡泡游戏
    这篇文章主要讲解了“怎么使用Python+Pygame实现泡泡游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python+Pygame实现泡泡游戏”吧!一、环境安装1)素材(图片...
    99+
    2023-07-02
  • Python+Pygame实战之泡泡游戏的实现
    目录导语一、环境安装二、代码展示三、效果展示导语 泡泡王国 欢乐多多 咕噜噜,吹泡泡,七彩泡泡满天飘。大的好像彩气球,小的就像紫葡萄。 ​当泡泡漫天飞舞时,大朋友、小朋友都会情不自禁...
    99+
    2024-04-02
  • Pygame如何实现泡泡龙小游戏
    这篇文章给大家介绍Pygame如何实现泡泡龙小游戏,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。导语Python版的消除类的游戏还是很多的,木木子之前也是推过不少~比如:百变的消消乐,还记得嘛?今天就出一个消除类——泡...
    99+
    2023-06-22
  • Pygame实战之经典泡泡龙小游戏
    目录导语​正文一、准备中二、开始敲代码三、效果展示总结导语 Python版的消除类的游戏还是很多的,木木子之前也是推过不少~ 比如:百变的消消乐,还记得嘛?今天就出一个消除类——泡...
    99+
    2024-04-02
  • Java怎么实现经典游戏泡泡堂
    这篇文章主要介绍“Java怎么实现经典游戏泡泡堂”,在日常操作中,相信很多人在Java怎么实现经典游戏泡泡堂问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java怎么实现经典游戏泡泡堂”的疑惑有所帮助!接下来...
    99+
    2023-06-29
  • JAVA实现的CrazyArcade泡泡堂游戏
    目录项目地址示例图片项目结构机器人平滑碰撞其它特性使用打包文件项目文件声明主要代码项目地址 https://github.com/SCNU-A225/CrazyArcade 示例图片...
    99+
    2024-04-02
  • JAVA如何实现CrazyArcade泡泡堂游戏
    这篇文章将为大家详细讲解有关JAVA如何实现CrazyArcade泡泡堂游戏,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,可重复...
    99+
    2023-06-14
  • Java实现经典游戏泡泡堂的示例代码
    目录前言主要设计功能截图代码实现游戏启动类核心监听类核心线程类总结前言 《泡泡堂I》是一个基于java的自制游戏,游戏设计为双人pk积分赛模式,在这个模式里面,玩家只要率先达到一定分...
    99+
    2024-04-02
  • Java实现泡泡堂对战版游戏的示例代码
    目录前言主要设计功能截图代码实现游戏启动类核心监听类核心线程类总结前言 《泡泡堂II》是一个基于java的自制游戏,使用了MVC模式,分离了模型、视图和控制器,使得项目结构清晰易于扩...
    99+
    2024-04-02
  • 怎么用Python Pygame实现赛车游戏
    今天小编给大家分享一下怎么用Python Pygame实现赛车游戏的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一...
    99+
    2023-06-29
  • 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实现走四棋儿游戏
    一、游戏解说“走四儿”大部分活跃在山东济南、聊城、菏泽等地,是一种棋类游戏,特别适合儿童试玩。在一个4&times;4的棋盘上,双方各有4子,分别摆放在棋盘两个最上面的两端线的四个位置上。下图就是“走四儿”开局的样子。二、游戏规则“...
    99+
    2023-05-15
    Python Pygame
  • 如何使用Python Pygame实现24点游戏
    这篇文章主要讲解了“如何使用Python Pygame实现24点游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Python Pygame实现24点游戏”吧!游戏介绍(1)什么是2...
    99+
    2023-07-06
  • 怎么使用Python实现冒泡排序算法
    这篇文章主要介绍“怎么使用Python实现冒泡排序算法”,在日常操作中,相信很多人在怎么使用Python实现冒泡排序算法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用Python实现冒泡排序算法”的疑...
    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怎么实现冒泡排序
    本篇内容主要讲解“Python怎么实现冒泡排序”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么实现冒泡排序”吧!Python实现的源码的测试结果:def bubble_s...
    99+
    2023-06-04
  • 怎么使用python+pygame实现简易五子棋小游戏
    本篇内容主要讲解“怎么使用python+pygame实现简易五子棋小游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用python+pygame实现简易五子棋小游戏”吧!tkinter库...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作