【Python游戏】Python实现一个简易版本的阴阳师游戏 | 附带源码

前言

我相信很多小伙伴是有玩过阴阳师这个游戏的,但是有没有想过说自己可以制作出来了?
今天的话给大家带来的是一个简单版本的阴阳师小游戏,Python简化版的吧,纯文本的,虽然玩起来可能不是很爽,但是给一些刚刚入门的小伙伴来学习还是绰绰有余的!
准备好了我们就要开始啦!

相关文件

想学Python的小伙伴可以关注小编的公众号【Python日志】
有很多的资源可以白嫖的哈,不定时会更新一下Python的小知识的哈!!
需要源码的小伙伴可以在公众号回复阴阳师
Python源码、问题解答学习交流群:773162165

开发环境

Python版本:3.6.7
相关模块:
pygame
time
game_select
以及一些python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

效果实现

进入游戏场景,选择我们的人物
在这里插入图片描述
在这里插入图片描述
看上去多少有点简易,希望大家不要喷我,哈哈

代码实现

主函数

# -*- coding: utf-8 -*-
"""
    阴阳师主程序
    1、创建一个SSR、一个SR以及R 游戏人物,分别是:
    大天狗,男,式神:是,主人:黑晴明,攻击力3136、生命10026
    雪女,女,式神:是,主人:黑晴明,攻击力 3048、生命 10634
    九命猫,女,式神:否;主人:黑晴明,攻击力2968、生命力 9905
    2、游戏场景,分别:
    请在每一个场景里输出(“敌人还有五秒到达战场”)
    如果生命或者攻击力没有这么多,则失败,回程
    阴界裂缝,消耗220攻击力、2000生命。。
    鬼王封印,消耗3100攻击力、3000生命力
    回城,    回复原来的攻击力和生命力

    知识点:
        代码重构
"""

from yinyangshi import *
import game_select as gs
import time

# 进入游戏场景
while True:

    # 游戏欢迎界面
    gs.welcome()
    time.sleep(3)

    # 游戏人物介绍
    gs.introduction_game_character()
    gs.please_select_game_character()

    input_figure = int(input('请输入您使用的游戏人物'))
    game_figure = gs.select_figure(input_figure)
    time.sleep(2)

    # 游戏场景介绍以及选择
    gs.introduction_game_scene()
    gs.please_select_scene()
    time.sleep(2)
    select_game = int(input('请输入您要进入的游戏场景'))

    # 开始游戏
    gs.enter_scene(game_figure, select_game)

    # 是否进入下一轮游戏
    print()
    end_game = input(" 是否接着开始下一次挑战(Y/N)")
    if end_game == 'N':
        print()
        print("游戏结束!")
        break
    elif end_game == 'Y':
        print()
        print("接着开始")




创建游戏人物和界面

# -*- coding: utf-8 -*-
from yinyangshi import *
import time

# 创建游戏人物
datiangou = Yinyangshi('大天狗', '男', '是', '黑晴明', 3136, 10026)
xuenv = Yinyangshi('雪女', '女', '是', '黑晴明', 3048, 10634)
niumingbao = Yinyangshi('九命猫', '女', '否', '黑晴明', 2698, 9905)


def welcome ():
    """
        欢迎界面
    :return:
    """
    print('++++++++++++++++++++')
    print()
    print('欢迎进入阴阳师游戏世界')
    print()
    print('++++++++++++++++++++')


def introduction_game_character():
    """
        游戏人物介绍
    :return:
    """
    print('阴阳师人物介绍')
    datiangou.get_information()
    xuenv.get_information()
    niumingbao.get_information()


def please_select_game_character():
    """
         选择人物界面
    :return:
    """
    print()
    print('-------------------')
    print('请根据游戏人物介绍,选择喜欢的人物')
    print('1 大天狗')
    print('2 雪女')
    print('3 九命猫')


def select_figure(value):
    if value == 1:
        print()
        print('您选择的游戏人物是')
        datiangou.get_information()
        print()
        return datiangou
    elif value == 2:
        print()
        print('您选择的游戏人物是')
        xuenv.get_information()
        print()
        return xuenv
    elif value == 3:
        print()
        print('您选择的游戏人物是')
        niumingbao.get_information()
        print()
        return niumingbao
    else:
        print('请输入正确的选择数字')

def please_select_scene():
    """
        游戏场景
    :return:
    """
    print()
    print("===================")
    print('请选择游戏场景')
    print('4 阴界裂缝')
    print('5 鬼王封印')
    print("===================")

def introduction_game_scene():
    """
        介绍游戏场景
    :return:
    """
    print()
    print("您将进入游戏场景选择\n")
    print("此版本阴阳师,共设置两个游戏场景")

    print(" 阴界裂缝,消耗220攻击力、2000 生命。。")
    print(" 鬼王封印,消耗3100攻击力、3000 生命力..")

    print(" 在每一个场景里,如果生命或者攻击力没有这么多,则失败.")
    print(" 回城恢复原来的攻击力和生命力")

def enter_scene(game_figure, select_game):
    """
        进入游戏场景,开始游戏
    :param game_figure:
    :param select_game:
    :return:
    """
    if select_game == 4:
        print()
        print(F'欢迎 {
      
      game_figure.name} 来到 阴界裂缝,请开始您的游戏')

        game_figure.game_scene('阴界裂缝', 220, 2000)
        time.sleep(5)

    elif select_game ==5:
        print(f'欢迎{
      
      game_figure.name}来到 鬼王封印,请开始您的游戏')
        game_figure.game_scene('鬼王封印', 3100, 3000)
        time.sleep(5)

人物类

class Yinyangshi:
    """
         定义阴阳师类:
         包括阴阳师人物(属性)和游戏场景(方法)
    """
    def __init__(self,name, gender, shishen, boss, attack, life):
        ''' 定义属性:游戏人物的属性 '''
        self.name = name
        self.gender = gender
        self.shishen = shishen
        self.boss = boss
        self.attack = attack
        self.life = life

        # 添加两个新的属性,保存最初的生命力和攻击力
        # 也可以写成方法
        self.init_vale(attack, life)
        # self.attack_init = attack
        # self.life_init = life

    def init_vale(self, attack, life):
        """
        回城以后,恢复攻击力和生命力
        :param attack:
        :param life:
        :return: none
        """
        self.attack_init = attack
        self.life_init = life

    def get_information(self):
        """
            描述游戏人物信息
        :return:
        """
        # print('阴阳师人物介绍:')
        information = '  {n}、{g}、式神:{s}、主人:{b}、攻击力{a}、生命值{l}'
        mess = information.format(n = self.name,
                                  g = self.gender,
                                  s = self.shishen,
                                  b = self.boss,
                                  a = self.attack,
                                  l = self.life)
        print(mess)

大致是这样子的一个情况啦,对于新手小白来说,应该不算太难理解

公众号【Python日志】
需要源码的小伙伴可以在公众号回复阴阳师
Python源码、问题解答学习交流群:773162165

猜你喜欢

转载自blog.csdn.net/Gtieguo/article/details/123795297