c#回合制游戏

按类分的

(1)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ClassLibrary1;
using System.Threading;

namespace FinallProject
{
    class Program
    {
        static void Main(string[] args)
        {
           
            InitView init = new InitView();
            init.GameBackground();
            init.LoadingInterface();
            init.Init();
            
        }
    }
}

(2)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using ClassLibrary1;
using System.Media;
using 回合制游戏;

namespace FinallProject
{
    enum Choose
    {
        one = 1, two = 2, three = 3, four = 4, five = 5
    };
    class InitView
    {
        //初始化用户金额
        private int userMoney = 1000;
        private int EnemyMoney = 1000;

        //设置我方英雄队列和敌方英雄队列
        private List<Hero> ListOurHero = new List<Hero>();
        private List<Hero> ListEnemyHero = new List<Hero>();

        //增加用户金额
        public void AddUserMoney(int money)
        {
            userMoney = userMoney + money;
        }
        //设置敌人的金钱
        public void SetEnemyMoney(int money)
        {
            EnemyMoney = money;
        }

        //游戏背景介绍
        public void GameBackground()
        {
            Console.WriteLine("游戏背景介绍:");
            Console.WriteLine();
            Console.WriteLine("    本游戏是一款回合制游戏,此游戏是基于两军冲突的战场。\n游戏规则及内容很大程度上借鉴了其他流行回合制游戏的内容,融入了中国三国时期的历史背景以及《三国演义》小说内容,形成了具有历史特色的回合制游戏。");
            Console.WriteLine();
            Console.WriteLine();
        }

        //游戏加载界面:
        public void LoadingInterface()
        {
            Console.WriteLine("游戏正在加载中......");
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine("     --------                             ---------");
            Console.WriteLine("     |@    @|   5  VS  5  回合游戏        |+     +|");
            Console.WriteLine("     |  ##  |                             |  ##   |");
            Console.WriteLine("     --------  \\        /   ------        ---------");
            Console.WriteLine("       ####     \\      /    |               #### ");
            Console.WriteLine("     @ ####@     \\    /     |_____        & #### &");
            Console.WriteLine("    @  #### @     \\  /            |      &  ####  &");
            Console.WriteLine("   @   ####        \\/       ______|         ####   &");

        }


        //初始化界面
        public void Init()
        {
            MusicManager.Turn();

            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine("是否了解游戏规则?");
            Console.WriteLine("输入1 进行了解,输入2 为跳过");

            //对 是否了解游戏规则进行输入
            string sflj = Console.ReadLine();
            for (int i = 0; sflj != "q"; i++)
            {

                try
                {
                    int b = int.Parse(sflj);
                    if (b == 1)
                    {
                        Console.WriteLine();
                        Console.WriteLine();
                        Console.WriteLine("游戏规则:");
                        Console.WriteLine("    ①己方阵营和敌方阵营分别有五个英雄,每个英雄的初始状态都是血量200 魔法值100 。 游戏开始后首先己方攻击,\n每次从对方阵营随机筛选一个敌人进行攻击,\n每次魔法攻击会消耗魔法值。");
                        Console.WriteLine("    ②攻击的同时会输出攻击信息:如小一攻击了小二,小二剩余血量为80。" + "\n当己方所有英雄攻击完毕之后,敌人开始攻击,攻击流程同上。 当某一个敌人或者己方英雄死亡后,\n死亡的角色会从对应阵营中移除。");
                        Console.WriteLine("    ③获胜条件:只有当某一个阵营中的英雄全部死亡,游戏结束,\n进行游戏结算,显示获胜方。");
                        Console.WriteLine("===============================================================  ");
                        break;
                    }
                    else if (b == 2)
                    {
                        Console.WriteLine("游戏规则已跳过");
                        Console.WriteLine("===============================================================");
                        break;
                    }
                    else
                    {
                        Console.WriteLine("请输入正确的值!");
                        Thread.Sleep(2000);
                        Console.Clear();
                    }
                }
                catch (Exception)
                {
                    Console.WriteLine("请输入正确的值!");
                    Thread.Sleep(2000);
                    Console.Clear();
                }

                Console.WriteLine("是否了解游戏规则?");
                Console.WriteLine("输入1 进行了解,输入2 为跳过");
                sflj = Console.ReadLine();
            }

            Thread.Sleep(1000);
            Console.Clear();
            Console.WriteLine();
            Console.WriteLine("欢迎进入游戏  ");
            Console.WriteLine();

            Console.WriteLine("请选择游戏模式(按q退出):  ");

            Console.WriteLine("");
            Console.WriteLine("1.  英雄乱斗(PVP)");
            Console.WriteLine();
            Console.WriteLine("2.  副本剿匪(PVE)");
            Console.WriteLine();
            Console.WriteLine("3.  查看金钱");
            Console.WriteLine();
            Console.WriteLine("4.  双人pk模式");
            Console.WriteLine();
            Console.WriteLine("5.  设定游戏背景音乐");
            Console.WriteLine();
            Console.WriteLine("6.  英雄图册");
            Console.WriteLine();
            //初始化一开始的变量
            string begin = Console.ReadLine();

            for (int i = 0; begin != "q"; i++)
            {

                try
                {
                    int a = int.Parse(begin);
                    if (a == 1)
                    {

                        Console.WriteLine("进入游戏");
                        Thread.Sleep(1000);
                        Console.Clear();
                        SetEnemyMoney(userMoney);
                        InitFightOursHero();
                        InitFightEnemyHero();
                        Fight(0);
                        Thread.Sleep(3000);
                        Console.Clear();
                    }
                    else if (a == 2)
                    {

                        Console.WriteLine("进入副本");
                        Thread.Sleep(1000);
                        Console.Clear();
                        FuBen();
                        InitFightOursHero();
                        InitFightEnemyHero();
                        AddUserMoney(Fight(1));
                        Thread.Sleep(5000);
                        Console.Clear();
                    }
                    else if (a == 3)
                    {
                        Console.WriteLine("您当前的金钱为" + userMoney + "/局");
                        Thread.Sleep(2000);
                        Console.Clear();
                        //刷屏
                    }
                    else if (a == 4)
                    {

                        Console.WriteLine("进入pk模式");
                        Thread.Sleep(1000);
                        BattleControl1 battleControl1 = BattleControl1.GetInstance1();
                        Console.Clear();
                        InitFightOursHero();
                        InitFightEnemyHero_pk();
                        battleControl1.Game(ListOurHero, ListEnemyHero);
                        Thread.Sleep(2000);
                        Console.Clear();
                        //刷屏
                    }
                    else if (a == 5)
                    {
                        Console.Clear();
                        Console.WriteLine("设置音乐");
                        MusicManager.ShowMusics();
                        MusicManager.ChooseMusic(int.Parse(Console.ReadLine()));
                        Thread.Sleep(1000);
                        Console.Clear();
                    }
                    else if (a == 6)
                    {
                        Console.Clear();
                        Console.WriteLine("英雄图册");
                        HeroCharacteristics();
                        Thread.Sleep(1000);
                        Console.Clear();
                    }
                    else
                    {
                        Console.WriteLine("请输入正确的值!");
                        Thread.Sleep(2000);
                        Console.Clear();
                    }
                }
                catch (Exception)
                {
                    //Console.WriteLine("请输入正确的值!");
                    Thread.Sleep(2000);
                    Console.Clear();
                }

                Console.WriteLine("请选择游戏模式(按q退出):  ");
                Console.WriteLine("");
                Console.WriteLine("1.  英雄乱斗(PVP)");
                Console.WriteLine();
                Console.WriteLine("2.  副本剿匪(PVE)");
                Console.WriteLine();
                Console.WriteLine("3.  查看金钱");
                Console.WriteLine();
                Console.WriteLine("4.  双人pk模式");
                Console.WriteLine();
                Console.WriteLine("5.  设置音乐");
                Console.WriteLine();
                Console.WriteLine("6.  英雄图册");
                Console.WriteLine();
                begin = Console.ReadLine();
            }

        }


