| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> Python知识库 -> 趣味游戏编程之Python升级版本雷霆战机! -> 正文阅读 |
|
|
[Python知识库]趣味游戏编程之Python升级版本雷霆战机! |
前文学编程的话要从兴趣开始,兴趣是最好的老师。 这句话我很赞同,完全没毛病哈! 小编开始学python也是从游戏开始感兴趣学习的,所以大家看小编往期的文章大部分都是有代码的游戏趣味编程:各种游戏代码。 比如:塔防游戏(攻防类型),成语接龙、超级玛丽(咳咳咳......只有代码还没写成文章嘞) 之前还写的很多收集或者小编以前有的一些游戏代码很多忘记名字了..........23333 需要的直接找小编拿,免费的哈,源码基地粉丝群还记得哈,但是目前人数很少(咳咳咳.....才10几个人来着~) 所以需要大佬坐镇后方为很多小白解答~哈哈哈? SO? ?欢迎新手以及大佬以及学到一半 都欢迎来解答的解答、学习的学习 、互相学习啦!! 害~好难呀? 我想要个粉丝都没得~ 正文环境安装: Python3、pygame。 模块安装都会了哈,之前的文章说过很多次了哦!不会的看往期游戏的文章。 (一)游戏的嘛,当然要来点儿music才有激情。
ef fire_music():
pass
# 设置开火音乐
# effect = pygame.mixer.Sound('sounds/fire.wav') # pygame.mixer.Sound.play(effect)
(二)# 设置游戏背景图片 # 游戏刚开始时的背景图 。 bg_img0 = pygame.image.load('图片/start_bg.jpg').convert() # 加载游戏开始图标
start_img = pygame.image.load('图片/start.png').convert_alpha()
start_rect = start_img.get_rect()
start_rect.centerx = 262
start_rect.centery = 455 # 游戏进行中的背景图
bg_img1 = pygame.image.load('图片/map1.jpg').convert()
bg_img2 = bg_img1.copy() # 游戏结束时的背景图
bg_img3 = pygame.image.load('图片/map3.jpg').convert() # 加载游戏结束图标
gameover_img = pygame.image.load('图片/gameover.png').convert_alpha() # 加载游戏成功图标
gamesuccess = pygame.image.load('图片/success.png').convert_alpha()
? (三)敌方飞机。 # 敌机 ---------------------------------------------------------------------------------------
# 敌机移动
# 控制时间节奏 sec变量
sec +=1
#随机控制生成敌机的节奏
rhy = random.randint(ran1,ran2)
# 敌机最多数量
if sec%rhy ==0 and len(enemies) < max_enemies or sec ==1: # 设置敌机数量总数为9
# 生成一只敌机
enemy = Enemy(screen)
enemy.rect.centerx=random.randint(0,512)
# 生成上述敌机的子弹
enemy_bullet = Enemy_Bullet((enemy.rect.centerx,enemy.rect.centery))
# 敌机group 和 敌机子弹group加载敌机和子弹
enemies.add(enemy)
enemy_bullets.add(enemy_bullet)
# 敌机出现 和 敌机子弹出现
enemies.draw(screen)
enemy_bullets.draw(screen)
# 迭代敌机集合
for enemy in enemies:
# 让每个对象移动起来
enemy.move()
# 敌机超出屏幕边界后 自动删除敌机
collision_over1 = pygame.sprite.collide_rect(student_plane, enemy)
if collision_over1:
# 为了重启游戏时 防止有旧子弹和飞机存在
enemies.remove(enemy)
game = 'over'
if enemy.rect.bottom >768:
enemies.remove(enemy)
for enemy_bullet in enemy_bullets:
# 让每个对象移动起来
enemy_bullet.move()
collision_over2 = pygame.sprite.collide_rect(student_plane, enemy_bullet)
if collision_over2:
# 为了重启游戏时 防止有旧子弹和飞机存在
enemy_bullets.remove(enemy_bullet)
game = 'over'
# 敌机子弹超出屏幕边界后 自动删除敌机
if enemy_bullet.rect.bottom >768:
enemy_bullets.remove(enemy_bullet)
# -----------------------Boss --------------------------
if score >=140:
# 小敌机出现的节奏
ran1,ran2 = 15,25
max_enemies = 17
screen.blit(boss.image,boss.rect)
boss.move()
for my_bullet in student_plane.bullets:
hit_boss = pygame.sprite.collide_rect(boss,my_bullet)
if hit_boss:
boss.blood -=1.2
score+=1
if boss.blood <=0:
game = 'success'
游戏效果: ? 完整代码:是真的很多。这我发出来这文章要霸屏。
|
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/27 23:33:35- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |