基于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根据出生年份简单计算生肖的方法
Mar 27 Python
Python中关于字符串对象的一些基础知识
Apr 08 Python
浅谈Python中copy()方法的使用
May 21 Python
Python实现截屏的函数
Jul 25 Python
Python中数字以及算数运算符的相关使用
Oct 12 Python
Python实现周期性抓取网页内容的方法
Nov 04 Python
详解Python Matplot中文显示完美解决方案
Mar 07 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
Jul 01 Python
Python  Asyncio模块实现的生产消费者模型的方法
Mar 01 Python
python 如何用urllib与服务端交互(发送和接收数据)
Mar 04 Python
基于Python实现的购物商城管理系统
Apr 27 Python
Python Pygame实战之塔防游戏的实现
Mar 17 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
文件系统基本操作类
2006/11/23 PHP
用php实现让页面只能被百度gogole蜘蛛访问的方法
2009/12/29 PHP
php常用ODBC函数集(详细)
2013/06/24 PHP
PHP根据传入参数合并多个JS和CSS文件的简单实现
2014/06/13 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
2014/09/16 PHP
如何解决PHP无法实现多线程的问题
2015/09/25 PHP
PHP针对多用户实现更换头像功能
2016/09/04 PHP
html读出文本文件内容
2007/01/22 Javascript
让网页根据不同IE版本显示不同的内容
2009/02/08 Javascript
JavaScript 变量命名规则
2009/09/23 Javascript
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
2010/04/27 Javascript
网站如何做到完全不需要jQuery也可以满足简单需求
2013/06/27 Javascript
JQEasy-ui在IE9以下版本中二次加载的问题分析及处理方法
2014/06/23 Javascript
JavaScript操作XML文件之XML读取方法
2015/06/09 Javascript
JavaScript实现数组随机排序的方法
2015/06/26 Javascript
详解AngularJS中$http缓存以及处理多个$http请求的方法
2016/02/06 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
jQuery DOM节点的遍历方法小结
2017/08/15 jQuery
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
2018/01/07 Javascript
微信小程序实现获取小程序码和二维码java接口开发
2019/03/29 Javascript
Vue3.0结合bootstrap创建多页面应用
2019/05/28 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
[02:38]DOTA2 夜魇暗潮2020活动介绍官方视频
2020/11/04 DOTA
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
使用apidocJs快速生成在线文档的实例讲解
2018/02/07 Python
python解决js文件utf-8编码乱码问题(推荐)
2018/05/02 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
2019/05/10 Python
python实现感知机线性分类模型示例代码
2019/06/02 Python
使用Python打造一款间谍程序的流程分析
2020/02/21 Python
Boda Skins皮衣官网:奢侈皮夹克,全球配送
2016/12/15 全球购物
英国高档百货连锁店:John Lewis
2017/11/20 全球购物
The North Face北面英国官网:美国著名户外品牌
2017/12/13 全球购物
公务员政审材料范文
2014/12/23 职场文书
小学生安全保证书
2015/05/09 职场文书
婚礼必备主持词范本!
2019/07/23 职场文书