        //初始化战斗
        public void InitFightOursHero()
        {
            int money = userMoney;
            HeroDetail heroDetail = new HeroDetail();
            //获取各个等级的英雄
            List<Hero> list1 = new List<Hero>();
            List<Hero> list2 = new List<Hero>();
            List<Hero> list3 = new List<Hero>();
            List<Hero> list4 = new List<Hero>();
            List<Hero> userListHero = new List<Hero>();

            list1 = heroDetail.GetHero1();
            list2 = heroDetail.GetHero2();
            list3 = heroDetail.GetHero3();
            list4 = heroDetail.GetHero4();


            //展示英雄列表
            Console.WriteLine("一级英雄:");
            foreach (var item in list1)
            {
                Console.Write(item.name + "   花费:" + item.heroMoney + "     ");
            }
            Console.WriteLine();
            Console.WriteLine("二级英雄");
            foreach (var item in list2)
            {
                Console.Write(item.name + "   花费:" + item.heroMoney + "     ");
            }
            Console.WriteLine();
            Console.WriteLine("三级英雄");
            foreach (var item in list3)
            {
                Console.Write(item.name + "   花费:" + item.heroMoney + "     ");
            }
            Console.WriteLine();
            Console.WriteLine("四级英雄");
            foreach (var item in list4)
            {
                Console.Write(item.name + "   花费:" + item.heroMoney + "     ");
            }
            Console.WriteLine();

            Console.WriteLine("当前余额为: " + money);
            Console.WriteLine("请选择英雄(按任意键继续,按q键退出/结束):");
            Console.WriteLine("注意:选择格式为先级别后英雄  如:1回车 3回车 对应1级3号英雄");
            string str = Console.ReadLine();

            for (int i = 0; str != "q"; i++)
            {
                if (money >= 0)
                {
                    try
                    {
                        int parse = int.Parse(str);
                        if (parse == 1)
                        {
                            Console.WriteLine("请选择英雄: ");
                            try
                            {
                                int parse2 = int.Parse(Console.ReadLine());
                                if (parse2 >= 1 && parse2 <= list1.Count)
                                {
                                    parse2--;
                                    if (money - list1[parse2].heroMoney >= 0)
                                    {

                                        userListHero.Add(list1[parse2]);
                                        money -= list1[parse2].heroMoney;
                                    }
                                    else
                                    {
                                        Console.WriteLine("您的金钱不够!");
                                    }
                                }
                                else
                                {
                                    Console.WriteLine("输入错误!");
                                }
                            }
                            catch (Exception)
                            {
                                Console.WriteLine("请输入正确的值!");
                            }

                        }
                        else if (parse == 2)
                        {
                            Console.WriteLine("请选择英雄: ");
                            try
                            {
                                int parse2 = int.Parse(Console.ReadLine());
                                if (parse2 >= 1 && parse2 <= (list2.Count))
                                {
                                    parse2--;
                                    if (money - list2[parse2].heroMoney >= 0)
                                    {

                                        userListHero.Add(list2[parse2]);
                                        money -= list2[parse2].heroMoney;
                                    }
                                    else
                                    {
                                        Console.WriteLine("您的金钱不够!");
                                    }
                                }
                                else
                                {
                                    Console.WriteLine("输入错误!");
                                }
                            }
                            catch (Exception)
                            {
                                Console.WriteLine("请输入正确的值!");
                            }

                        }
                        else if (parse == 3)
                        {
                            Console.WriteLine("请选择英雄: ");
                            try
                            {
                                int parse2 = int.Parse(Console.ReadLine());
                                if (parse2 >= 1 && parse2 <= (list3.Count))
                                {
                                    parse2--;
                                    if (money - list3[parse2].heroMoney >= 0)
                                    {

                                        userListHero.Add(list3[parse2]);
                                        money -= list3[parse2].heroMoney;
                                    }
                                    else
                                    {
                                        Console.WriteLine("您的金钱不够!");
                                    }
                                }
                                else
                                {
                                    Console.WriteLine("输入错误!");
                                }
                            }
                            catch (Exception)
                            {
                                Console.WriteLine("请输入正确的值!");
                            }

                        }
                        else if (parse == 4)
                        {
                            Console.WriteLine("请选择英雄: ");
                            try
                            {
                                int parse2 = int.Parse(Console.ReadLine());
                                if (parse2 >= 1 && parse2 <= (list4.Count))
                                {
                                    parse2--;
                                    if (money - list4[parse2].heroMoney >= 0)
                                    {

                                        userListHero.Add(list4[parse2]);
                                        money -= list4[parse2].heroMoney;
                                    }
                                    else
                                    {
                                        Console.WriteLine("您的金钱不够!");
                                    }
                                }
                                else
                                {
                                    Console.WriteLine("输入错误!");
                                }
                            }
                            catch (Exception)
                            {
                                Console.WriteLine("请输入正确的值!");
                            }

                        }
                        else
                        {
                            Console.WriteLine("输入错误!");
                        }
                    }
                    catch (Exception)
                    {
                        Console.WriteLine("请输入正确的值!");
                    }

                    Console.WriteLine("您选择的英雄为:");
                    foreach (var item in userListHero)
                    {
                        Console.Write(item.name + "   ");
                    }
                    Thread.Sleep(2000);
                    Console.Clear();

                    //展示英雄列表
                    Console.WriteLine("一级英雄:");
                    foreach (var item in list1)
                    {
                        Console.Write(item.name + "   花费:" + item.heroMoney + "     ");
                    }
                    Console.WriteLine();
                    Console.WriteLine("二级英雄");
                    foreach (var item in list2)
                    {
                        Console.Write(item.name + "   花费:" + item.heroMoney + "     ");
                    }
                    Console.WriteLine();
                    Console.WriteLine("三级英雄");
                    foreach (var item in list3)
                    {
                        Console.Write(item.name + "   花费:" + item.heroMoney + "     ");
                    }
                    Console.WriteLine();
                    Console.WriteLine("四级英雄");
                    foreach (var item in list4)
                    {
                        Console.Write(item.name + "   花费:" + item.heroMoney + "     ");
                    }
                    Console.WriteLine();

                    Console.WriteLine("当前余额为: " + money);
                    Console.WriteLine("请选择英雄(按任意键继续,按q键退出/结束):");

                    str = Console.ReadLine();
                    if (str == "q")
                    {
                        break;
                    }
                }
                else
                {
                    Console.WriteLine("您的金钱不足!");
                    return;
                }
            }
            ListOurHero = userListHero;

        }
        //玩家二远英雄
        public void InitFightEnemyHero_pk()
        {
            int money = userMoney;
            HeroDetail heroDetail = new HeroDetail();
            //获取各个等级的英雄
            List<Hero> list1 = new List<Hero>();
            List<Hero> list2 = new List<Hero>();
            List<Hero> list3 = new List<Hero>();
            List<Hero> list4 = new List<Hero>();
            List<Hero> userListHero = new List<Hero>();

            list1 = heroDetail.GetHero1();
            list2 = heroDetail.GetHero2();
            list3 = heroDetail.GetHero3();
            list4 = heroDetail.GetHero4();


            //展示英雄列表
            Console.WriteLine("一级英雄:");
            foreach (var item in list1)
            {
                Console.Write(item.name + "   花费:" + item.heroMoney + "     ");
            }
            Console.WriteLine();
            Console.WriteLine("二级英雄");
            foreach (var item in list2)
            {
                Console.Write(item.name + "   花费:" + item.heroMoney + "     ");
            }
            Console.WriteLine();
            Console.WriteLine("三级英雄");
            foreach (var item in list3)
            {
                Console.Write(item.name + "   花费:" + item.heroMoney + "     ");
            }
            Console.WriteLine();
            Console.WriteLine("四级英雄");
            foreach (var item in list4)
            {
                Console.Write(item.name + "   花费:" + item.heroMoney + "     ");
            }
            Console.WriteLine();

            Console.WriteLine("当前余额为: " + money);
            Console.WriteLine("请选择英雄(按任意键继续,按q键退出/结束):");
            Console.WriteLine("注意:选择格式为先级别后英雄  如:1回车 3回车 对应1级3号英雄");
            string str = Console.ReadLine();

            for (int i = 0; str != "q"; i++)
            {
                if (money >= 0)
                {
                    try
                    {
                        int parse = int.Parse(str);
                        if (parse == 1)
                        {
                            Console.WriteLine("请选择英雄: ");
                            try
                            {
                                int parse2 = int.Parse(Console.ReadLine());
                                if (parse2 >= 1 && parse2 <= list1.Count)
                                {
                                    parse2--;
                                    if (money - list1[parse2].heroMoney >= 0)
                                    {

                                        userListHero.Add(list1[parse2]);
                                        money -= list1[parse2].heroMoney;
                                    }
                                    else
                                    {
                                        Console.WriteLine("您的金钱不够!");
                                    }
                                }
                                else
                                {
                                    Console.WriteLine("输入错误!");
                                }
                            }
                            catch (Exception)
                            {
                                Console.WriteLine("请输入正确的值!");
                            }

                        }
                        else if (parse == 2)
                        {
                            Console.WriteLine("请选择英雄: ");
                            try
                            {
                                int parse2 = int.Parse(Console.ReadLine());
                                if (parse2 >= 1 && parse2 <= (list2.Count))
                                {
                                    parse2--;
                                    if (money - list2[parse2].heroMoney >= 0)
                                    {

                                        userListHero.Add(list2[parse2]);
                                        money -= list2[parse2].heroMoney;
                                    }
                                    else
                                    {
                                        Console.WriteLine("您的金钱不够!");
                                    }
                                }
                                else
                                {
                                    Console.WriteLine("输入错误!");
                                }
                            }
                            catch (Exception)
                            {
                                Console.WriteLine("请输入正确的值!");
                            }

                        }
                        else if (parse == 3)
                        {
                            Console.WriteLine("请选择英雄: ");
                            try
                            {
                                int parse2 = int.Parse(Console.ReadLine());
                                if (parse2 >= 1 && parse2 <= (list3.Count))
                                {
                                    parse2--;
                                    if (money - list3[parse2].heroMoney >= 0)
                                    {

                                        userListHero.Add(list3[parse2]);
                                        money -= list3[parse2].heroMoney;
                                    }
                                    else
                                    {
                                        Console.WriteLine("您的金钱不够!");
                                    }
                                }
                                else
                                {
                                    Console.WriteLine("输入错误!");
                                }
                            }
                            catch (Exception)
                            {
                                Console.WriteLine("请输入正确的值!");
                            }

                        }
                        else if (parse == 4)
                        {
                            Console.WriteLine("请选择英雄: ");
                            try
                            {
                                int parse2 = int.Parse(Console.ReadLine());
                                if (parse2 >= 1 && parse2 <= (list4.Count))
                                {
                                    parse2--;
                                    if (money - list4[parse2].heroMoney >= 0)
                                    {

                                        userListHero.Add(list4[parse2]);
                                        money -= list4[parse2].heroMoney;
                                    }
                                    else
                                    {
                                        Console.WriteLine("您的金钱不够!");
                                    }
                                }
                                else
                                {
                                    Console.WriteLine("输入错误!");
                                }
                            }
                            catch (Exception)
                            {
                                Console.WriteLine("请输入正确的值!");
                            }

                        }
                        else
                        {
                            Console.WriteLine("输入错误!");
                        }
                    }
                    catch (Exception)
                    {
                        Console.WriteLine("请输入正确的值!");
                    }

                    Console.WriteLine("您选择的英雄为:");
                    foreach (var item in userListHero)
                    {
                        Console.Write(item.name + "   ");
                    }
                    Thread.Sleep(2000);
                    Console.Clear();

                    //展示英雄列表
                    Console.WriteLine("一级英雄:");
                    foreach (var item in list1)
                    {
                        Console.Write(item.name + "   花费:" + item.heroMoney + "     ");
                    }
                    Console.WriteLine();
                    Console.WriteLine("二级英雄");
                    foreach (var item in list2)
                    {
                        Console.Write(item.name + "   花费:" + item.heroMoney + "     ");
                    }
                    Console.WriteLine();
                    Console.WriteLine("三级英雄");
                    foreach (var item in list3)
                    {
                        Console.Write(item.name + "   花费:" + item.heroMoney + "     ");
                    }
                    Console.WriteLine();
                    Console.WriteLine("四级英雄");
                    foreach (var item in list4)
                    {
                        Console.Write(item.name + "   花费:" + item.heroMoney + "     ");
                    }
                    Console.WriteLine();

                    Console.WriteLine("当前余额为: " + money);
                    Console.WriteLine("请选择英雄(按任意键继续,按q键退出/结束):");

                    str = Console.ReadLine();
                    if (str == "q")
                    {
                        break;
                    }
                }
                else
                {
                    Console.WriteLine("您的金钱不足!");
                    return;
                }
            }
            ListEnemyHero = userListHero;

        }
        //为敌方自动分配英雄
        public void InitFightEnemyHero()
        {
            Console.Clear();
            int userMoney1 = EnemyMoney;
            HeroDetail heroDetail = new HeroDetail();
            //获取各个等级的英雄
            List<Hero> list1 = new List<Hero>();
            List<Hero> list2 = new List<Hero>();
            List<Hero> list3 = new List<Hero>();
            List<Hero> list4 = new List<Hero>();
            List<Hero> userListHero = new List<Hero>();

            list1 = heroDetail.GetHero1();
            list2 = heroDetail.GetHero2();
            list3 = heroDetail.GetHero3();
            list4 = heroDetail.GetHero4();
            Random ran = new Random();

            for (int i = 0; userMoney1 > 0; i++)
            {
                int count = ran.Next(4);
                if (count == 1)
                {

                    int parse2 = ran.Next(list1.Count);
                    if (parse2 >= 1 && parse2 <= (list1.Count))
                    {


                        parse2--;
                        userListHero.Add(list1[parse2]);
                        userMoney1 -= list1[parse2].heroMoney;


                    }

                }
                else if (count == 2)
                {
                    int parse2 = ran.Next(list2.Count);
                    if (parse2 >= 1 && parse2 <= (list2.Count))
                    {


                        parse2--;
                        userListHero.Add(list2[parse2]);
                        userMoney1 -= list2[parse2].heroMoney;


                    }

                }
                else if (count == 3)
                {
                    int parse2 = ran.Next(list3.Count);
                    if (parse2 >= 1 && parse2 <= (list3.Count))
                    {


                        parse2--;
                        userListHero.Add(list3[parse2]);
                        userMoney1 -= list3[parse2].heroMoney;


                    }

                }
                else if (count == 4)
                {
                    int parse2 = ran.Next(list4.Count);
                    if (parse2 >= 1 && parse2 <= (list4.Count))
                    {


                        parse2--;
                        userListHero.Add(list4[parse2]);
                        userMoney1 -= list4[parse2].heroMoney;


                    }

                }

            }
            if (userMoney1 < 0)
            {
                userListHero.RemoveAt(userListHero.Count - 1);
            }
            Console.WriteLine("敌方选择的英雄为:");
            foreach (var item in userListHero)
            {
                Console.Write(item.name + "   ");
            }
            Thread.Sleep(2000);
            Console.Clear();
            ListEnemyHero = userListHero;
        }

        //战斗类
        public int Fight(int flag)
        {
            BattleControl battleContro = BattleControl.GetBattleControl();
            battleContro.SetHeroOurs(ListOurHero);
            battleContro.SetHeroEnemy(ListEnemyHero);
            battleContro.Fight();
            if (flag == 1) { Console.WriteLine("本局获得金钱:" + battleContro.GetMoney()); }

            return battleContro.GetMoney();
        }

        //副本剿匪
        public void FuBen()
        {
            Console.WriteLine("请输入游戏的难度(按q退出):");
            Console.WriteLine("1. 容易");
            Console.WriteLine("2. 普通");
            Console.WriteLine("3. 困难");
            string jiao = Console.ReadLine();
            for (int i = 0; jiao != "q"; i++)
            {
                try
                {
                    int a = int.Parse(jiao);
                    if (a == 1)
                    {
                        SetEnemyMoney(800);
                        Thread.Sleep(2000);
                        Console.Clear();
                        return;
                    }
                    else if (a == 2)
                    {
                        SetEnemyMoney(2500);
                        Thread.Sleep(2000);
                        Console.Clear();
                        return;
                    }
                    else if (a == 3)
                    {
                        SetEnemyMoney(5000);
                        Thread.Sleep(2000);
                        Console.Clear();
                        return;
                    }
                }
                catch (Exception)
                {
                    Console.WriteLine("请输入正确的难度!");
                    Thread.Sleep(2000);
                    Console.Clear();
                }

                Console.WriteLine("请输入游戏的难度(按q退出):");
                Console.WriteLine("1. 容易");
                Console.WriteLine("2. 普通");
                Console.WriteLine("3. 困难");

                jiao = Console.ReadLine();
            }


        }

        //英雄图册
        public void HeroCharacteristics()
        {

            HeroDetail heroDetail = new HeroDetail();
            //实例化对象
            List<Hero> list1 = new List<Hero>();
            List<Hero> list2 = new List<Hero>();
            List<Hero> list3 = new List<Hero>();
            List<Hero> list4 = new List<Hero>();

            //获取各个等级的英雄
            list1 = heroDetail.GetHero1();
            list2 = heroDetail.GetHero2();
            list3 = heroDetail.GetHero3();
            list4 = heroDetail.GetHero4();
            Console.WriteLine("请输入你要查询的英雄类别");
            Console.WriteLine("有1,2,3,4四个等级");
            Console.WriteLine("输入5可以查询全部英雄,输入其他数跳出功能");
            int n = int.Parse(Console.ReadLine());
            Choose num = (Choose)n;
            switch (num)
            {
                case Choose.one:
                    //展示英雄列表
                    Console.WriteLine("一级英雄:");
                    foreach (var item in list1)
                    {
                        Console.WriteLine(item.name + "   花费:" + item.heroMoney + "    血量 " + item.hp + "   物理攻击力" + item.physicsAttack + "   魔法攻击力" + item.magicAttack +"魔力值"+item.mp +"\n");
                    }
                    break;
                case Choose.two:
                    foreach (var item in list2)
                    {
                        Console.WriteLine("二级英雄:");
                        Console.WriteLine(item.name + "   花费:" + item.heroMoney + "    血量 " + item.hp + "   物理攻击力" + item.physicsAttack + "   魔法攻击力" + item.magicAttack + "魔力值" + item.mp + "\n");
                    }
                    break;
                case Choose.three:
                    foreach (var item in list3)
                    {
                        Console.WriteLine("三级英雄:");
                        Console.WriteLine(item.name + "   花费:" + item.heroMoney + "    血量 " + item.hp + "   物理攻击力" + item.physicsAttack + "   魔法攻击力" + item.magicAttack + "魔力值" + item.mp + "\n");
                    }
                    break;
                case Choose.four:
                    foreach (var item in list4)
                    {
                        Console.WriteLine("四级英雄:");
                        Console.WriteLine(item.name + "   花费:" + item.heroMoney + "    血量 " + item.hp + "   物理攻击力" + item.physicsAttack + "   魔法攻击力" + item.magicAttack + "魔力值" + item.mp + "\n");
                    }
                    break;
                case Choose.five:
                    Console.WriteLine("全部英雄:");
                    foreach (var item in list1)
                    {
                        Console.WriteLine(item.name + "   花费:" + item.heroMoney + "    血量 " + item.hp + "   物理攻击力" + item.physicsAttack + "   魔法攻击力" + item.magicAttack + "魔力值" + item.mp + "\n");
                    }
                    foreach (var item in list2)
                    {
                        Console.WriteLine(item.name + "   花费:" + item.heroMoney + "    血量 " + item.hp + "   物理攻击力" + item.physicsAttack + "   魔法攻击力" + item.magicAttack + "魔力值" + item.mp + "\n");
                    }
                    foreach (var item in list3)
                    {
                        Console.WriteLine(item.name + "   花费:" + item.heroMoney + "    血量 " + item.hp + "   物理攻击力" + item.physicsAttack + "   魔法攻击力" + item.magicAttack + "魔力值" + item.mp + "\n");
                    }
                    foreach (var item in list4)
                    {
                        Console.WriteLine(item.name + "   花费:" + item.heroMoney + "    血量 " + item.hp + "   物理攻击力" + item.physicsAttack + "   魔法攻击力" + item.magicAttack + "魔力值" + item.mp + "\n");
                    }
                    break;
                default:
                    return;

            }
            Console.WriteLine("输入q键可跳出,输入别的任意键可重复查询");
            string flag = Console.ReadLine();
            if (flag == "q")
            {
                return;
            }
            else {
                HeroCharacteristics();
            }
           
        }

    }
}
 

(3)

using System;
using System.Collections.Generic;
using System.Threading;
namespace ClassLibrary1
{
    public class Hero
    {
        public string name;
        public int hp;//血量
        public int mp;//魔法值
        public int physicsAttack;//物理攻击力
        public int magicAttack;//魔法攻击力
        public int heroMoney;//英雄的价钱

        public Hero() { }
        public Hero(string name,int hp,int mp,int physicsAttack,int magicAttack)
        {
            this.name = name;
            this.hp = hp;
            this.mp = mp;
            this.physicsAttack = physicsAttack;
            this.magicAttack = magicAttack;
        }
    }

  
}
(4)

using System;
using ClassLibrary1;
using System.Collections.Generic;
using System.Threading;

namespace ClassLibrary1
{
    public class HeroDetail
    {
        //初始化英雄
        Hero hero1_1 = new Hero("夏侯惇", 500, 450, 80, 25);
        Hero hero1_2 = new Hero("张郃", 500, 430, 77, 20);
        Hero hero1_3 = new Hero("徐晃", 485, 400, 77, 40);
        Hero hero1_4 = new Hero("夏侯渊", 499, 500, 70, 65);
        Hero hero1_5 = new Hero("典韦", 600, 400, 90, 40);

        Hero hero2_1 = new Hero("于禁", 300, 200, 50, 10);
        Hero hero2_2 = new Hero("曹洪", 300, 220, 50, 12);
        Hero hero2_3 = new Hero("乐进", 280, 200, 48, 15);
        Hero hero2_4 = new Hero("曹仁", 300, 240, 50, 20);
        Hero hero2_5 = new Hero("李典", 290, 200, 49, 25);

        Hero hero3_1 = new Hero("宋宪", 200, 100, 40, 20);
        Hero hero3_2 = new Hero("魏旭", 190, 92, 38, 18);
        Hero hero3_3 = new Hero("穆顺", 180, 100, 35, 20);
        Hero hero3_4 = new Hero("方跃", 180, 145, 35, 15);
        Hero hero3_5 = new Hero("潘凤", 170, 120, 30, 18);

        Hero hero4_1 = new Hero("张兵长", 140, 50, 25, 11);
        Hero hero4_2 = new Hero("韩兵长", 142, 57, 23, 9);
        Hero hero4_3 = new Hero("秦兵长", 148, 62, 25, 12);
        Hero hero4_4 = new Hero("赵兵长", 144, 58, 24, 10);
        Hero hero4_5 = new Hero("李兵长", 150, 55, 24, 8);

