python射击代码_如何在Python编写的游戏中射击无限子弹?

我的游戏有一个很长的代码,但我会粘贴在重要的部分,即子弹射击部分。游戏本质上是一个致命的Kombat风格的游戏,但有飞行机器人和子弹。在

在游戏循环之前,我首先预定义了子弹和机器人的函数:def robotr(xr,yr):

gameDisplay.blit(robrimg, (xr,yr))

def robotl(xl,yl):

gameDisplay.blit(roblimg, (xl,yl))

def bulletsr(xbr,ybr):

pygame.draw.circle(gameDisplay, THECOLORS[‘orange’],(xbr,ybr), 10)

def bulletsl(xbl,ybl):

pygame.draw.circle(gameDisplay, THECOLORS[‘orange’],(xbl,ybl), 10)

那么移动对象的众多变量:

^{pr2}$

在那之后,代码运行了很长一段时间(大约300-400行),但是在我发射子弹的地方,我有一个类似的事件来表示子弹随着机器人的箭头键移动而”移动”if event.type == pygame.KEYDOWN:

——-PLAYER 1 MOVEMENT——-

OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

if event.key == pygame.K_a:

xr_change = -5

xbr_change = -5 #I have to change the position of the bullet as well so that it doesn’t stay in one place and rather shoots from the robot (duh.)

然后用一个类似的代码发射子弹:#——-FIRE CANNON MK1——-

OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

if event.key == pygame.K_LSHIFT:

bulletsfx=pygame.mixer.Sound (‘boomchickchickmp3.ogg’)

bulletsfx.play()

bulletsfx.set_volume(0.2)

xbl_change = 5

if xbl_change == 5:

bulletsl(xbl,ybl)

xbl=xl

当然,我为右边的机器人定义了多次这样的代码。在

在我的程序快结束时(这是我的结尾的简短形式,因为我有额外的变量,所以事情不会从屏幕上掉下来,但现在可以忽略它)我有一个这样的代码,这样我可以将更改重新定义回”0″,以便可以重用这些移动,等等:if event.type == pygame.KEYUP:

Player 1 events

if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT or event.key == pygame.K_UP or event.key == pygame.K_DOWN or event.key == pygame.K_RCTRL or event.key == pygame.K_DELETE: #or event.key == pygame.K_RSHIFT:

xr_change = 0

yr_change = 0

xbr_change= 0

ybr_change= 0

Player 2 events

if event.key == pygame.K_a or event.key == pygame.K_d or event.key == pygame.K_w or event.key == pygame.K_s or event.key == pygame.K_LCTRL or event.key == pygame.K_f: #or event.key == pygame.K_LSHIFT:

xl_change = 0

yl_change = 0

xbl_change= 0

ybl_change= 0

xr += xr_change

yr += yr_change

xl += xl_change

yl += yl_change

xbr += xbr_change

ybr += ybr_change

xbl += xbl_change

ybl += ybl_change

bulletsr(xbr,ybr)

bulletsl(xbl,ybl)

robotr(xr,yr)

robotl(xl,yl)

pygame.display.update()

clock.tick(320)

现在我的问题是,当我发射子弹时,它会发射,但我只能发射一次,直到它从我的程序屏幕上消失(没关系,我做了它,所以一旦它离开屏幕,它就会返回给机器人)。否则,如果我继续按键射击,它只会将子弹坐标返回到它原来应该的位置(就像在我射击时,如果我再射击,我可以看到子弹消失回到原来的位置)。在

没有无限多的项目符号,我想知道如何修改函数和一些变量(可能)使之发生。在

Original: https://blog.csdn.net/weixin_34651473/article/details/113512159
Author: 郑小武
Title: python射击代码_如何在Python编写的游戏中射击无限子弹?

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/781450/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • pandas常用指令整理

    pandas指令整理 本文旨在记录自己学习过程中遇到的一些常见代码,日后会进行日常维护,如果有幸被同样在学习的朋友看到还请批评指正。如果碰巧对你提供了一些帮助,那我也荣幸万分。 p…

    Python 2023年8月18日
    063
  • 应用 Serverless 化,让业务开发心无旁骛

    我们希望让用户做得更少而收获更多,通过Serverless化,用云就像用电一样简单。”张建锋表示,Serverless 让云计算从一种资源真正变成一种能力,未来云将全面…

    Python 2023年10月9日
    041
  • Python爬虫进阶(七):Scrapy初步

    Scrapy 1 定义 2 特点 3 官方文档 #4 scrapy项目的工作流程 Scrapy中的术语 1 调度器(Scheduler) 2 下载器(Downloader) 3 实…

    Python 2023年10月3日
    050
  • 用python表白女神_Python表白?别傻了,女神是拿来撩的!

    原标题:Python表白?别傻了,女神是拿来撩的! 作者:法纳斯特 (本文来自作者投稿) 自古真情留不住,唯有套路得人心。 刷抖音的小伙伴,也许会有点印象。 利用Python的py…

    Python 2023年9月24日
    054
  • 爬虫之Scrapy架构

    Scrapy架构介绍 Scrapy下载 Scrapy基本使用 Scrapy目录结构 Scrapy解析数据 settings相关配置 基础配置 增加爬虫的爬取效率 去重规则(布隆过滤…

    Python 2023年6月12日
    060
  • Vue+Django 开发第三关:Vue发送的请求数据,Django端不能识别的问题

    在闯过了前两关以后,现在来看第三关: 通过分析vue前端请求发送的数据,请求数据是正确且已经提交了的,但是出现django 服务端没有接收到数据的情况 巨晕~!难不成数据还能&#8…

    Python 2023年6月12日
    075
  • 从零开始写博客系统——获取博客列表

    开始 从现在开始,我们就要开始进行后台的开发了,首先我们要用 Flask开启我们的第一个接口。 参考大部分博客的情况,打开博客首页的时候都会需要展示博客的列表。因此我们的第一个后台…

    Python 2023年8月13日
    033
  • 用python整个活(2)——用numpy做一个蜘蛛纸牌

    1,过程 蜘蛛纸牌大家玩过没有?之前的电脑上自带的游戏,用他来摸鱼过的举个手。 但是现在的电脑上已经没有蜘蛛纸牌了。所以…… 可不可以自己做一个呢?想法有了…

    Python 2023年9月18日
    053
  • vs2019安装ironpython_VS2019下载python第三方库

    最近下载了VS2019,然后安装的时候也安装了python的环境,但是用pip命令想下载第三方库时显示 查了一下,是因为没有把pip的路径加到环境变量里,所以就想着加就加咯,然后就…

    Python 2023年9月23日
    052
  • 在Flask编程中显示路径汇总

    文件目录: EricWeb(项目文件夹) web_app(app文件夹) settings.py(下边代码所在的文件) 1、返回.py文件的全路径,用os.path.dirname…

    Python 2023年8月14日
    063
  • 12.武装飞船

    规划项目: 在游戏《外星人入侵》中,玩家控制着一艘最初出现在屏幕底部中央的飞船。玩家可以使用箭头键左右移动飞船,还可使用空格键进行设计。游戏开始时,一群外星人出现在天空中,它们在屏…

    Python 2023年9月23日
    045
  • 人工智能的安全、伦理和隐私问题

    一、人工智能的安全问题1.人工智能网络安全问题众所周知,很多行业在应用入工智能这项技术以及相关的知识的时候都是依附于计算机网络来进行的,而计算机网络这个行业是错综复杂的,很多计算机…

    Python 2023年9月29日
    028
  • Superset SSO改造和自定义宏命令

    在最近的一个项目上,客户想要为他们的多租户(Multi-tenant)系统添加一个新的报表中心。技术选型自然沿用之前的选择:Apache Superset,一款由爱彼迎贡献给开源社…

    Python 2023年5月24日
    074
  • 使用 Spring Security 手动验证用户

    1。概述 在这篇快速文章中,我们将重点介绍如何在 Spring Security 和 Spring MVC 中手动验证用户的身份。 2。Spring Security 简单地说,S…

    Python 2023年10月19日
    024
  • Python使用flask搭建HTTP服务并测试

    Python使用flask搭建HTTP服务并测试 响应GET、POST请求代码 运行代码 * 取消WARNING警告 使用Postman测试 * 测试响应get请求 测试响应pos…

    Python 2023年8月13日
    043
  • Git&Gitee

    Git Git介绍 安装 命令学习 Git的作用 git与svn比较 Git,GitHub,GitLab,Gitee Git工作流程 Git常用命令 在仓库目录终端下 &#8211…

    Python 2023年6月10日
    064
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球