前文
大家好!我是梨子同学!
希望大家多多支持我!哈哈
为了感谢每一个关注我的小可爱:💓每篇文章的项目源码都是无偿分享滴💓 见文末!
很多csdn的功能还在研究中,还有小编的文笔不好勿怪,会慢慢进步跟大家一起学习的
小编也一直在学习编程,如果代码小程序出现错误欢迎大家评论区留言哈!
最后——如果文章有帮助到你,记得”关注”、”点赞”、”评论”三连哦~
导语
大家早上好哈!
最近一直再研究一款小游戏,画面打斗场景特别精彩!
本文呢是开源的游戏项目哈——这游戏可是个大工程,小编按照自己的想法加工优化一下给大家展
示效果滴!相信大家应该是有喜欢的!需要的话记得文末找我拿源码哈!
正文
一、小编有话说
其实这款游戏是一款机甲对战的模式——下面我说的话不要捶我哈,狗头保命.jpg
感觉这种打怪掉金币、掉血包等等这些跟我之前看我朋友打的一款《地下城与勇士》很像!
2333,
感觉都是这种一直刷刷刷的闯关模式,直女表示:”看这类游戏都差不多一样”,但是貌似市面上很
多这种类似刷boss闯关的,还可以自动刷的游戏来着!BUT 我没玩过但应该是很多人的童年吧~
二、游戏规则
2.1闯关模式
这款游戏只有一个关卡:但是一个关卡里面分为几个小boss、打完即可通关,显示血量为0即可通关不成功。一只红色的机甲作为玩家必须打败出现的所有小机甲+小boss,每次敌方机甲死亡会掉落不同属性的物品,比如:血包、装备等等,靠近即可收取为自己可用。
2.2技能提示
机甲玩家角色: 机甲技能列表—I—O—J—U-作为技能按键; 机甲移动列表—W—A—S—D—作为上下左右移动按键。
三、游戏素材
这个游戏写了几千行代码——游戏素材图片——相应的背景音乐等都特别的多—— 下面仅展示一小小部分给大家哈!
3.1像素画风——
3.2机甲模型——
3.3冒险闯关
四、环境安装
本文是写的小游戏嘛!基于Pygame写的。环境准备:Python3、Pycharm。
pip install -i https://pypi.douban.com/simple/ pygame
五、 由于项目代码过多,这里只给出部分代码。
5.1加载动画以及音效
font = pygame.font.SysFont(None,50,True)# 字体 True 打开抗锯齿
load_music=pygame.mixer.Sound("music/11046.wav")
start_music=pygame.mixer.Sound("music/战斗背景音效.wav")
back_music=pygame.mixer.Sound("music/BGM_1 (1)_02.wav")
green_jn=pygame.mixer.Sound("music/敌人技能.wav")
green_attack_music=pygame.mixer.Sound("music/怪叫.wav")
player_hit_music=pygame.mixer.Sound("music/机甲受伤.wav")
walk_music=pygame.mixer.Sound("music/机器走路.wav")
jump_music=pygame.mixer.Sound("music/弹跳.wav")
diren_die_music=pygame.mixer.Sound("music/坦克爆炸.wav")
jn_music=pygame.mixer.Sound("music/激光声游戏喷射_1_3.wav")
attack_music=pygame.mixer.Sound("music/敌人普攻_01_1.wav")
check_music=pygame.mixer.Sound("music/升级或者获得奖励.wav")
feiti_music=pygame.mixer.Sound("music/机器故障.wav")
game_over_music=pygame.mixer.Sound("music/我一定会回来的.wav")
life_add_music=pygame.mixer.Sound("music/加血.wav")
player_hit_music.set_volume(0.5)
check_music.set_volume(0.2)
green_attack_music.set_volume(0.1)
back_music.set_volume(0)
jn_music.set_volume(1)
start_music.set_volume(0.5)
load_music.set_volume(1)
5.2初始化地图
map_img=pygame.image.load("map_img/left.jpg")
start_back=pygame.image.load("load_img/start_back2.png")
set_font = pygame.font.SysFont("KaiTi", 47)
load_music.play()
screen=pygame.display.set_mode((WIDTH,HEIGHT),pygame.FULLSCREEN)
screen=pygame.display.set_mode((WIDTH,HEIGHT))
screen.fill((16,16,16))
screen.blit(start_back,(0,0))
pygame.display.set_caption("机甲对战小游戏")
pygame.display.set_icon(start_back)
#
load_image=() #开始动画列表
load_count=1 #开始动画加载
start_flag=False#是否开始
start_music.play(-1)#游戏开始音效
for pic_num in range(1,30):
if pic_num<10: load_image+="(pygame.image.load("./load_img/jz00"+str(pic_num)+".png"),)" elif pic_num>9:
load_image+=(pygame.image.load("./load_img/jz0"+str(pic_num)+".png"),)
class walk_sound():
def __init__(self,src):
self.sound=pygame.mixer.Sound(src)
self.sound.set_volume(1)
def music_play(self):
self.sound.play()
def music_stop(self):
self.sound.stop()</10:>
5.3关卡动画
class check_fun(object):
check_list = []
for pic_num in range(1, 13):
check_list+=(pygame.image.load("./right_check/箭头" + str(pic_num) + ".png"),)
def __init__(self):
self.check_count=1
def draw(self,screen):
if self.check_count>=12:
self.check_count=1
if self.check_count:
screen.blit(self.check_list[self.check_count],(1100,290))
self.check_count+=1
5.4玩家角色
class Player(object):
flc_list=() #机甲o技能列表
lizi_list = () #粒子特效1 列表
lizi2_list = () #粒子特效2 列表
lizi3_list =() #粒子特效3 列表
walk_right = () #机甲 向左走列表
walk_left = () #机甲 向左走列表
jn_list = () #机甲i技能列表
jump_list = () #机甲跳跃技能列表
hit_list = () #机甲受伤列表
attack_list_one=() #近攻 第一段 列表
attack_list_two = () #近攻 第二段列表
attack_list_three = () #近攻 第三段列表
life_list=() #机甲受伤 列表
die_list=() #机甲 血量 列表
all_tuple=()
stand_list = ()
HP_tuple=()
cd_tuple=()
level_tuple=()
for pic_num in range(1,13):
level_tuple+=(pygame.image.load("./Update/"+str(pic_num)+".png"),)
for pic_num in range(1,17):
all_tuple+=(pygame.image.load("./jn/BIG/1 ("+str(pic_num)+").png"),)
for pic_num in range(1,12):
cd_tuple+=(pygame.image.load("./cd/cd"+str(pic_num)+".png"),)
for pic_num in range(1,17):
HP_tuple+=(pygame.image.load("./HP/"+str(pic_num)+".png"),)
for pic_num in range(1,65):
die_list+=(pygame.image.load("./die/die ("+str(pic_num)+").png"),)
for pic_num in range(1,33):
flc_list+=(pygame.image.load("./jn/flc ("+str(pic_num)+").png"),)
for pic_num in range(1,49):
lizi_list+=(pygame.image.load("./fire/"+str(pic_num)+".png"),)
for pic_num in range(1,34):
lizi2_list+=(pygame.image.load("./huohua/"+str(pic_num)+".png"),)
for pic_num in range(1,81):
lizi3_list+=(pygame.image.load("./huohua2/"+str(pic_num)+".png"),)
for pic_num in range(1,5):
life_list+=(pygame.image.load("./hit/ss (1).png"),)
life_list+=(pygame.image.load("./hit/ss (2).png"),)
for pic_num in range(1,13):
walk_right+=(pygame.image
Original: https://blog.csdn.net/TZ45678/article/details/122317857
Author: 程序员梨子
Title: 机甲才是男人的浪漫 这款Python版免费战争机甲类游戏,“白拿党”还在等什么?(超帅气)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/781886/
转载文章受原作者版权保护。转载请注明原作者出处!