        List<Hero> listHero = new List<Hero>();
        List<Hero> listHero2 = new List<Hero>();
        List<Hero> listHero3 = new List<Hero>();
        List<Hero> listHero4 = new List<Hero>();
        private void init()
        {
            //设置金钱

            hero1_1.heroMoney = 500;
            hero1_2.heroMoney = 480;
            hero1_3.heroMoney = 485;
            hero1_4.heroMoney = 493;
            hero1_5.heroMoney = 550;

            hero2_1.heroMoney = 300;
            hero2_2.heroMoney = 320;
            hero2_3.heroMoney = 295;
            hero2_4.heroMoney = 335;
            hero2_5.heroMoney = 310;

            hero3_1.heroMoney = 200;
            hero3_2.heroMoney = 190;
            hero3_3.heroMoney = 220;
            hero3_4.heroMoney = 215;
            hero3_5.heroMoney = 150;

            hero4_1.heroMoney = 155;
            hero4_2.heroMoney = 148;
            hero4_3.heroMoney = 160;
            hero4_4.heroMoney = 157;
            hero4_5.heroMoney = 164;

            //将英雄添加进队列
            listHero.Add(hero1_1);
            listHero.Add(hero1_2);
            listHero.Add(hero1_3);
            listHero.Add(hero1_4);
            listHero.Add(hero1_5);


            listHero2.Add(hero2_1);
            listHero2.Add(hero2_2);
            listHero2.Add(hero2_3);
            listHero2.Add(hero2_4);
            listHero2.Add(hero2_5);


            listHero3.Add(hero3_1);
            listHero3.Add(hero3_2);
            listHero3.Add(hero3_3);
            listHero3.Add(hero3_4);
            listHero3.Add(hero3_5);


            listHero4.Add(hero4_1);
            listHero4.Add(hero4_2);
            listHero4.Add(hero4_3);
            listHero4.Add(hero4_4);
            listHero4.Add(hero4_5);


        }
        public HeroDetail()//构造器
        {
            init();
        }
        public List<Hero> GetHero1()
        {
            return listHero;
        }
        public List<Hero> GetHero2()
        {
            return listHero2;
        }
        public List<Hero> GetHero3()
        {
            return listHero3;
        }
        public List<Hero> GetHero4()
        {
            return listHero4;
        }
    }
}
(5)

using ClassLibrary1;
using System;
using System.Collections.Generic;
using System.Threading;

public class BattleControl
{
    //魔法和物理混合攻击的类
    private static BattleControl battleControl;
    private List<Hero> ours = new List<Hero>();//我方英雄
    private List<Hero> enemy = new List<Hero>();//敌方英雄
    private int round = 0;//计时器
    private int Money;

    private BattleControl() { }//私有构造器


    public static BattleControl GetBattleControl()
    {
        if (battleControl == null)
        {
            battleControl = new BattleControl();
        }
        return battleControl;
    }

    public void SetHeroOurs(List<Hero> oursHero)
    {
        ours = oursHero;
    }

    public void SetHeroEnemy(List<Hero> enemyHero)
    {
        enemy = enemyHero;
    }

    public void Fight()
    {
        Console.WriteLine("战斗开始");
        for (; ours.Count != 0 && enemy.Count != 0; round++)
        {
            Console.WriteLine("--------------------------------------");

            for (int i = 0; i < ours.Count; i++)
            {
                Random ran = new Random();
                int countEnemy = ran.Next(enemy.Count);
                if (enemy.Count == 0) { break; }

                int CriticalHit = 40;//物理暴击率默认40%
                int CriticalHit1 = 20;//魔法暴击率默认20%
                Random random = new Random();
                int c = random.Next(0, 100);
                int d = random.Next(0, 100);
                if (d < CriticalHit1)
                {
                    ours[i].magicAttack = ours[i].magicAttack * 2;
                    Thread.Sleep(1000);

                    if (c < CriticalHit)
                    {
                        ours[i].physicsAttack = ours[i].physicsAttack * 2;
                        Thread.Sleep(1000);
                        if (ours[i].mp - ours[i].magicAttack >= 0)
                        {
                            enemy[countEnemy].hp -= ours[i].physicsAttack + ours[i].magicAttack;
                            Console.WriteLine(ours[i].name + "攻击了" + enemy[countEnemy].name + "       " + "物理攻击暴击: " + ours[i].physicsAttack + "  魔法攻击暴击: " + ours[i].magicAttack);
                            ours[i].mp -= ours[i].magicAttack;
                            Thread.Sleep(1000);//睡眠

                        }
                        else if (ours[i].mp - ours[i].magicAttack < 0)
                        {
                            enemy[countEnemy].hp -= ours[i].physicsAttack + ours[i].mp;
                            Console.WriteLine(ours[i].name + "攻击了" + enemy[countEnemy].name + "       " + "物理攻击暴击: " + ours[i].physicsAttack + "  魔法攻击暴击: " + ours[i].mp);
                            ours[i].mp = 0;
                            Thread.Sleep(1000);//睡眠
                        }
                    }
                    else if (ours[i].mp - ours[i].magicAttack >= 0)
                    {
                        enemy[countEnemy].hp -= ours[i].physicsAttack + ours[i].magicAttack;
                        Console.WriteLine(ours[i].name + "攻击了" + enemy[countEnemy].name + "       " + "物理攻击: " + ours[i].physicsAttack + "  魔法攻击暴击: " + ours[i].magicAttack);
                        ours[i].mp -= ours[i].magicAttack;
                        Thread.Sleep(1000);//睡眠

                    }
                    else if (ours[i].mp - ours[i].magicAttack < 0)
                    {
                        enemy[countEnemy].hp -= ours[i].physicsAttack + ours[i].mp;
                        Console.WriteLine(ours[i].name + "攻击了" + enemy[countEnemy].name + "       " + "物理攻击: " + ours[i].physicsAttack + "  魔法暴击攻击: " + ours[i].mp);
                        ours[i].mp = 0;
                        Thread.Sleep(1000);//睡眠
                    }
                }
                else
                {
                    if (c < CriticalHit)
                    {
                        ours[i].physicsAttack = ours[i].physicsAttack * 2;
                        Thread.Sleep(1000);
                        if (ours[i].mp - ours[i].magicAttack >= 0)
                        {
                            enemy[countEnemy].hp -= ours[i].physicsAttack + ours[i].magicAttack;
                            Console.WriteLine(ours[i].name + "攻击了" + enemy[countEnemy].name + "       " + "物理攻击暴击: " + ours[i].physicsAttack + "  魔法攻击: " + ours[i].magicAttack);
                            ours[i].mp -= ours[i].magicAttack;
                            Thread.Sleep(1000);//睡眠

                        }
                        else if (ours[i].mp - ours[i].magicAttack < 0)
                        {
                            enemy[countEnemy].hp -= ours[i].physicsAttack + ours[i].mp;
                            Console.WriteLine(ours[i].name + "攻击了" + enemy[countEnemy].name + "       " + "物理攻击暴击: " + ours[i].physicsAttack + "  魔法攻击: " + ours[i].mp);
                            ours[i].mp = 0;
                            Thread.Sleep(1000);//睡眠
                        }
                    }
                    else if (ours[i].mp - ours[i].magicAttack >= 0)
                    {
                        enemy[countEnemy].hp -= ours[i].physicsAttack + ours[i].magicAttack;
                        Console.WriteLine(ours[i].name + "攻击了" + enemy[countEnemy].name + "       " + "物理攻击: " + ours[i].physicsAttack + "  魔法攻击: " + ours[i].magicAttack);
                        ours[i].mp -= ours[i].magicAttack;
                        Thread.Sleep(1000);//睡眠

                    }
                    else if (ours[i].mp - ours[i].magicAttack < 0)
                    {
                        enemy[countEnemy].hp -= ours[i].physicsAttack + ours[i].mp;
                        Console.WriteLine(ours[i].name + "攻击了" + enemy[countEnemy].name + "       " + "物理攻击: " + ours[i].physicsAttack + "  魔法攻击: " + ours[i].mp);
                        ours[i].mp = 0;
                        Thread.Sleep(1000);//睡眠
                    }
                }

                if (enemy[countEnemy].hp <= 0) { enemy[countEnemy].hp = 0; }
                Console.WriteLine("敌方阵营:   " + enemy[countEnemy].name + "的血量还剩: " + enemy[countEnemy].hp + "滴血");

                for (int j = 0; j < enemy.Count; j++)
                {
                    if (enemy[j].hp <= 0)
                    {
                        Console.WriteLine("*************************************");
                        Console.WriteLine("敌方阵营" + enemy[j].name + "死亡!");
                        Console.WriteLine("*************************************");
                        enemy.RemoveAt(j);
                        Thread.Sleep(1000);//睡眠
                    }
                }
            }//我方攻击结束


            for (int i = 0; i < enemy.Count; i++)
            {
                Random ran = new Random();
                int countEnemy = ran.Next(ours.Count);
                if (ours.Count == 0) { break; }

                int CriticalHit = 40;//物理暴击率默认40%
                int CriticalHit1 = 20;//魔法暴击率默认20%
                Random random = new Random();
                int c = random.Next(0, 100);
                int d = random.Next(0, 100);
                if (d < CriticalHit1)
                {
                    if (c < CriticalHit)
                    {
                        if (enemy[i].mp - enemy[i].magicAttack >= 0)
                        {
                            ours[countEnemy].hp -= enemy[i].physicsAttack + enemy[i].magicAttack;
                            Console.WriteLine(enemy[i].name + "攻击了" + ours[countEnemy].name + "       " + "物理攻击暴击: " + enemy[i].physicsAttack + "  魔法攻击暴击: " + enemy[i].magicAttack);
                            enemy[i].mp -= enemy[i].magicAttack;
                            Thread.Sleep(1000);//睡眠

                        }
                        else if (enemy[i].mp - enemy[i].magicAttack < 0)
                        {
                            ours[countEnemy].hp -= enemy[i].physicsAttack + enemy[i].mp;
                            Console.WriteLine(enemy[i].name + "攻击了" + ours[countEnemy].name + "       " + "物理攻击暴击: " + enemy[i].physicsAttack + "  魔法攻击暴击: " + enemy[i].mp);
                            enemy[i].mp = 0;
                            Thread.Sleep(1000);//睡眠
                        }
                    }
                    else
                    {
                        if (enemy[i].mp - enemy[i].magicAttack >= 0)
                        {
                            ours[countEnemy].hp -= enemy[i].physicsAttack + enemy[i].magicAttack;
                            Console.WriteLine(enemy[i].name + "攻击了" + ours[countEnemy].name + "       " + "物理攻击: " + enemy[i].physicsAttack + "  魔法攻击暴击: " + enemy[i].magicAttack);
                            enemy[i].mp -= enemy[i].magicAttack;
                            Thread.Sleep(1000);//睡眠

                        }
                        else if (enemy[i].mp - enemy[i].magicAttack < 0)
                        {
                            ours[countEnemy].hp -= enemy[i].physicsAttack + enemy[i].mp;
                            Console.WriteLine(enemy[i].name + "攻击了" + ours[countEnemy].name + "       " + "物理攻击: " + enemy[i].physicsAttack + "  魔法攻击暴击: " + enemy[i].mp);
                            enemy[i].mp = 0;
                            Thread.Sleep(1000);//睡眠
                        }
                    }
                }
                else
                {
                    if (c < CriticalHit)
                    {
                        if (enemy[i].mp - enemy[i].magicAttack >= 0)
                        {
                            ours[countEnemy].hp -= enemy[i].physicsAttack + enemy[i].magicAttack;
                            Console.WriteLine(enemy[i].name + "攻击了" + ours[countEnemy].name + "       " + "物理攻击暴击: " + enemy[i].physicsAttack + "  魔法攻击: " + enemy[i].magicAttack);
                            enemy[i].mp -= enemy[i].magicAttack;
                            Thread.Sleep(1000);//睡眠

                        }
                        else if (enemy[i].mp - enemy[i].magicAttack < 0)
                        {
                            ours[countEnemy].hp -= enemy[i].physicsAttack + enemy[i].mp;
                            Console.WriteLine(enemy[i].name + "攻击了" + ours[countEnemy].name + "       " + "物理攻击暴击: " + enemy[i].physicsAttack + "  魔法攻击: " + enemy[i].mp);
                            enemy[i].mp = 0;
                            Thread.Sleep(1000);//睡眠
                        }
                    }
                    else
                    {
                        if (enemy[i].mp - enemy[i].magicAttack >= 0)
                        {
                            ours[countEnemy].hp -= enemy[i].physicsAttack + enemy[i].magicAttack;
                            Console.WriteLine(enemy[i].name + "攻击了" + ours[countEnemy].name + "       " + "物理攻击: " + enemy[i].physicsAttack + "  魔法攻击: " + enemy[i].magicAttack);
                            enemy[i].mp -= enemy[i].magicAttack;
                            Thread.Sleep(1000);//睡眠

                        }
                        else if (enemy[i].mp - enemy[i].magicAttack < 0)
                        {
                            ours[countEnemy].hp -= enemy[i].physicsAttack + enemy[i].mp;
                            Console.WriteLine(enemy[i].name + "攻击了" + ours[countEnemy].name + "       " + "物理攻击: " + enemy[i].physicsAttack + "  魔法攻击: " + enemy[i].mp);
                            enemy[i].mp = 0;
                            Thread.Sleep(1000);//睡眠
                        }
                    }

                }

                if (ours[countEnemy].hp <= 0) { ours[countEnemy].hp = 0; }
                Console.WriteLine("我方阵营:   " + ours[countEnemy].name + "的血量还剩: " + ours[countEnemy].hp + "滴血");


                for (int k = 0; k < ours.Count; k++)
                {
                    if (ours[k].hp <= 0)
                    {
                        Console.WriteLine("*************************************");
                        Console.WriteLine("我方阵营" + ours[k].name + "死亡!");
                        Console.WriteLine("*************************************");
                        ours.RemoveAt(k);
                        Thread.Sleep(1000);//睡眠
                    }
                }
            }//敌方攻击结束

        }


        Console.WriteLine("战斗结束!!!");
        Console.WriteLine("一共:  " + round + "回合!!!");
        if (ours.Count == 0)
        {
            Console.WriteLine("敌方阵营获胜!!!");
            Money = 0;
        }
        else if (enemy.Count == 0)
        {
            Console.WriteLine("我方阵营获胜!!!");
            Money = 10 * ours.Count + 10;
        }

    }
    public int GetMoney()
    {
        return Money;
    }

}

(6)

using ClassLibrary1;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace 回合制游戏
{
    class BattleControl1
    {
        private List<Hero> ours;
        private List<Hero> enemy;
        private int round = 0;
        //round记录回合数
        private static BattleControl1 battleControl1;
        private BattleControl1()
        {
        }
        public static BattleControl1 GetInstance1()
        {
            if (battleControl1 == null)
            {
                battleControl1 = new BattleControl1();
            }
            return battleControl1;
        }
        public void GameNotice()
        {
            Console.WriteLine("game notice:");
        }
        public void GameLive(int flag, List<Hero> ours, List<Hero> enemy)
        {
            
            if (flag == 1)
            {
                Console.WriteLine("our action:");
                foreach (Hero h1 in ours)
                {
                    Console.WriteLine(h1.name + " ");
                    Console.Write("血量" + h1.hp + " ");
                    Console.Write("物理攻击力" + h1.physicsAttack + "\n");
                }
            }
            else if (flag == -1)
            {
                Console.WriteLine("enemy action:");
                foreach (Hero h1 in enemy)
                {
                    Console.WriteLine(h1.name + " ");
                    Console.Write("血量" + h1.hp + " ");
                    Console.Write("物理攻击力" + h1.physicsAttack + "\n");
                }
            }


        }
        public int AttackChoose(List<Hero> team)
        {
            int n = 0;
            foreach (Hero h in team)//选中对应第一个英雄
            {
                n++;
            }
            return n - 1;
        }
        public void Game(List<Hero> ours, List<Hero> enemy)
        {
            Console.WriteLine("ours.Count=" + ours.Count);
            Console.WriteLine("enemy.Count=" + enemy.Count);
            //可以测试敌方和我方的人数
            int flag = 1;
            int aim;
            while (!(ours.Count == 0 || enemy.Count == 0))
            {
                Console.WriteLine("当前回合数:" + round);
                if (flag == 1)
                {

                    round++;
                    //回合数增加
                    for (int i = 0; i < ours.Count; i++)
                    {
                        aim = AttackChoose(enemy);
                        //Console.WriteLine("i=" +i);
                        //Console.WriteLine("aim=" + aim);
                        //可以测试对应的攻击目标和己方出手的人
                        if (enemy[aim].hp - ours[i].physicsAttack >= 0)
                        {
                            enemy[aim].hp -= ours[i].physicsAttack;
                        }
                        else
                        {
                            enemy[aim].hp = 0;
                        }
                        if (enemy[aim].hp <= 0)
                        {
                            Console.WriteLine("敌方英雄" + enemy[aim].name + "被击杀");
                            enemy.Remove(enemy[aim]);
                            if (enemy.Count <= 0)
                            {
                                GameLive(flag, ours, enemy);
                                Console.WriteLine("round number:" + round);
                                Console.WriteLine("game over");
                                Thread.Sleep(5000);
                                
                                    Console.WriteLine("哈哈哈哈,小贼,我卧薪尝胆就为今朝大仇得报,victroy理所当然");
                                    Thread.Sleep(10000);
                                return;
                            }
                        }
                        GameLive(-1, ours, enemy);
                    }
                }
                else
                {
                    for (int i = 0; i < enemy.Count; i++)
                    {
                        aim = AttackChoose(ours);
                        if (ours[aim].hp - enemy[i].physicsAttack >= 0)
                        {
                            ours[aim].hp -= enemy[i].physicsAttack;
                        }
                        else
                        {
                            ours[aim].hp = 0;
                        }
                        if (ours[aim].hp <= 0)
                        {
                            Console.WriteLine("我方英雄" + ours[aim].name + "被击杀");
                            ours.Remove(ours[aim]);
                            if (ours.Count <= 0)
                            {
                                GameLive(flag, ours, enemy);
                                Console.WriteLine("round number:" + round);
                                Console.WriteLine("game over");
                                Thread.Sleep(10000);
                                    Console.WriteLine("去研究战术,合理配兵方可取胜,卧薪尝胆,三千越加可吞吴defeat");
                                    Thread.Sleep(10000);
                               
                               
                                return;
                            }
                        }
                        GameLive(1, ours, enemy);
                    }
                }
                flag *= -1;
                //切换回和
                Thread.Sleep(2000);
                Console.Clear();

            }

        }
    }

}


(7)

using System.Media;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;

namespace FinallProject
{
    class MusicManager
    {
        private static int max=3;//总共3首歌曲
        private static int currentIndex=0;
        private static SoundPlayer soundPlayer;
        private static string[] location ={ "..\\..\\..\\bgmusic0.wav", "..\\..\\..\\bgmusic1.wav", "..\\..\\..\\bgmusic2.wav" };
        private static string[] musics = { "《悲欢离合戏一场》","《曹操》","《三国恋》"};
        public static void Turn()
        {
            soundPlayer = new SoundPlayer(@location[0]);
            currentIndex = 0;
            soundPlayer.PlayLooping();
        }
       
        public static void ChooseMusic(int i)
        {
                if (i < max+1)
                {
                    if(i==max)
                    {
                        Stop();
                        currentIndex = 0;
                      
                    }
                    soundPlayer = new SoundPlayer(@location[i]);
                    soundPlayer.PlayLooping();
                    currentIndex = i;
                  
                }
                else
                {
                    Console.WriteLine("输入错误");
                    Thread.Sleep(1000);
                    Console.Clear();
            
                }
        
        }
        public static void Stop()
        {
            soundPlayer.Stop();
        }
        public static void ShowMusics()
        {
            for(int i=0;i<max;i++)
            {
                Console.WriteLine("{0} {1}",i,musics[i]);
            }
            Console.WriteLine("{0}  关闭当前音乐",max);
        }
    }
}
 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秒¤说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值