基于Python实现射击小游戏的制作


Posted in Python onApril 06, 2022

1.游戏画面

1.1开始

基于Python实现射击小游戏的制作

1.2射击怪物

基于Python实现射击小游戏的制作

2.涉及知识点

1.sprites

2.pygame混音器

3.图章   

4.python基础语法

3.代码

3.1发射声

from sprites import *
try:
    import pygame    
    pygame.mixer.init()
    fire_sound = pygame.mixer.Sound("audio/发射声.wav")
    cricket_sound = pygame.mixer.Sound('audio/cricket.wav')
except:
    import sys
    input("本程序需要pygame混音器支持以便配音,请先在cmd下用pip install pygame安装此模块。")

3.2背景

width,height = 480,360
screen = Screen()
screen.bgpic('res/ghosthouse.jpg')
screen.setup(width,height)

batimages = ['res/bat1.png','res/bat2.png']
batindex = 0
bat = Sprite(visible=False,pos=(-50-width//2,100))
bat.dx = 3
bat.dy = 0
bat.alive = True
bat.show()

3.3射击效果

def bat_alt_costume():
    global batindex
    batindex = 1 - batindex
    bat.shape(batimages[batindex])
    screen.ontimer(bat_alt_costume,90)
bat_alt_costume()    

hole = Sprite(shape='res/Bullet_Hole.png',visible=False)

m1 = Mouse(1)           # 鼠标左键
m3 = Mouse(3)           # 鼠标右键
clock = Clock()         # 时钟对象 
start_stamp = False
while True:
    bat.move(bat.dx,bat.dy)

    # 掉到地面就盖图章,留下尸体
    if bat.ycor() < random.randint(-200,-100):
        bat.dx = 0
        bat.dy = 0
        bat.setheading(random.randint(1,360))
        bat.stamp()
        bat.reborn(-500-width//2,100,3,0,delay=2)
        bat.alive = True
        bat.setheading(0)
        
    # 蝙蝠碰到鼠标指针并且按下了鼠标左键       
    if bat.collide_mouse() and m1.down() and bat.alive:         
        bat.dy = -10                # 开始往下掉
        bat.alive = False
        try: cricket_sound.play()
        except:pass
        
    # 到了最右边就到最左边去重新开始
    if bat.xcor() > width//2 :
        bat.reborn(-500-width//2,100,3,0,delay=2)
        bat.alive = True
        bat.setheading(0)
    hole.goto(mouse_position())

    # 发射子弹,用盖图章留下弹洞,为防连续发射用了start_stamp变量
    if m1.down() and not start_stamp:
        hole.stamp()
        start_stamp = True
        try: fire_sound.play()
        except: pass
        
    # 松开按键后
    if not m1.down():start_stamp = False

    clock.tick(60)

4.经验总结

利用python各种游戏库可以做任何小游戏

到此这篇关于基于Python实现射击小游戏的制作的文章就介绍到这了,更多相关Python射击游戏内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python进阶教程之模块(module)介绍
Aug 30 Python
Python os模块学习笔记
Jun 21 Python
在Django中创建URLconf相关的通用视图的方法
Jul 20 Python
python3+PyQt5实现文档打印功能
Apr 24 Python
Python3.遍历某文件夹提取特定文件名的实例
Apr 26 Python
python3调用百度翻译API实现实时翻译
Aug 16 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
Oct 21 Python
查看Python依赖包及其版本号信息的方法
Aug 13 Python
使用Python生成200个激活码的实现方法
Nov 22 Python
Python for循环通过序列索引迭代过程解析
Feb 07 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
May 22 Python
python之随机数函数的实现示例
Dec 30 Python
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
浅谈Python中对象是如何被调用的
Apr 06 #Python
Python实现猜拳与猜数字游戏的方法详解
python字符串的一些常见实用操作
Apr 06 #Python
python中字符串String及其常见操作指南(方法、函数)
Apr 06 #Python
Python Numpy库的超详细教程
You might like
十大催泪虐心动漫电影,有几部你还没看
2020/03/04 日漫
excellent!――ASCII Art(由目标图象生成ascii)
2007/02/20 PHP
PHP下10件你也许并不了解的事情
2008/09/11 PHP
php编程实现获取excel文档内容的代码实例
2011/06/28 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
thinkphp缓存技术详解
2014/12/09 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
js资料prototype 属性
2007/03/13 Javascript
js中事件的处理与浏览器对象示例介绍
2013/11/29 Javascript
JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
2014/10/17 Javascript
JS中的二叉树遍历详解
2016/03/18 Javascript
微信小程序 特效菜单抽屉效果实例代码
2017/01/11 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
vue webpack打包优化操作技巧
2018/02/22 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
2019/05/16 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
解决ant Design中Select设置initialValue时的大坑
2020/10/29 Javascript
[02:23]DOTA2英雄基础教程 幻影长矛手
2013/12/09 DOTA
Linux下用Python脚本监控目录变化代码分享
2015/05/21 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
windows下pycharm安装、创建文件、配置默认模板
2018/07/31 Python
Python生成一个迭代器的实操方法
2019/06/18 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
HTML5 新标签全部总汇(推荐)
2016/06/13 HTML / CSS
思想品德课教学反思
2014/02/10 职场文书
教师试用期自我鉴定
2014/02/12 职场文书
2014年基层党组织公开承诺书
2014/03/29 职场文书
小学生操行评语大全
2014/04/22 职场文书
学习方法演讲稿
2014/05/10 职场文书
王力宏牛津大学演讲稿
2014/05/22 职场文书
2014年实习班主任工作总结
2014/11/08 职场文书
违反工作规定检讨书范文
2014/12/14 职场文书
反腐倡廉观后感
2015/06/08 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python
MySQL命令无法输入中文问题的解决方式
2021/08/30 MySQL