温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

基于Python+Pygame如何实现变异狗大战游戏

发布时间:2023-03-08 11:58:55 来源:亿速云 阅读:145 作者:iii 栏目:开发技术

这篇文章主要介绍了基于Python+Pygame如何实现变异狗大战游戏的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇基于Python+Pygame如何实现变异狗大战游戏文章都会有所收获,下面我们一起来看看吧。

一、准备环境 

1)环境安装 

本文用到的环境如下——

 Python3、Pycharm社区版,pygame其他自带的库只要安装完 Python就可以直接使用了

 一般安装:pip install +模块名 

 镜像源安装:pip install -i pypi.douban.com/simple/+模块名…

二、代码展示

1)导入库

import pygame, sys

from pygame.locals import *

2)主程序

def pygame_run():
    pygame.init()
    _display_surf = pygame.display.set_mode((480, 320))
    pygame.display.set_caption('py梦')
    _font_type = pygame.font.match_font('Microsoft YaHei')

    # 敌方精灵状态,文字显示
    _ord_pym_rect = pygame.Rect(-260, 0, 220, 50)
    # 敌方精灵名字,文字显示设置
    _ord_pym_name = pygame.font.Font(_font_type, 16)
    _ord_pym_name_surf_obj = _ord_pym_name.render("lv10:它狗", True, BLACK, None)
    _ord_pym_name_rect = _ord_pym_name_surf_obj.get_rect()
    _ord_pym_name_rect.left = -200
    _ord_pym_name_rect.top = 0
    # 敌方精灵血量,文字显示设置
    _ord_pym_blood = pygame.font.Font(_font_type, 16)
    _ord_pym_blood_surf_obj = _ord_pym_blood.render("血量:----------[69/69]", True, BLACK, None)
    _ord_pym_blood_rect = _ord_pym_blood_surf_obj.get_rect()
    _ord_pym_blood_rect.left = -200
    _ord_pym_blood_rect.top = 20
    # 敌方精灵贴图显示设置
    _ord_pym_img = pygame.image.load('dog1.png')
    _ord_pym_img_top = 20
    _ord_pym_img_left = 320+220

    # 我方精灵状态,文字显示设置
    _my_pym_rect = pygame.Rect(260, 170, 220, 50)
    # 我方精灵名字,文字显示设置
    _my_pym_name = pygame.font.Font(_font_type, 16)
    _my_pym_name_surf_obj = _my_pym_name.render("lv18:我狗", True, BLACK, None)
    _my_pym_name_rect = _my_pym_name_surf_obj.get_rect()
    _my_pym_name_rect.left = 480
    _my_pym_name_rect.top = 170
    # 我方精灵血量,文字显示设置
    _my_pym_blood = pygame.font.Font(_font_type, 16)
    _my_pym_blood_surf_obj = _my_pym_blood.render("血量:----------[99/99]", True, BLACK, None)
    _my_pym_blood_rect = _my_pym_blood_surf_obj.get_rect()
    _my_pym_blood_rect.left = 480
    _my_pym_blood_rect.top = 190
    # 我方精灵贴图显示设置
    _my_pym_img = pygame.image.load('dog2.png')
    _my_pym_img_top = 80
    _my_pym_img_left = 20-220

    # 对战面板,显示设置
    _select_rect = pygame.Rect(480, 220, 220, 95)
    # 战斗,文字显示设置
    _select_font_1 = pygame.font.Font(_font_type, 30)
    _select_font_1_surf_obj = _select_font_1.render("战斗", True, BLACK, None)
    _select_font_1_rect = _select_font_1_surf_obj.get_rect()
    _select_font_1_rect.left = 480
    _select_font_1_rect.top = 220
    # 道具,文字显示设置
    _select_font_2 = pygame.font.Font(_font_type, 30)
    _select_font_2_surf_obj = _select_font_2.render("道具", True, BLACK, None)
    _select_font_2_rect = _select_font_2_surf_obj.get_rect()
    _select_font_2_rect.left = 580
    _select_font_2_rect.top = 220
    # 精灵,文字显示设置
    _select_font_3 = pygame.font.Font(_font_type, 30)
    _select_font_3_surf_obj = _select_font_3.render("精灵", True, BLACK, None)
    _select_font_3_rect = _select_font_3_surf_obj.get_rect()
    _select_font_3_rect.left = 480
    _select_font_3_rect.top = 270
    # 逃跑,文字显示设置
    _select_font_4 = pygame.font.Font(_font_type, 30)
    _select_font_4_surf_obj = _select_font_4.render("逃跑", True, BLACK, None)
    _select_font_4_rect = _select_font_4_surf_obj.get_rect()
    _select_font_4_rect.left = 580
    _select_font_4_rect.top = 270
    while True:
        _display_surf.fill(WHITE)
        pygame.draw.rect(_display_surf, BLACK, _select_rect, 1)
        pygame.draw.rect(_display_surf, WHITE, _my_pym_rect, 0)
        _display_surf.blit(_ord_pym_img, (_ord_pym_img_left, _ord_pym_img_top))
        _display_surf.blit(_my_pym_img, (_my_pym_img_left, _my_pym_img_top))
        _display_surf.blit(_ord_pym_name_surf_obj, _ord_pym_name_rect)
        _display_surf.blit(_ord_pym_blood_surf_obj, _ord_pym_blood_rect)
        _display_surf.blit(_my_pym_name_surf_obj, _my_pym_name_rect)
        _display_surf.blit(_my_pym_blood_surf_obj, _my_pym_blood_rect)
        _display_surf.blit(_select_font_1_surf_obj, _select_font_1_rect)
        _display_surf.blit(_select_font_2_surf_obj, _select_font_2_rect)
        _display_surf.blit(_select_font_3_surf_obj, _select_font_3_rect)
        _display_surf.blit(_select_font_4_surf_obj, _select_font_4_rect)
        if _select_rect.left != 260:
            _select_rect.left = _select_rect.left - 5
            _select_font_1_rect.left = _select_font_1_rect.left - 5
            _select_font_2_rect.left = _select_font_2_rect.left - 5
            _select_font_3_rect.left = _select_font_3_rect.left - 5
            _select_font_4_rect.left = _select_font_4_rect.left - 5
            _my_pym_name_rect.left = _my_pym_name_rect.left - 5
            _my_pym_blood_rect.left = _my_pym_blood_rect.left - 5

            _ord_pym_name_rect.left = _ord_pym_name_rect.left + 5
            _ord_pym_blood_rect.left = _ord_pym_blood_rect.left + 5

            _ord_pym_img_left = _ord_pym_img_left - 5
            _my_pym_img_left = _my_pym_img_left + 5
        for _event in pygame.event.get():
            if _event.type == QUIT:
                pygame.quit()
                sys.exit()
        pygame.display.update()
        _fps_Clock.tick(FPS)


if __name__ == '__main__':
    pygame_run()

关于“基于Python+Pygame如何实现变异狗大战游戏”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“基于Python+Pygame如何实现变异狗大战游戏”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI