机甲才是男人的浪漫 这款Python版免费战争机甲类游戏,“白拿党”还在等什么?(超帅气)

前文

大家好!我是梨子同学!
希望大家多多支持我!哈哈
为了感谢每一个关注我的小可爱:💓每篇文章的项目源码都是无偿分享滴💓 见文末
很多csdn的功能还在研究中,还有小编的文笔不好勿怪,会慢慢进步跟大家一起学习的
小编也一直在学习编程,如果代码小程序出现错误欢迎大家评论区留言哈!
最后——如果文章有帮助到你,记得”关注”、”点赞”、”评论”三连哦~

导语

大家早上好哈!

​最近一直再研究一款小游戏,画面打斗场景特别精彩!

本文呢是开源的游戏项目哈——这游戏可是个大工程,小编按照自己的想法加工优化一下给大家展

示效果滴!相信大家应该是有喜欢的!需要的话记得文末找我拿源码哈!

机甲才是男人的浪漫 这款Python版免费战争机甲类游戏,“白拿党”还在等什么?(超帅气)

正文

一、小编有话说

其实这款游戏是一款机甲对战的模式——下面我说的话不要捶我哈,狗头保命.jpg

感觉这种打怪掉金币、掉血包等等这些跟我之前看我朋友打的一款《地下城与勇士》很像!

2333,

机甲才是男人的浪漫 这款Python版免费战争机甲类游戏,“白拿党”还在等什么?(超帅气)

感觉都是这种一直刷刷刷的闯关模式,直女表示:”看这类游戏都差不多一样”,但是貌似市面上很

多这种类似刷boss闯关的,还可以自动刷的游戏来着!BUT 我没玩过但应该是很多人的童年吧~

​二、游戏规则

2.1闯关模式

这款游戏只有一个关卡:但是一个关卡里面分为几个小boss、打完即可通关,显示血量为0即可通关不成功。一只红色的机甲作为玩家必须打败出现的所有小机甲+小boss,每次敌方机甲死亡会掉落不同属性的物品,比如:血包、装备等等,靠近即可收取为自己可用。

2.2技能提示

机甲玩家角色: 机甲技能列表—I—O—J—U-作为技能按键; 机甲移动列表—W—A—S—D—作为上下左右移动按键。

三、游戏素材

这个游戏写了几千行代码——游戏素材图片——相应的背景音乐等都特别的多—— 下面仅展示一小小部分给大家哈!

3.1像素画风——

机甲才是男人的浪漫 这款Python版免费战争机甲类游戏,“白拿党”还在等什么?(超帅气)

3.2机甲模型——

机甲才是男人的浪漫 这款Python版免费战争机甲类游戏,“白拿党”还在等什么?(超帅气)

3.3冒险闯关

机甲才是男人的浪漫 这款Python版免费战争机甲类游戏,“白拿党”还在等什么?(超帅气)

四、环境安装

本文是写的小游戏嘛!基于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/&#x7BAD;&#x5934;" + 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=()                            #&#x673A;&#x7532;o&#x6280;&#x80FD;&#x5217;&#x8868;
    lizi_list = ()                         #&#x7C92;&#x5B50;&#x7279;&#x6548;1 &#x5217;&#x8868;
    lizi2_list = ()                        #&#x7C92;&#x5B50;&#x7279;&#x6548;2 &#x5217;&#x8868;
    lizi3_list =()                         #&#x7C92;&#x5B50;&#x7279;&#x6548;3 &#x5217;&#x8868;
    walk_right = ()                        #&#x673A;&#x7532; &#x5411;&#x5DE6;&#x8D70;&#x5217;&#x8868;
    walk_left = ()                         #&#x673A;&#x7532; &#x5411;&#x5DE6;&#x8D70;&#x5217;&#x8868;
    jn_list = ()                           #&#x673A;&#x7532;i&#x6280;&#x80FD;&#x5217;&#x8868;
    jump_list = ()                         #&#x673A;&#x7532;&#x8DF3;&#x8DC3;&#x6280;&#x80FD;&#x5217;&#x8868;
    hit_list = ()                          #&#x673A;&#x7532;&#x53D7;&#x4F24;&#x5217;&#x8868;
    attack_list_one=()                     #&#x8FD1;&#x653B; &#x7B2C;&#x4E00;&#x6BB5; &#x5217;&#x8868;
    attack_list_two = ()                   #&#x8FD1;&#x653B; &#x7B2C;&#x4E8C;&#x6BB5;&#x5217;&#x8868;
    attack_list_three = ()                 #&#x8FD1;&#x653B; &#x7B2C;&#x4E09;&#x6BB5;&#x5217;&#x8868;
    life_list=()                           #&#x673A;&#x7532;&#x53D7;&#x4F24; &#x5217;&#x8868;
    die_list=()                             #&#x673A;&#x7532; &#x8840;&#x91CF; &#x5217;&#x8868;
    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/

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

(0)

大家都在看

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