小游戏:红色警戒争霸战!

2023-11-15

这个是当年自己在学校里面写的小游戏,现在看看好弱智啊!
第一代的代码:

public struct Heros
        {
            public string name;
            public double hp;
            public double mp;
            public double attack;
            public double defence;
            public string state;
            public int delay;
            public int swore;//诅咒计数器
            public Skill selfskill;
        }

        public struct Skill
        {
            public string name;
            public double mp;
            public string info;
            public double punch;
            public int delay;
            public int swore;//诅咒能力
        }
        static void Main(string[] args)
        {
            Console.WriteLine("红色警戒争霸赛现在开始!");
            Random rnd = new Random();

            Skill[] skills = new Skill[7];
            skills[0].name = "【末日审判粉碎机】";
            skills[0].mp = 50;
            skills[0].info = "【使敌人遭到难以抗拒的粉碎性打击】";
            skills[0].punch = 1.8;
            skills[0].delay = 1;

            skills[1].name = "【中子炮死亡射线】";
            skills[1].mp = 75;
            skills[1].info = "【使敌人见光死】";
            skills[1].punch = 1.6;

            skills[2].name = "【核心巨变】";
            skills[2].mp = 500;
            skills[2].info = "【使自己战斗力大为提升】";

            skills[3].name = "【心灵震爆】";
            skills[3].mp = 100;
            skills[3].info = "【使敌人丧失战斗意志力】";
            skills[3].swore = 40;

            skills[4].name = "【氢元素混合爆炸】";
            skills[4].mp = 100;
            skills[4].info = "【自爆】";

            skills[5].name = "【汲取光束】";
            skills[5].mp = 40;
            skills[5].info = "【获得了敌人的部分生命值和攻击值】";

            skills[6].name = "【贿赂】";
            skills[6].mp = 100;
            skills[6].info = "【用金钱和美女收买敌人】";
            skills[6].swore = 20;
            skills[6].delay = 2;

            Heros[] heros=new Heros[7];
            heros[0].name = "【天启坦克】";
            heros[0].hp = 3000;
            heros[0].mp = 250;
            heros[0].attack = 800;
            heros[0].defence = 500;
            heros[0].state = "【苏维埃共产主义】";
            heros[0].selfskill = skills[0];
            heros[0].delay = 0;
            heros[0].swore = 0;

            heros[1].name = "【未来坦克】";
            heros[1].hp = 2500;
            heros[1].mp = 500;
            heros[1].attack = 600;
            heros[1].defence = 300;
            heros[1].state = "【民主自由世界】";
            heros[1].selfskill = skills[1];
            heros[1].delay = 0;
            heros[1].swore = 0;

            heros[2].name = "【帝国核心要塞】";
            heros[2].hp = 6000;
            heros[2].mp = 1500;
            heros[2].attack = 1000;
            heros[2].defence = 600;
            heros[2].state = "【升日帝国】";
            heros[2].selfskill = skills[2];
            heros[2].delay = 3;
            heros[2].swore = 0;

            heros[3].name = "【尤里X】";
            heros[3].hp = 150;
            heros[3].mp = 1200;
            heros[3].attack = 100;
            heros[3].defence = 100;
            heros[3].state = "【尤里恶普希龙王朝】";
            heros[3].selfskill = skills[3];
            heros[3].delay = 0;
            heros[3].swore = -50;

            heros[4].name = "【基洛夫飞艇】";
            heros[4].hp = 5000;
            heros[4].mp = 200;
            heros[4].attack = 800;
            heros[4].defence = 600;
            heros[4].state = "【苏维埃共产主义】";
            heros[4].selfskill = skills[4];
            heros[4].delay = 3;
            heros[4].swore = 10;

            heros[5].name = "【铁锤坦克】";
            heros[5].hp = 2000;
            heros[5].mp = 150;
            heros[5].attack = 400;
            heros[5].defence = 250;
            heros[5].state = "【苏维埃共产主义】";
            heros[5].selfskill = skills[5];
            heros[5].delay = 0;
            heros[5].swore = 0;

            heros[6].name = "【间谍】";
            heros[6].hp = 100;
            heros[6].mp = 600;
            heros[6].attack = 10;
            heros[6].defence = 50;
            heros[6].state = "【民主自由世界】";
            heros[6].selfskill = skills[6];
            heros[6].delay = 0;
            heros[6].swore = -20;

            for (int i=0; i<=heros.Length-1;i++ )
            {
                Console.WriteLine("如果您想选择英雄{0},请输入数字{1}",heros[i].name,i);
            }
            int selecthero = Convert.ToInt32( Console.ReadLine());

            Heros player = new Heros();
             player = heros[selecthero]; //玩家选择的英雄赋值给电脑,然后就是电脑选择英雄
             Heros PC = new Heros();
             int selecthero2;
             for (; ; )
             {
                 selecthero2 = rnd.Next(0,heros.Length);
                 PC = heros[selecthero2];
                 if (player.state != PC.state)
                 { break; }
             }
             Console.WriteLine("您选择了英雄{0},电脑选择英雄{1}",player.name,PC.name);
            //开始PK
             for (int i=1; ;i++ )
             {
                 Console.WriteLine("第{0}回合",i);
                 //玩家回合
                 if (player.delay != 0)
                 {
                     //停止一个回合
                     Console.WriteLine("您要停止一个回合!");
                     player.delay--;
                 }
                 else
                 {
                     Console.WriteLine("请问是否发动技能?Y(y)或者N(n)");
                     char skilltouch = Console.ReadKey().KeyChar;//主动发动技能的触发变量
                     int playerskilltouch = rnd.Next(50, 151);//决定发动这次技能成功的概率
                     if ((skilltouch == 'y' | skilltouch == 'Y') & player.name == "【天启坦克】" & playerskilltouch > 30)
                     { Heroskillattack0(ref player, ref PC); }
                     else if ((skilltouch == 'y' | skilltouch == 'Y') & player.name == "【未来坦克】" & playerskilltouch > 50)
                     { Heroskillattack1(ref player, ref PC); }
                     else if ((skilltouch == 'y' | skilltouch == 'Y') & player.name == "【帝国核心要塞】" & playerskilltouch > 80)
                     { Heroskillattack2(ref player, ref PC); }
                     else if ((skilltouch == 'y' | skilltouch == 'Y') & player.name == "【尤里X】" & playerskilltouch > 90)
                     { Heroskillattack3(ref player, ref PC); }
                     else if ((skilltouch == 'y' | skilltouch == 'Y') & player.name == "【基洛夫飞艇】" & playerskilltouch > 70)
                     { Heroskillattack4(ref player, ref PC); }
                     else if ((skilltouch == 'y' | skilltouch == 'Y') & player.name == "【铁锤坦克】" & playerskilltouch > 60)
                     { Heroskillattack5(ref player, ref PC); }
                     else if ((skilltouch == 'y' | skilltouch == 'Y') & player.name == "【间谍】" & playerskilltouch > 60)
                     { Heroskillattack6(ref player, ref PC); }
                     else
                     { Commonattack(ref player, ref PC); }
                 }
               
                //判定电脑
                 if(Gameover(ref PC)||PC.swore>=100)
                 {
                     Console.WriteLine("{0}击败了{1},打倒{2},{3}万岁!",
                         player.name,PC.name,PC.state,player.state);
                     PC.swore -= 10;
                     break;
                 }
                 //电脑回合
                 if (PC.delay != 0)
                 {
                     //停止一个回合
                     Console.WriteLine("电脑要停止一个回合!");
                     PC.delay--;
                 }
                 else
                 {
                     int pcskilltouch = rnd.Next(1, 101);
                     if (pcskilltouch > 30 & PC.name == "【天启坦克】")  //分别表示计算机发动技能的概率
                     { Heroskillattack0(ref PC, ref player); }
                     else if (pcskilltouch > 40 & PC.name == "【未来坦克】")
                     { Heroskillattack1(ref PC, ref player); }
                     else if (pcskilltouch > 80 & PC.name == "【帝国核心要塞】")//建议playskilltouch和pcskilltouch相同
                     { Heroskillattack2(ref PC, ref player); }
                     else if (pcskilltouch > 90 & PC.name == "【尤里X】")
                     { Heroskillattack3(ref PC, ref player); }
                     else if (pcskilltouch > 90 & PC.name == "【基洛夫飞艇】")
                     { Heroskillattack4(ref PC, ref player); }
                     else if (pcskilltouch > 90 & PC.name == "【铁锤坦克】")
                     { Heroskillattack5(ref PC, ref player); }
                     else if (pcskilltouch > 60 & PC.name == "【间谍】")
                     { Heroskillattack6(ref PC, ref player); }
                     else
                     { Commonattack(ref PC, ref player); }
                 }
                 //判定玩家
                 if(Gameover(ref player)||player.swore>=100)
                 {
                     Console.WriteLine("{0}击败了{1},打倒{2},{3}万岁!",
                        PC.name, player.name, player.state, PC.state);
                     player.swore -= 10;
                     break;
                 }
                 //游戏菜单,随机事件
                 Console.WriteLine("您是否要打开随机箱子?Y(y)或者N(n)");
                 char rndbox = Console.ReadKey().KeyChar;
                 if(rndbox=='Y'||rndbox=='y')
                 {
                     double rndboxopen1 = rnd.Next(50,151);
                     double rndboxopen2 = rnd.Next(50, 151);
                     double rndboxopen3 = rnd.Next(10, 16);
                     player.hp = player.hp * 0.01 * rndboxopen1;
                     player.mp = player.mp * 0.01 * rndboxopen1;
                     player.swore -= rndbox;
                     Console.WriteLine("你打开箱子后,生命值翻{0}倍,技能值翻{1}倍",rndboxopen1*0.01,rndboxopen2*0.01);
                 }
                 
             }
        }
        /// <summary>
        /// 普通攻击
        /// </summary>
        /// <param name="attacker"></param>
        /// <param name="defencer"></param>
        public static void Commonattack(ref Heros attacker, ref Heros defencer)
        {
            double damage = attacker.attack - defencer.defence;
            if(damage<10)
            {
                damage = 10;
            }
            defencer.hp = defencer.hp - damage;
            if(defencer.hp<0)
            {
                defencer.hp = 0;
            }
            Console.WriteLine("{0}对{1}发动了【普通攻击】,造成了{2}点伤害,{1}生命值还剩下{3}"
                ,attacker.name,defencer.name,damage,defencer.hp);
        }
        /// <summary>
        /// 游戏结束
        /// </summary>
        /// <param name="victim"></param>
        /// <returns></returns>
        public static bool Gameover(ref Heros victim)
        {
            if(victim.hp==0)
            {
                return true;
            }
            else
            { return false; }
            
        }
        //一个技能写一个函数,避免因为属性过多造成的变成混乱
        /// <summary>
        /// 天启坦克的末日审判技能,暴击效果,还有使得敌方停止一回合
        /// </summary>
        /// <param name="attacker"></param>
        /// <param name="defencer"></param>
        public static void Heroskillattack0(ref Heros attacker, ref Heros defencer)
        {
            if (attacker.mp < attacker.selfskill.mp)
            {
                Console.WriteLine("您的技能值不足,行动失败");
                return;
            }
            attacker.mp = attacker.mp - attacker.selfskill.mp;//减少技能值
            double damage = attacker.attack*attacker.selfskill.punch - defencer.defence;//暴击
            if (damage < 10)
            {
                damage = 10;
            }
            defencer.hp = defencer.hp - damage;
            if (defencer.hp < 0)
            {
                defencer.hp = 0;
            }
            defencer.delay = defencer.delay + attacker.selfskill.delay;
            Console.WriteLine("{0}对{1}发动了{2},{3},造成了{4}点伤害,{1}生命值还剩下{5}"
               ,attacker.name,defencer.name,attacker.selfskill.name,attacker.selfskill.info,damage,defencer.hp);
        }
        /// <summary>
        /// 中子炮死亡射线,暴击效果
        /// </summary>
        /// <param name="attacker"></param>
        /// <param name="defencer"></param>
        public static void Heroskillattack1(ref Heros attacker, ref Heros defencer)
        {
            if (attacker.mp < attacker.selfskill.mp)
            {
                Console.WriteLine("您的技能值不足,行动失败");
                return;
            }
            attacker.mp = attacker.mp - attacker.selfskill.mp;//减少技能值
            double damage = attacker.attack * attacker.selfskill.punch - defencer.defence;//暴击
            if (damage < 10)
            {
                damage = 10;
            }
            defencer.hp = defencer.hp - damage;
            if (defencer.hp < 0)
            {
                defencer.hp = 0;
            }
            Console.WriteLine("{0}对{1}发动了{2},{3},造成了{4}点伤害,{1}生命值还剩下{5}"
               , attacker.name, defencer.name, attacker.selfskill.name, attacker.selfskill.info, damage, defencer.hp);
        }
        /// <summary>
        /// 核心巨变,攻击力永远提升到1.1倍数
        /// </summary>
        /// <param name="attacker"></param>
        /// <param name="defencer"></param>
        public static void Heroskillattack2(ref Heros attacker, ref Heros defencer)
        {
            if (attacker.mp < attacker.selfskill.mp)
            {
                Console.WriteLine("您的技能值不足,行动失败");
                return;
            }
            attacker.mp = attacker.mp - attacker.selfskill.mp;//减少技能值
            double damage=0;
            if (defencer.hp < 0)
            {
                defencer.hp = 0;
            }
            attacker.attack *= 1.1;// 核心巨变,攻击力永远提升到1.1倍数
            Console.WriteLine("{0}对{1}发动了{2},{3},造成了{4}点伤害,{1}生命值还剩下{5}"
               , attacker.name, defencer.name, attacker.selfskill.name, attacker.selfskill.info, damage, defencer.hp);
        }
        /// <summary>
        /// 【心灵震爆】,一旦有三次技能发动成功,则完全获得胜利
        /// </summary>
        /// <param name="attacker"></param>
        /// <param name="defencer"></param>
        public static void Heroskillattack3(ref Heros attacker, ref Heros defencer)
        {
            if (attacker.mp < attacker.selfskill.mp)
            {
                Console.WriteLine("您的技能值不足,行动失败");
                return;
            }
            attacker.mp = attacker.mp - attacker.selfskill.mp;//减少技能值
            double damage= defencer.hp*0.3+ defencer.attack-defencer.defence;
            attacker.hp += damage;
            if (defencer.hp < 0)
            {
                defencer.hp = 0;
            }
            defencer.swore = defencer.swore + attacker.selfskill.swore;
            damage = 0;
            Console.WriteLine("{0}对{1}发动了{2},{3},造成了{4}点伤害,{1}生命值还剩下{5}"
               , attacker.name, defencer.name, attacker.selfskill.name, attacker.selfskill.info, damage, defencer.hp);
        }
        /// <summary>
        /// 自爆(伤害值为自身血量的1.5倍数)
        /// </summary>
        /// <param name="attacker"></param>
        /// <param name="defencer"></param>
        public static void Heroskillattack4(ref Heros attacker, ref Heros defencer)
        {
            if (attacker.mp < attacker.selfskill.mp)
            {
                Console.WriteLine("您的技能值不足,行动失败");
                return;
            }
            attacker.mp = attacker.mp - attacker.selfskill.mp;//减少技能值
            double damage = 1.5 * (attacker.hp - 100);
            attacker.hp = 100;
            defencer.hp -= damage;
            if (defencer.hp < 0)
            {
                defencer.hp = 0;
            }
            Console.WriteLine("{0}对{1}发动了{2},{3},造成了{4}点伤害,{1}生命值还剩下{5}"
               , attacker.name, defencer.name, attacker.selfskill.name, attacker.selfskill.info, damage, defencer.hp);
        }
        /// <summary>
        /// 汲取光束,吸血技能
        /// </summary>
        /// <param name="attacker"></param>
        /// <param name="defencer"></param>
        public static void Heroskillattack5(ref Heros attacker, ref Heros defencer)
        {
            if (attacker.mp < attacker.selfskill.mp)
            {
                Console.WriteLine("您的技能值不足,行动失败");
                return;
            }
            attacker.mp = attacker.mp - attacker.selfskill.mp;//减少技能值
            double damage = attacker.attack-defencer.defence;
            if(damage<=10)
            {
                return;
            }
            attacker.hp += damage;
            defencer.hp -= damage*0.9;
            damage *= 0.1;//汲取光束还会吸取攻击力和防守力
            attacker.attack += damage;
            attacker.defence += damage;
            if (defencer.hp < 0)
            {
                defencer.hp = 0;
            }
            Console.WriteLine("{0}对{1}发动了{2},{3},造成了{4}点伤害,{1}生命值还剩下{5}"
               , attacker.name, defencer.name, attacker.selfskill.name, attacker.selfskill.info, damage, defencer.hp);
        }
        /// <summary>
        /// 收买敌人
        /// </summary>
        /// <param name="attacker"></param>
        /// <param name="defencer"></param>
        public static void Heroskillattack6(ref Heros attacker, ref Heros defencer)
        {
            if (attacker.mp < attacker.selfskill.mp)
            {
                Console.WriteLine("您的技能值不足,行动失败");
                return;
            }
            double damage = 0;
            attacker.mp = attacker.mp - attacker.selfskill.mp;//减少技能值
            defencer.delay = defencer.delay + attacker.selfskill.swore;
            defencer.swore += attacker.selfskill.delay;
            if (defencer.delay >= 3 || defencer.swore >= 50)
            { attacker.defence *= 100; }
            if (defencer.hp < 0)
            {
                defencer.hp = 0;
            }
            Console.WriteLine("{0}对{1}发动了{2},{3},造成了{4}点伤害,{1}生命值还剩下{5}"
               , attacker.name, defencer.name, attacker.selfskill.name, attacker.selfskill.info, damage, defencer.hp);
        }


第二代的代码:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace redalert
{   //这是关于红色警戒的游戏
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("欢迎进入红色警戒争霸战");
            double damage;
            Console.WriteLine("--------------------------");
            state basicstate = new state();
          sovietgeneration1 state11 = new sovietgeneration1();
          state11.statearmy();
          Console.WriteLine("--------------------------");
          soveitgeneration2 state12 = new soveitgeneration2();
          state12.statearmy();
          Console.WriteLine("--------------------------");
          soveitgeneration3 state13 = new soveitgeneration3();
          state13.statearmy();
          Console.WriteLine("--------------------------");
          USAgeneration1 state21 = new USAgeneration1();
          state21.statearmy();
          Console.WriteLine("--------------------------");
          USAgeneration2 state22 = new USAgeneration2();
          state22.statearmy();
          Console.WriteLine("--------------------------");
          USAgeneration3 state23 = new USAgeneration3();
          state23.statearmy();
          Console.WriteLine("--------------------------");
          randomincident incidents = new randomincident();
            Console.WriteLine("请选择您的阵营:1苏维埃社会主义共和国联盟2美利坚合众国");
         
            player youplayer = new player();
            pc opposite = new pc();
            int selectstate = Convert.ToInt32(Console.ReadLine()) ;
            //表示玩家已经升级到的代数
            int generationplayer=0;
            int generationpc=0;
            //开始初始值设定
            if(selectstate==1)
            {
                Console.Clear();
                Console.WriteLine("您选择了【苏维埃社会主义共和国联盟】");
                youplayer.Attack = state11.Attack;
                youplayer.Defence = state11.Defence;
                youplayer.Hp = state11.Hp;
                youplayer.Mp = state11.Mp;
                opposite.Attack = state21.Attack;
                opposite.Defence = state21.Defence;
                opposite.Hp = state21.Hp;
                opposite.Mp = state21.Mp;
                generationplayer++;
                generationpc++;
                Console.WriteLine("请按任意键继续");
                Console.ReadKey();
            }
            else if (selectstate == 2)
            {
                Console.Clear();
                Console.WriteLine("您选择了【美利坚合众国】");
                youplayer.Attack = state21.Attack;
                youplayer.Defence = state21.Defence;
                youplayer.Hp = state21.Hp;
                youplayer.Mp = state21.Mp;
                
                opposite.Attack = state11.Attack;
                opposite.Defence = state11.Defence;
                opposite.Hp = state11.Hp;
                opposite.Mp = state11.Mp;
                generationplayer++;
                generationpc++;
                Console.WriteLine("请按任意键继续");
                Console.ReadKey();
            }
            else
            {
                Console.WriteLine("操作异常,退出游戏");
                return;
            }
            Random rnd = new Random();
            int round1;
            int round2;
            int round3;
            int skillrnd;
            int incidentsrnd;
            int nuclearrnd=100;
            int ironcurtonrnd = 100;
            int playerdelay = 0;
            int pcdelay = 0;
            //开始游戏,回合制
            for (int i=1; ;i++ )
            {
                Console.Clear();
                Console.WriteLine("第{0}回合",i);
                    //玩家攻击电脑(分为普通攻击和技能攻击)
                round1 = rnd.Next(0, 101);
                round2 = rnd.Next(0, 101);
                round3 = rnd.Next(0, 101);
                if(round3>round1&&round3<round2||round3>round2&&round3<round1||playerdelay>0)
                {
                    if (generationplayer == 1 && selectstate==1)
                        {
                            Console.WriteLine("请选择技能,如果选0就是普通行动:");
                            selectsovietskill1(state11);
                        skillrnd=rnd.Next(0,2);
                        if(skillrnd==0)
                        {
                             youplayer.Attack = state11.Attack;
                            youplayer.Defence = state11.Defence;
                        }
                      
                        }
                    else if (generationplayer == 2 && selectstate == 1)
                        {
                            Console.WriteLine("请选择技能,如果选0就是普通行动:");
                            selectsovietskill2(state12);
                            skillrnd = rnd.Next(0, 2);
                            if (skillrnd == 0)
                            {
                                youplayer.Attack = state12.Attack;
                                youplayer.Defence = state12.Defence;
                            }
                        }
                    else if (generationplayer == 3 && selectstate == 1)
                        {
                            Console.WriteLine("请选择技能,如果选0就是普通行动:");
                            selectsovietskill3(state13);
                            skillrnd = rnd.Next(0, 2);
                            if (skillrnd == 0)
                            {
                                youplayer.Attack = state13.Attack;
                                youplayer.Defence = state13.Defence;
                            }
                        }
                    else  if(generationplayer == 1 && selectstate==2)
                    {
                        Console.WriteLine("请选择技能,如果选0就是普通行动:");
                        selectusaskill1(state21);
                        skillrnd = rnd.Next(0, 2);
                        if (skillrnd == 0)
                        {
                            youplayer.Attack = state21.Attack;
                            youplayer.Defence = state21.Defence;
                        }
                    }
                    else if(generationplayer == 2 && selectstate==2)
                    {
                        Console.WriteLine("请选择技能,如果选0就是普通行动:");
                        selectusaskill2(state22);
                        skillrnd = rnd.Next(0, 2);
                        if (skillrnd == 0)
                        {
                            youplayer.Attack = state22.Attack;
                            youplayer.Defence = state22.Defence;
                        }
                    }
                    else if (generationplayer == 3 && selectstate == 2)
                    {
                        Console.WriteLine("请选择技能,如果选0就是普通行动:");
                        selectusaskill3(state23);
                        skillrnd = rnd.Next(0, 2);
                        if (skillrnd == 0)
                        {
                            youplayer.Attack = state23.Attack;
                            youplayer.Defence = state23.Defence;
                        }
                    }
                   
                    string selectskill = Console.ReadLine();
                    if (selectskill == "0")
                    {
                        Console.WriteLine("请选择您的行动:");
                        basicskill(basicstate);
                       string commonskill = Console.ReadLine();
                                   switch (commonskill)
                                {
                                    case "1": 
                                        basicstate.loveconutry(); 
                                        youplayer.Hp += 100 * rnd.Next(0, 101) * 0.01; 
                                        break;
                                    case "2":
                                        basicstate.powerfularmy();
                                        youplayer.Mp += 100 * rnd.Next(0, 101) * 0.01;
                                        break;
                                    case "3":
                                        basicstate.constitution();
                                        youplayer.Attack += 100 * rnd.Next(0, 101) * 0.01;
                                        break;
                                    case "4":
                                        basicstate.financial();
                                        youplayer.Defence += 100 * rnd.Next(0, 101) * 0.01; 
                                        break;
                                    default: Console.WriteLine("您没有发动任何技能!"); break;
                                }
                    }
                    else
                    { 
                                 if (generationplayer == 1 && selectstate == 1)
                    {
                       
                         switch (selectskill)
                            {
                                case "1": state11.constript(); youplayer.Attack += 10 * rnd.Next(90, 110) * 0.01; break;
                                case "2": state11.telse(); youplayer.Attack += 150 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 150 * rnd.Next(90, 110) * 0.01; break;
                                case "3": state11.aptank(); youplayer.Attack += 175 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 175 * rnd.Next(90, 110) * 0.01; break;
                                case "4": state11.mig(); youplayer.Attack += 120 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 120 * rnd.Next(90, 110) * 0.01; break;
                                case "5": state11.akula(); youplayer.Attack += 100 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 100 * rnd.Next(90, 110) * 0.01; break;
                                case "6": state11.atomicbomb(); youplayer.Attack *= 2 * rnd.Next(90, 110) * 0.01*nuclearrnd*0.01; youplayer.Mp -= 500 * rnd.Next(90, 110) * 0.01; break;
                                case "7": 
                                    state11.ironcurton(); 
                                    youplayer.Defence *= 2 * rnd.Next(90, 110) * 0.01*ironcurtonrnd*0.01; youplayer.Mp -= 500 * rnd.Next(90, 110) * 0.01; break;
                                default: Console.WriteLine("您没有发动任何技能!"); break;
                            }
                    
                                 
                    }
                    else if(generationplayer == 2 && selectstate == 1)
                    {
                        
                         switch (selectskill)
                                                {
                                                    case "1": state12.constript(); youplayer.Attack += 20 * rnd.Next(90, 110) * 0.01; break;
                                                    case "2": state12.telse(); youplayer.Attack += 200 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 110 * rnd.Next(90, 110) * 0.01; break;
                                                    case "3": state12.aptank(); youplayer.Attack += 350 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 165 * rnd.Next(90, 110) * 0.01; break;
                                                    case "4": state12.mig(); youplayer.Attack += 150 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 100 * rnd.Next(90, 110) * 0.01; break;
                                                    case "5": state12.akula(); youplayer.Attack += 150 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 80 * rnd.Next(90, 110) * 0.01; break;
                                                    case "6": state12.atomicbomb(); youplayer.Attack *= 2.5 * rnd.Next(90, 110) * 0.01 * nuclearrnd * 0.01; youplayer.Mp -= 800 * rnd.Next(90, 110) * 0.01; break;
                                                    case "7":
                                                        state12.ironcurton();
                                                        youplayer.Defence *= 2 * rnd.Next(90, 110) * 0.01*ironcurtonrnd*0.01; youplayer.Mp -= 250 * rnd.Next(90, 110) * 0.01; break;
                                                    case "8": 
                                                        state12.youri();
                                                        youplayer.Hp += opposite.Hp * 0.1 * rnd.Next(90, 110) * 0.01 + opposite.Mp * 0.1 * rnd.Next(90, 110) * 0.01;
                                                        youplayer.Mp -= 120 * rnd.Next(90, 110) * 0.01;
                                                        opposite.Hp *= 0.9 * rnd.Next(90, 110) * 0.01;
                                                        opposite.Mp *= 0.9 * rnd.Next(90, 110) * 0.01;
                                                        opposite.Swore += 10;
                                                        break;
                                                    case "9": state12.kirov(); youplayer.Attack = youplayer.Attack * 1.5 * rnd.Next(90, 110) * 0.01 + youplayer.Hp * 0.1 * rnd.Next(90, 110) * 0.01; youplayer.Hp *= 0.9 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 200 * rnd.Next(90, 110) * 0.01; break;
                                                    case "10": state12.nofair(); youplayer.Attack *= 1.4 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 200 * rnd.Next(90, 110) * 0.01; break;
                                                    default: Console.WriteLine("您没有发动任何技能!"); break;
                                                }
                    }
                      else if(generationplayer == 3 && selectstate == 1)
                    {
                      
                              switch (selectskill)
                                                    {
                                                        case "1": state13.constript(); youplayer.Attack += 30 * rnd.Next(90, 110) * 0.01; break;
                                                        case "2": state13.telse(); youplayer.Attack += 220 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 90 * rnd.Next(90, 110) * 0.01; break;
                                                        case "3": state13.aptank(); youplayer.Defence += 175 * rnd.Next(90, 110) * 0.01; youplayer.Hp *= 1.05 * rnd.Next(90, 110) * 0.01; youplayer.Attack += 380 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 150 * rnd.Next(90, 110) * 0.01; break;
                                                        case "4": state13.mig(); youplayer.Attack += 160 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 90 * rnd.Next(90, 110) * 0.01; break;
                                                        case "5": state13.akula(); youplayer.Attack += 160 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 70 * rnd.Next(90, 110) * 0.01; break;
                                                        case "6": state13.atomicbomb(); youplayer.Attack *= 2.8 * rnd.Next(90, 110) * 0.01 * nuclearrnd * 0.01; youplayer.Mp -= 1000 * rnd.Next(90, 110) * 0.01; break;
                                                        case "7": 
                                                            state13.ironcurton(); 
                                                            youplayer.Defence *= 2 * rnd.Next(90, 110) * 0.01*ironcurtonrnd*0.01;
                                                            break;
                                                        case "8": 
                                                            state13.youri();
                                                            youplayer.Hp += opposite.Hp * 0.2 * rnd.Next(90, 110) * 0.01 + opposite.Mp * 0.2 * rnd.Next(90, 110) * 0.01;
                                                            youplayer.Mp -= 140 * rnd.Next(90, 110) * 0.01; 
                                                            opposite.Hp *= 0.8 * rnd.Next(90, 110) * 0.01;
                                                            opposite.Hp *= 0.8 * rnd.Next(90, 110) * 0.01;
                                                            opposite.Swore += 15;
                                                            break;
                                                        case "9": state13.kirov(); youplayer.Attack = youplayer.Attack * 1.8 * rnd.Next(90, 110) * 0.01 + youplayer.Hp * 0.2 * rnd.Next(90, 110) * 0.01; youplayer.Hp *= 0.8 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 250 * rnd.Next(90, 110) * 0.01; break;
                                                        case "10": state13.nofair(); youplayer.Attack *= 1.4 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 200 * rnd.Next(90, 110) * 0.01; break;
                                                        case "11": 
                                                            state13.hammer(); 
                                                            youplayer.Attack += 90 * rnd.Next(90, 110) * 0.01; 
                                                            youplayer.Mp -= 90 * rnd.Next(90, 110) * 0.01; 
                                                            youplayer.Hp += 90 * rnd.Next(90, 110) * 0.01;
                                                            break;
                                                        case "12": state13.cutmachine(); youplayer.Attack -= 150 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 150 * rnd.Next(90, 110) * 0.01; break;
                                                        case "13": state13.spacearmy(); youplayer.Hp += 500 * rnd.Next(90, 110) * 0.01; youplayer.Mp += 500 * rnd.Next(90, 110) * 0.01; break;
                                                        default: Console.WriteLine("您没有发动任何技能!"); break;
                                                    }
                
                      
                    }
                      else if(generationplayer == 1 && selectstate == 2)
                    {
                       
                        switch (selectskill)
                                                {
                                                    case "1": state21.peacekeeper(); youplayer.Attack += 20 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 20 * rnd.Next(90, 110) * 0.01; break;
                                                    case "2": state21.lightlight(); youplayer.Attack += 150 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 150 * rnd.Next(90, 110) * 0.01; break;
                                                    case "3": state21.virtualtech(); youplayer.Attack += 50 * rnd.Next(90, 110) * 0.01; youplayer.Defence += 25 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 120 * rnd.Next(90, 110) * 0.01; break;
                                                    case "4": state21.Aairplane(); youplayer.Attack += 120 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 120 * rnd.Next(90, 110) * 0.01; break;
                                                    case "5": state21.Zues(); youplayer.Attack += 120 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 120 * rnd.Next(90, 110) * 0.01; youplayer.Defence *= 1.05 * rnd.Next(90, 110) * 0.01; break;
                                                    case "6": state21.lightenstorm(); youplayer.Attack *= 1.5 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 500 * rnd.Next(90, 110) * 0.01; break;
                                                    case "7": state21.chromesphere(); youplayer.Attack *= 0.9 * rnd.Next(90, 110) * 0.01; youplayer.Defence *= 0.9 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 500 * rnd.Next(90, 110) * 0.01; break;
                                                    default: Console.WriteLine("您没有发动任何技能!"); break;
                                                }
                     
                        
                    }
                      else if(generationplayer == 2 && selectstate == 2)
                    {
                        
                             switch (selectskill)
                                                {
                                                    case "1": state22.peacekeeper(); youplayer.Attack += 30 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 30 * rnd.Next(90, 110) * 0.01; break;
                                                    case "2": state22.lightlight(); youplayer.Attack += 250 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 180 * rnd.Next(90, 110) * 0.01; break;
                                                    case "3": state22.virtualtech(); youplayer.Attack += 75 * rnd.Next(90, 110) * 0.01; youplayer.Defence += 25 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 180 * rnd.Next(90, 110) * 0.01; break;
                                                    case "4": state22.Aairplane(); youplayer.Attack += 140 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 140 * rnd.Next(90, 110) * 0.01; break;
                                                    case "5": state22.Zues(); youplayer.Attack += 140 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 140 * rnd.Next(90, 110) * 0.01; youplayer.Defence *= 1.15 * rnd.Next(90, 110) * 0.01; break;
                                                    case "6": state22.lightenstorm(); youplayer.Attack *= 2 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 1000 * rnd.Next(90, 110) * 0.01; break;
                                                    case "7": state22.chromesphere(); youplayer.Attack *= 0.85 * rnd.Next(90, 110) * 0.01; youplayer.Defence *= 0.85 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 1000 * rnd.Next(90, 110) * 0.01; break;
                                                    case "8":
                                                        state22.spy();
                                                        opposite.Attack = 0; opposite.Defence = 0;
                                                        youplayer.Mp -= 100 * rnd.Next(90, 110) * 0.01;
                                                        pcdelay += 3;
                                                        opposite.Swore += 3;
                                                        break;
                                                    case "9": state22.carrier(); youplayer.Attack += 200 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 200 * rnd.Next(90, 110) * 0.01; break;
                                                    case "10": state22.frozen(); youplayer.Attack *= 1.1 * rnd.Next(90, 110) * 0.01; opposite.Attack = 0; opposite.Defence = 0; youplayer.Mp -= 150 * rnd.Next(90, 110) * 0.01; break;
                                                    default: Console.WriteLine("您没有发动任何技能!"); break;
                                                }
                    }
                    else if (generationplayer == 3 && selectstate == 2)
                    {
                        
                           switch (selectskill)
                                                {
                                                    case "1": state23.peacekeeper(); youplayer.Attack += 30 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 30 * rnd.Next(90, 110) * 0.01; break;
                                                    case "2": state23.lightlight(); youplayer.Attack += 250 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 180 * rnd.Next(90, 110) * 0.01; break;
                                                    case "3": state23.virtualtech(); youplayer.Attack += 75 * rnd.Next(90, 110) * 0.01; youplayer.Defence += 25 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 180 * rnd.Next(90, 110) * 0.01; break;
                                                    case "4": state23.Aairplane(); youplayer.Attack += 140 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 140 * rnd.Next(90, 110) * 0.01; break;
                                                    case "5": state23.Zues(); youplayer.Attack += 140 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 140 * rnd.Next(90, 110) * 0.01; youplayer.Defence *= 1.15 * rnd.Next(90, 110) * 0.01; break;
                                                    case "6": state23.lightenstorm(); youplayer.Attack *= 2 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 1000 * rnd.Next(90, 110) * 0.01; break;
                                                    case "7": state23.chromesphere(); youplayer.Attack *= 0.85 * rnd.Next(90, 110) * 0.01; youplayer.Defence *= 0.85 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 1000 * rnd.Next(90, 110) * 0.01; break;
                                                    case "8":
                                                        state23.spy();
                                                       opposite.Attack = 0; opposite.Defence = 0; 
                                                       youplayer.Mp -= 100 * rnd.Next(90, 110) * 0.01;
                                                       pcdelay += 5;
                                                       opposite.Swore += 5;
                                                       break;
                                                    case "9": state23.carrier(); youplayer.Attack += 200 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 200 * rnd.Next(90, 110) * 0.01; break;
                                                    case "10": state23.frozen(); youplayer.Attack *= 1.1 * rnd.Next(90, 110) * 0.01; opposite.Attack = 0; opposite.Defence = 0; youplayer.Mp -= 150 * rnd.Next(90, 110) * 0.01; break;
                                                    case "11": state23.enigineer(); youplayer.Hp *= 1.1; youplayer.Mp *= 1.01 * rnd.Next(90, 110) * 0.01; break;
                                                    case "12": state23.futuretank(); youplayer.Attack += 300 * rnd.Next(90, 110) * 0.01; youplayer.Mp -= 300 * rnd.Next(90, 110) * 0.01; break;
                                                    default: Console.WriteLine("您没有发动任何技能!"); break;
                                                }
                    }
                }
                    damage = youplayer.Attack - opposite.Defence;
                    if (damage < 0)
                    { damage = 0; }
                    if (youplayer.Mp < 0)
                    { youplayer.Mp = 0; }
                    opposite.Hp = opposite.Hp - damage;
                    if (opposite.Hp <= 0)
                    { opposite.Hp = 0; }
      
                    Console.WriteLine("【玩家】对【电脑】造成了{0}点【伤害】,【玩家】还剩下{1}点【硬实力】和{2}点【软实力】,【电脑】还剩下{3}点【硬实力】和{4}点【软实力】",(int)damage,(int)youplayer.Hp ,(int)youplayer.Mp , (int)opposite.Hp,(int)opposite.Mp);
                }
                else
                {
                    Console.WriteLine("玩家停止一个回合");
                    playerdelay--;
               }
                Console.WriteLine("请按任何键继续!");
                Console.ReadKey();
                    //裁判电脑死亡或者升级
                
                if(opposite.Hp<=0||opposite.Mp<=0||opposite.Swore>=100)
                {
                    generationpc++;//先升级后判断升级到了4级就是死亡
                //分三种情况判断游戏
                    if (generationpc == 2)
                    {
                        Console.WriteLine("*****敌人被迫升到2级,来找你复仇,开启红色警戒!***");
                        if (selectstate == 1)
                        {
                            opposite.Attack = state22.Attack;
                            opposite.Defence = state22.Defence;
                            opposite.Hp= state22.Hp;
                            opposite.Mp = state22.Mp;
                            opposite.Swore = 0;
                            pcdelay = 0;
                        }
                        else
                        {
                            opposite.Attack = state12.Attack;
                            opposite.Defence = state12.Defence;
                            opposite.Hp = state12.Hp;
                            opposite.Mp = state12.Mp;
                            opposite.Swore = 0;
                            pcdelay = 0;
                        }
                    }
                    else if(generationpc==3)
                    {
                        Console.WriteLine("*****敌人被迫升到3级,来找你复仇,开启红色警戒*****!");
                        if (selectstate == 1)
                        {
                            opposite.Attack = state23.Attack;
                            opposite.Defence = state23.Defence;
                            opposite.Hp = state23.Hp;
                            opposite.Mp = state23.Mp;
                            opposite.Swore = 0;
                            pcdelay = 0;
                        }
                        else
                        {
                            opposite.Attack = state13.Attack;
                            opposite.Defence = state13.Defence;
                            opposite.Hp = state13.Hp;
                            opposite.Mp = state13.Mp;
                            opposite.Swore = 0;
                            pcdelay = 0;
                        }
                    }
                    else if(generationpc==4)
                    {
                        if (selectstate == 1)
                        { Console.WriteLine("恭喜您获胜了!打倒【民主自由世界】,【苏维埃共产主义】万岁!"); break; }
                        else if(selectstate==2)
                        { Console.WriteLine("恭喜您获胜了!打倒【苏维埃共产主义】,【民主自由世界】万岁!"); break; }
                     
                    }
                }
                //随机事件增加变数
                Console.WriteLine("【历史事件】");
                incidentsrnd = rnd.Next(1, 8);
                   switch(incidentsrnd)
                   {
                       case 1: incidents.redrevolution(); youplayer.Hp -= 197.6; youplayer.Mp -= 196.6; opposite.Hp -= 197.6; opposite.Mp -= 196.6; break;
                       case 2: incidents.cubecrisis(); nuclearrnd =rnd.Next(121, 151) ; break;
                       case 3: incidents.yurirevenge();
                            if (selectstate == 1)
                           {
                               youplayer.Hp += opposite.Mp * 0.09;
                               opposite.Mp *= 0.9; }
                           else
                           {
                               opposite.Hp += youplayer.Mp * 0.09;
                               youplayer.Mp*= 0.9; }
                           break;
                       case 4: incidents.berlinwall();
                           if (selectstate == 1)
                           { youplayer.Defence *= 1.2 * rnd.Next(90, 110) * 0.01;
                           ironcurtonrnd +=5;
                           }
                           else
                           { opposite.Defence *= 1.2 * rnd.Next(90, 110) * 0.01;
                           ironcurtonrnd += 5;
                           }
                           break;
                       case 5: incidents.chao819();
                           if (selectstate == 1)
                           {
                           youplayer.Attack *= 0.819*rnd.Next(90,110)*0.01;
                           youplayer.Defence *= 0.819 * rnd.Next(90, 110) * 0.01;
                        
                           }
                           else
                           {
                               opposite.Attack *= 0.819 * rnd.Next(90, 110) * 0.01;
                               opposite.Defence *= 0.819 * rnd.Next(90, 110) * 0.01;
                           }
                           break;
                       case 6: incidents.connectunion();
                           if(selectstate==1)
                           {
                               youplayer.Attack *= 1.1;
                               youplayer.Defence*= 1.1;
                               opposite.Hp *= 1.05;
                               opposite.Mp *= 1.05;
                           }
                           else
                           {
                               opposite.Attack *= 1.1;
                               opposite.Defence *= 1.1;
                               youplayer.Hp *= 1.05;
                               youplayer.Mp *= 1.05;
                           }
                         
                           break;
                       case 7: incidents.spacewar();
                           if (selectstate == 2)
                           {
                               youplayer.Attack = state23.Attack;
                               youplayer.Defence = state23.Defence;
                               youplayer.Hp += (state21.Hp+state22.Hp+state23.Hp-youplayer.Hp)*0.04;
                               youplayer.Mp += (state21.Mp + state22.Mp + state23.Mp - youplayer.Mp) * 0.04;
                           }
                           else
                           {
                               opposite.Attack = state23.Attack;
                               opposite.Defence = state23.Defence;
                               opposite.Hp += (state21.Hp + state22.Hp + state23.Hp - opposite.Hp) * 0.04;
                               opposite.Mp += (state21.Mp + state22.Mp + state23.Mp - opposite.Mp) * 0.04;
                           }
                           break;
                   }
                   Console.WriteLine("玩家还剩下{0}点【硬实力】和{1}点【软实力】,电脑还剩下{2}点【硬实力】和{3}点【软实力】",  (int)youplayer.Hp, (int)youplayer.Mp, (int)opposite.Hp, (int)opposite.Mp);
                   Console.WriteLine("请按任意键继续!");
                   Console.ReadKey();
                   Console.Clear();
                   Console.WriteLine("第{0}回合", i);
                   //玩家攻击电脑(只有技能攻击)
                   round1 = rnd.Next(0, 101);
                   round2 = rnd.Next(0, 101);
                   round3 = rnd.Next(0, 101);
                   if (round3 > round1 && round3 < round2 || round3 > round2 && round3 < round1||pcdelay>0)
                   {
                       //玩家选择【苏联】,就是电脑选择【美国】
                       //玩家选择【美国】,就是电脑选择【苏联】
                       if (generationpc == 1 && selectstate == 2)
                       {
                           Console.WriteLine("电脑选择技能:");
                           selectsovietskill1(state11);
                           skillrnd = rnd.Next(0, 2);
                           if (skillrnd == 0)
                           {    
                               opposite.Attack = state11.Attack;
                               opposite.Defence = state11.Defence;
                           }
                           Console.WriteLine("请按任意键结束");
                           Console.ReadKey();

                       }
                       else if (generationpc == 2 && selectstate == 2)
                       {
                           Console.WriteLine("电脑选择技能:");
                           selectsovietskill2(state12);
                           skillrnd = rnd.Next(0, 2);
                           if (skillrnd == 0)
                           {
                               opposite.Attack = state12.Attack;
                               opposite.Defence = state12.Defence;
                           }
                           Console.WriteLine("请按任意键结束");
                           Console.ReadKey();
                       }
                       else if (generationpc == 3 && selectstate == 2)
                       {
                           Console.WriteLine("电脑选择技能:");
                           selectsovietskill3(state13);
                           skillrnd = rnd.Next(0, 2);
                           if (skillrnd == 0)
                           {
                               opposite.Attack = state13.Attack;
                               opposite.Defence = state13.Defence;
                           }
                           Console.WriteLine("请按任意键结束");
                           Console.ReadKey();
                       }
                       else if (generationpc == 1 && selectstate == 1)
                       {
                           Console.WriteLine("电脑选择技能:");
                           selectusaskill1(state21);
                           skillrnd = rnd.Next(0, 2);
                           if (skillrnd == 0)
                           {
                               opposite.Attack = state21.Attack;
                               opposite.Defence = state21.Defence;
                           }
                           Console.WriteLine("电脑选择技能:");
                           Console.ReadKey();
                       }
                       else if (generationpc == 2 && selectstate == 1)
                       {
                           Console.WriteLine("电脑选择技能:");
                           selectusaskill2(state22);
                           skillrnd = rnd.Next(0, 2);
                           if (skillrnd == 0)
                           {
                               opposite.Attack = state22.Attack;
                               opposite.Defence = state22.Defence;
                           }
                           Console.WriteLine("请按任意键结束");
                           Console.ReadKey();
                       }
                       else if (generationpc == 3 && selectstate == 1)
                       {
                           Console.WriteLine("电脑选择技能:");
                           selectusaskill3(state23);
                           skillrnd = rnd.Next(0, 2);
                           if (skillrnd == 0)
                           {
                               opposite.Attack = state23.Attack;
                               opposite.Defence = state23.Defence;
                           }
                           Console.WriteLine("请按任意键结束");
                           Console.ReadKey();
                       }

                       int pcselectskill;
                    
                           if (generationpc == 1 && selectstate == 2)
                           {
                               pcselectskill = rnd.Next(1,8);
                               switch (pcselectskill)
                               {
                                   case 1: 
                                       state11.constript(); 
                                       opposite.Attack += 10 * rnd.Next(90, 110) * 0.01;
                                       break;
                                   case 2: state11.telse(); opposite.Attack += 150 * rnd.Next(90, 110) * 0.01; opposite.Mp -= 150 * rnd.Next(90, 110) * 0.01; break;
                                   case 3: state11.aptank(); opposite.Attack += 175 * rnd.Next(90, 110) * 0.01; opposite.Mp -= 175 * rnd.Next(90, 110) * 0.01; break;
                                   case 4: state11.mig(); opposite.Attack += 120 * rnd.Next(90, 110) * 0.01; opposite.Mp -= 120 * rnd.Next(90, 110) * 0.01; break;
                                   case 5: state11.akula(); opposite.Attack += 100 * rnd.Next(90, 110) * 0.01; opposite.Mp -= 100 * rnd.Next(90, 110) * 0.01; break;
                                   case 6: state11.atomicbomb(); opposite.Attack *= 2 * rnd.Next(90, 110) * 0.01 * nuclearrnd * 0.01; opposite.Mp -= 500 * rnd.Next(90, 110) * 0.01; break;
                                   case 7: 
                                       state11.ironcurton(); 
                                       opposite.Defence *= 2 * rnd.Next(90, 110) * 0.01 * ironcurtonrnd  * 0.01; 
                                       opposite.Mp -= 500 * rnd.Next(90, 110) * 0.01; break;
                               }
                           }
                           else if (generationpc == 2 && selectstate == 2)
                           {
                               pcselectskill = rnd.Next(1, 11);
                               switch (pcselectskill)
                               {
                                   case 1: 
                                       state12.constript(); 
                                       opposite.Attack += 20 * rnd.Next(90, 110) * 0.01; 
                                       break;
                                   case 2: state12.telse(); opposite.Attack += 200 * rnd.Next(90, 110) * 0.01; opposite.Mp -= 110 * rnd.Next(90, 110) * 0.01; break;
                                   case 3: state12.aptank(); opposite.Attack += 350 * rnd.Next(90, 110) * 0.01; opposite.Mp -= 165 * rnd.Next(90, 110) * 0.01; break;
                                   case 4: state12.mig(); opposite.Attack += 150 * rnd.Next(90, 110) * 0.01; opposite.Mp -= 100 * rnd.Next(90, 110) * 0.01; break;
                                   case 5: state12.akula(); opposite.Attack += 150 * rnd.Next(90, 110) * 0.01; opposite.Mp -= 80 * rnd.Next(90, 110) * 0.01; break;
                                   case 6: state12.atomicbomb(); opposite.Attack *= 2.5 * rnd.Next(90, 110) * 0.01 * nuclearrnd * 0.01; opposite.Mp -= 800 * rnd.Next(90, 110) * 0.01; break;
                                   case 7: 
                                       state12.ironcurton();
                                       opposite.Defence *= 2 * rnd.Next(90, 110) * 0.01*ironcurtonrnd*0.01;
                                       opposite.Mp -= 250 * rnd.Next(90, 110) * 0.01; break;
                                   case 8:
                                       state12.youri();
                                       opposite.Hp += youplayer.Hp * 0.1 * rnd.Next(90, 110) * 0.01 + youplayer.Mp * 0.1 * rnd.Next(90, 110) * 0.01;
                                       opposite.Mp -= 120 * rnd.Next(90, 110) * 0.01;
                                       youplayer.Hp *= 0.9 * rnd.Next(90, 110) * 0.01;
                                       youplayer.Mp *= 0.9 * rnd.Next(90, 110) * 0.01;
                                       youplayer.Swore += 10;
                                       break;
                                   case 9: state12.kirov(); opposite.Attack = opposite.Attack * 1.5 * rnd.Next(90, 110) * 0.01 + opposite.Hp * 0.1 * rnd.Next(90, 110) * 0.01; opposite.Hp *= 0.9 * rnd.Next(90, 110) * 0.01; opposite.Mp -= 200 * rnd.Next(90, 110) * 0.01; break;
                                   case 10: state12.nofair(); opposite.Attack *= 1.4 * rnd.Next(90, 110) * 0.01; opposite.Mp -= 200 * rnd.Next(90, 110) * 0.01; break;
                 
                               }
                           }
                           else if (generationpc == 3 && selectstate == 2)
                           {
                               pcselectskill = rnd.Next(1, 14);
                               switch (pcselectskill)
                               {
                                   case 1: 
                                       state13.constript();
                                       opposite.Attack += 30 * rnd.Next(90, 110) * 0.01; 
                                       break;
                                   case 2: state13.telse(); opposite.Attack += 220 * rnd.Next(90, 110) * 0.01; opposite.Mp -= 90 * rnd.Next(90, 110) * 0.01; break;
                                   case 3: state13.aptank(); opposite.Defence += 175 * rnd.Next(90, 110) * 0.01; opposite.Hp *= 1.05 * rnd.Next(90, 110) * 0.01; opposite.Attack += 380 * rnd.Next(90, 110) * 0.01; opposite.Mp -= 150 * rnd.Next(90, 110) * 0.01; break;
                                   case 4: state13.mig(); opposite.Attack += 160 * rnd.Next(90, 110) * 0.01; opposite.Mp -= 90 * rnd.Next(90, 110) * 0.01; break;
                                   case 5: state13.akula(); 
                                       opposite.Attack += 160 * rnd.Next(90, 110) * 0.01; 
                                       opposite.Mp -= 70 * rnd.Next(90, 110) * 0.01; break;
                                   case 6: state13.atomicbomb(); 
                                     opposite.Attack *= 2.8 * rnd.Next(90, 110) * 0.01 * nuclearrnd * 0.01; 
                                     opposite.Mp -= 1000 * rnd.Next(90, 110) * 0.01; break;
                                   case 7: state13.ironcurton();
                                       opposite.Defence *= 2 * rnd.Next(90, 110) * 0.01 * ironcurtonrnd * 0.01; 
                                       break;
                                   case 8: state13.youri();
                                       opposite.Hp += youplayer.Hp * 0.2 * rnd.Next(90, 110) * 0.01 + youplayer.Mp * 0.2 * rnd.Next(90, 110) * 0.01; 
                                       opposite.Mp -= 140 * rnd.Next(90, 110) * 0.01; 
                                       youplayer.Hp *= 0.8 * rnd.Next(90, 110) * 0.01;
                                       youplayer.Mp *= 0.8 * rnd.Next(90, 110) * 0.01;
                                       youplayer.Swore += 15;
                                       break;
                                   case 9: state13.kirov();
                                       opposite.Attack = opposite.Attack * 1.8 * rnd.Next(90, 110) * 0.01 + opposite.Hp * 0.2 * rnd.Next(90, 110) * 0.01; 
                                      opposite.Hp *= 0.8 * rnd.Next(90, 110) * 0.01; 
                                      opposite.Mp -= 250 * rnd.Next(90, 110) * 0.01; break;
                                   case 10: state13.nofair();
                                      opposite.Attack *= 1.4 * rnd.Next(90, 110) * 0.01; 
                                      opposite.Mp -= 200 * rnd.Next(90, 110) * 0.01; break;
                                   case 11: state13.hammer(); 
                                      opposite.Attack += 90 * rnd.Next(90, 110) * 0.01; 
                                      opposite.Mp -= 90 * rnd.Next(90, 110) * 0.01; 
                                      opposite.Hp += 90 * rnd.Next(90, 110) * 0.01; break;
                                   case 12: state13.cutmachine(); 
                                     opposite.Attack -= 150 * rnd.Next(90, 110) * 0.01;
                                     opposite.Mp -= 150 * rnd.Next(90, 110) * 0.01; break;
                                   case 13: state13.spacearmy(); 
                                       opposite.Hp += 500 * rnd.Next(90, 110) * 0.01; 
                                      opposite.Mp += 500 * rnd.Next(90, 110) * 0.01; break;
                   
                               }


                           }
                           else if (generationpc == 1 && selectstate == 1)
                           {
                               pcselectskill = rnd.Next(1, 8);
                               switch (pcselectskill)
                               {
                                   case 1: state21.peacekeeper(); 
                                     opposite.Attack += 20 * rnd.Next(90, 110) * 0.01; 
                                     opposite.Mp -= 20 * rnd.Next(90, 110) * 0.01; break;
                                   case 2: state21.lightlight(); 
                                       opposite.Attack += 150 * rnd.Next(90, 110) * 0.01; 
                                       opposite.Mp -= 150 * rnd.Next(90, 110) * 0.01; break;
                                   case 3: state21.virtualtech(); 
                                       opposite.Attack += 50 * rnd.Next(90, 110) * 0.01; 
                                       opposite.Defence += 25 * rnd.Next(90, 110) * 0.01;
                                      opposite.Mp -= 120 * rnd.Next(90, 110) * 0.01; break;
                                   case 4: state21.Aairplane(); 
                                       opposite.Attack += 120 * rnd.Next(90, 110) * 0.01; 
                                      opposite.Mp -= 120 * rnd.Next(90, 110) * 0.01; break;
                                   case 5: state21.Zues();
                                       opposite.Attack += 120 * rnd.Next(90, 110) * 0.01; 
                                       opposite.Mp -= 120 * rnd.Next(90, 110) * 0.01; 
                                       opposite.Defence *= 1.05 * rnd.Next(90, 110) * 0.01; break;
                                   case 6: state21.lightenstorm(); 
                                       opposite.Attack *= 1.5 * rnd.Next(90, 110) * 0.01; 
                                       opposite.Mp -= 500 * rnd.Next(90, 110) * 0.01; break;
                                   case 7: state21.chromesphere(); 
                                       opposite.Attack *= 0.9 * rnd.Next(90, 110) * 0.01; 
                                      opposite.Defence *= 0.9 * rnd.Next(90, 110) * 0.01; 
                                      opposite.Mp -= 500 * rnd.Next(90, 110) * 0.01; break;
                             
                               }


                           }
                           else if (generationpc == 2 && selectstate == 1)
                           {
                               pcselectskill = rnd.Next(1, 11);
                               switch (pcselectskill)
                               {
                                   case 1: state22.peacekeeper(); 
                                   opposite.Attack += 30 * rnd.Next(90, 110) * 0.01; 
                                  opposite.Mp -= 30 * rnd.Next(90, 110) * 0.01; break;
                                   case 2: state22.lightlight();
                                    opposite.Attack += 250 * rnd.Next(90, 110) * 0.01; 
                                   opposite.Mp -= 180 * rnd.Next(90, 110) * 0.01; break;
                                   case 3: state22.virtualtech(); 
                                      opposite.Attack += 75 * rnd.Next(90, 110) * 0.01;
                                     opposite.Defence += 25 * rnd.Next(90, 110) * 0.01; 
                                    opposite.Mp -= 180 * rnd.Next(90, 110) * 0.01; break;
                                   case 4: state22.Aairplane();
                                      opposite.Attack += 140 * rnd.Next(90, 110) * 0.01; 
                                      opposite.Mp -= 140 * rnd.Next(90, 110) * 0.01; break;
                                   case 5: state22.Zues(); 
                                       opposite.Attack += 140 * rnd.Next(90, 110) * 0.01;
                                      opposite.Mp -= 140 * rnd.Next(90, 110) * 0.01; 
                                     opposite.Defence *= 1.15 * rnd.Next(90, 110) * 0.01; break;
                                   case 6: state22.lightenstorm(); 
                                     opposite.Attack *= 2 * rnd.Next(90, 110) * 0.01; 
                                     opposite.Mp -= 1000 * rnd.Next(90, 110) * 0.01; break;
                                   case 7: state22.chromesphere(); 
                                       opposite.Attack *= 0.85 * rnd.Next(90, 110) * 0.01; 
                                     opposite.Defence *= 0.85 * rnd.Next(90, 110) * 0.01; 
                                     opposite.Mp -= 1000 * rnd.Next(90, 110) * 0.01; break;
                                   case 8: state22.spy(); 
                                       youplayer.Attack = 0;
                                       youplayer.Defence = 0; 
                                       opposite.Mp -= 100 * rnd.Next(90, 110) * 0.01;
                                       playerdelay += 3;
                                       youplayer.Swore += 3;
                                       break;
                                   case 9: state22.carrier(); 
                                       opposite.Attack += 200 * rnd.Next(90, 110) * 0.01; 
                                      opposite.Mp -= 200 * rnd.Next(90, 110) * 0.01; break;
                                   case 10: state22.frozen(); 
                                       opposite.Attack *= 1.1 * rnd.Next(90, 110) * 0.01; 
                                      youplayer.Attack = 0; 
                                     youplayer.Defence = 0; 
                                    opposite.Mp -= 150 * rnd.Next(90, 110) * 0.01; break;
                           
                               }
                           }
                           else if (generationpc == 3 && selectstate == 1)
                           {
                               pcselectskill = rnd.Next(1, 13);
                               switch (pcselectskill)
                               {
                                   case 1: state23.peacekeeper();
                                       opposite.Attack += 30 * rnd.Next(90, 110) * 0.01;
                                       opposite.Mp -= 30 * rnd.Next(90, 110) * 0.01; break;
                                   case 2: state23.lightlight();
                                       opposite.Attack += 250 * rnd.Next(90, 110) * 0.01;
                                       opposite.Mp -= 180 * rnd.Next(90, 110) * 0.01; break;
                                   case 3: state23.virtualtech(); 
                                       opposite.Attack += 75 * rnd.Next(90, 110) * 0.01;
                                       opposite.Defence += 25 * rnd.Next(90, 110) * 0.01;
                                       opposite.Mp -= 180 * rnd.Next(90, 110) * 0.01; break;
                                   case 4: state23.Aairplane();
                                       opposite.Attack += 140 * rnd.Next(90, 110) * 0.01; 
                                       opposite.Mp -= 140 * rnd.Next(90, 110) * 0.01; break;
                                   case 5: state23.Zues(); 
                                       opposite.Attack += 140 * rnd.Next(90, 110) * 0.01;
                                       opposite.Mp -= 140 * rnd.Next(90, 110) * 0.01; 
                                       opposite.Defence *= 1.15 * rnd.Next(90, 110) * 0.01; break;
                                   case 6: state23.lightenstorm();
                                       opposite.Attack *= 2 * rnd.Next(90, 110) * 0.01;
                                      opposite.Mp -= 1000 * rnd.Next(90, 110) * 0.01; break;
                                   case 7: state23.chromesphere(); 
                                       opposite.Attack *= 0.85 * rnd.Next(90, 110) * 0.01;
                                       opposite.Defence *= 0.85 * rnd.Next(90, 110) * 0.01; 
                                      opposite.Mp -= 1000 * rnd.Next(90, 110) * 0.01; break;
                                   case 8: state23.spy(); 
                                       youplayer.Attack = 0; 
                                       youplayer.Defence = 0; 
                                      opposite.Mp -= 100 * rnd.Next(90, 110) * 0.01;
                                      playerdelay += 5;
                                      youplayer.Swore += 5;
                                      break;
                                   case 9: state23.carrier(); 
                                      opposite.Attack += 200 * rnd.Next(90, 110) * 0.01;
                                      opposite.Mp -= 200 * rnd.Next(90, 110) * 0.01; break;
                                   case 10: state23.frozen();
                                       opposite.Attack *= 1.1 * rnd.Next(90, 110) * 0.01;
                                       youplayer.Attack = 0; 
                                       youplayer.Defence = 0;
                                       opposite.Mp -= 150 * rnd.Next(90, 110) * 0.01; break;
                                   case 11: state23.enigineer(); 
                                      opposite.Hp *= 1.1; 
                                      opposite.Mp *= 1.01 * rnd.Next(90, 110) * 0.01; break;
                                   case 12: state23.futuretank();
                                      opposite.Attack += 300 * rnd.Next(90, 110) * 0.01;
                                      opposite.Mp -= 300 * rnd.Next(90, 110) * 0.01; break;
                          
                               }
                           }
                    
                       damage = opposite.Attack - youplayer.Defence;
                       if (damage < 0)
                       { damage = 0; }
                       if ( opposite.Mp < 0)
                       { opposite.Mp = 0; }
                       youplayer.Hp = youplayer.Hp - damage;
                       if (youplayer.Hp <= 0)
                       { youplayer.Hp = 0; }

                       Console.WriteLine("【电脑】对【玩家】造成了{0}点【伤害】,【玩家】还剩下{1}点【硬实力】和{2}点【软实力】,【电脑】还剩下{3}点【硬实力】和{4}点【软实力】", (int)damage, (int)youplayer.Hp, (int)youplayer.Mp, (int)opposite.Hp, (int)opposite.Mp);
                   }
                   else
                   {
                       Console.WriteLine("电脑停止一个回合");
                       pcdelay--;
                   }
                   Console.WriteLine("请按任何键继续!");
                   Console.ReadKey();
                   //裁判电脑死亡或者升级

                   if (youplayer.Hp<=0||youplayer.Mp<=0||youplayer.Swore>=100)
                   {
                       generationplayer++;//先升级后判断升级到了4级就是死亡
                       //分三种情况判断游戏
                       if (generationplayer == 2)
                       {
                           Console.WriteLine("*****玩家被迫升到2级!*****");
                           if (selectstate == 1)
                           {
                               youplayer.Attack = state12.Attack;
                               youplayer.Defence = state12.Defence;
                               youplayer.Hp = state12.Hp;
                               youplayer.Mp = state12.Mp;
                               youplayer.Swore = 0;
                               playerdelay = 0;
                           }
                           else
                           {
                               youplayer.Attack = state22.Attack;
                               youplayer.Defence = state22.Defence;
                               youplayer.Hp = state22.Hp;
                               youplayer.Mp = state22.Mp;
                               youplayer.Swore = 0;
                               playerdelay = 0;
                           }
                       }
                       else if (generationplayer == 3)
                       {
                           Console.WriteLine("*****玩家被迫升到3级!*****");
                           if (selectstate == 1)
                           {
                               youplayer.Attack = state13.Attack;
                               youplayer.Defence = state13.Defence;
                               youplayer.Hp = state13.Hp;
                               youplayer.Mp = state13.Mp;
                               youplayer.Swore = 0;
                               playerdelay = 0;
                           }
                           else
                           {
                               youplayer.Attack = state23.Attack;
                               youplayer.Defence = state23.Defence;
                               youplayer.Hp = state23.Hp;
                               youplayer.Mp = state23.Mp;
                               youplayer.Swore = 0;
                               playerdelay = 0;
                           }
                       }
                       else if (generationplayer == 4)
                       {
                           if (selectstate == 2)
                           { Console.WriteLine("您战败了!【民主自由世界】不复存在!"); break; }
                           else if (selectstate == 1)
                           { Console.WriteLine("您战败了!【苏维埃共产主义】不复存在 !"); break; }

                       }
                   }
                   //随机事件增加变数
                   Console.WriteLine("【历史事件】");
                   incidentsrnd = rnd.Next(1, 8);
                   switch (incidentsrnd)
                   {
                       case 1: incidents.redrevolution(); youplayer.Hp -= 197.6; youplayer.Mp -= 196.6; opposite.Hp -= 197.6; opposite.Mp -= 196.6; break;
                       case 2: incidents.cubecrisis(); nuclearrnd = rnd.Next(121, 151); break;
                       case 3: incidents.yurirevenge();
                           if (selectstate == 1)
                           {
                               youplayer.Hp += opposite.Mp * 0.09;
                               opposite.Mp *= 0.9; }
                           else
                           {
                               opposite.Hp += youplayer.Mp * 0.09;
                               youplayer.Mp*= 0.9; }
                           break;
                       case 4: incidents.berlinwall();
                           if (selectstate == 1)
                           {
                               youplayer.Defence *= 1.2 * rnd.Next(90, 110) * 0.01;
                               ironcurtonrnd += 5;
                           }
                           else
                           {
                               opposite.Defence *= 1.2 * rnd.Next(90, 110) * 0.01;
                               ironcurtonrnd += 5;
                           }
                           break;
                       case 5: incidents.chao819();
                           if (selectstate == 2)
                           {
                               opposite.Attack *= 0.819 * rnd.Next(90, 110) * 0.01;
                               opposite.Defence *= 0.819 * rnd.Next(90, 110) * 0.01;
                           }
                           else
                           {
                               youplayer.Attack *= 0.819 * rnd.Next(90, 110) * 0.01;
                               youplayer.Defence *= 0.819 * rnd.Next(90, 110) * 0.01;
                              
                           }
                           break;
                       case 6: incidents.connectunion();
                           if (selectstate == 1)
                           {
                               youplayer.Attack *= 1.1;
                               youplayer.Defence *= 1.1;
                               opposite.Hp *= 1.05;
                               opposite.Mp *= 1.05;
                           }
                           else
                           {
                               opposite.Attack *= 1.1;
                               opposite.Defence *= 1.1;
                               youplayer.Hp *= 1.05;
                               youplayer.Mp *= 1.05;
                           }
                           break;
                       case 7: incidents.spacewar();
                           if (selectstate == 2)
                           {
                               youplayer.Attack = state23.Attack;
                               youplayer.Defence = state23.Defence;
                               youplayer.Hp += (state21.Hp+state22.Hp+state23.Hp-youplayer.Hp)*0.04;
                               youplayer.Mp += (state21.Mp + state22.Mp + state23.Mp - youplayer.Mp) * 0.04;
                           }
                           else
                           {
                               opposite.Attack = state23.Attack;
                               opposite.Defence = state23.Defence;
                               opposite.Hp += (state21.Hp + state22.Hp + state23.Hp - opposite.Hp) * 0.04;
                               opposite.Mp += (state21.Mp + state22.Mp + state23.Mp - opposite.Mp) * 0.04;
                           }
                           break;
                   }
                   Console.WriteLine("玩家还剩下{0}点【硬实力】和{1}点【软实力】,电脑还剩下{2}点【硬实力】和{3}点【软实力】", (int)youplayer.Hp, (int)youplayer.Mp, (int)opposite.Hp, (int)opposite.Mp);
                   Console.WriteLine("请按任意键继续!");
                   Console.ReadKey();
            }
        }
        /// <summary>
        /// 这里有一个选择技能的函数(苏联第一代)
        /// </summary>
        public static void selectsovietskill1(sovietgeneration1 state11)
        {
                    Console.Write("技能1:");
                  state11.constript();
                  Console.Write("技能2:");
                   state11.telse();
                   Console.Write("技能3:");
                   state11.aptank();
                   Console.Write("技能4:");
                   state11.mig();
                   Console.Write("技能5:");
                   state11.akula();
                   Console.Write("技能6:");
                   state11.atomicbomb();
                   Console.Write("技能7:");
                   state11.ironcurton();
        }
        /// <summary>
        /// 这里有一个选择技能的函数(苏联第二代)
        /// </summary>
        public static void selectsovietskill2(soveitgeneration2 state12)
        {
            Console.Write("技能1:");
            state12.constript();
            Console.Write("技能2:");
            state12.telse();
            Console.Write("技能3:");
            state12.aptank();
            Console.Write("技能4:");
            state12.mig();
            Console.Write("技能5:");
            state12.akula();
            Console.Write("技能6:");
            state12.atomicbomb();
            Console.Write("技能7:");
            state12.ironcurton();
            Console.Write("技能8:");
            state12.youri();
            Console.Write("技能9:");
            state12.kirov();
            Console.Write("技能10:");
            state12.nofair();
        }

        /// <summary>
        /// 这里有一个选择技能的函数(苏联第三代)
        /// </summary>
        public static void selectsovietskill3(soveitgeneration3 state13)
        {
            Console.Write("技能1:");
            state13.constript();
            Console.Write("技能2:");
            state13.telse();
            Console.Write("技能3:");
            state13.aptank();
            Console.Write("技能4:");
            state13.mig();
            Console.Write("技能5:");
            state13.akula();
            Console.Write("技能6:");
            state13.atomicbomb();
            Console.Write("技能7:");
            state13.ironcurton();
            Console.Write("技能8:");
            state13.youri();
            Console.Write("技能9:");
            state13.kirov();
            Console.Write("技能10:");
            state13.nofair();
            Console.Write("技能11:");
            state13.hammer();
            Console.Write("技能12:");
            state13.cutmachine();
            Console.Write("技能13:");
            state13.spacearmy();
        }
        /// <summary>
        /// 这里有一个选择技能的函数(美国第一代)
        /// </summary>
        public static void selectusaskill1(USAgeneration1 state21)
        {
            Console.Write("技能1:");
            state21.peacekeeper();
            Console.Write("技能2:");
            state21.lightlight();
            Console.Write("技能3:");
            state21.virtualtech();
            Console.Write("技能4:");
            state21.Aairplane();
            Console.Write("技能5:");
            state21.Zues();
            Console.Write("技能6:");
            state21.lightenstorm();
            Console.Write("技能7:");
            state21.chromesphere();
        }

        /// <summary>
        /// 这里有一个选择技能的函数(美国第二代)
        /// </summary>
        public static void selectusaskill2(USAgeneration2 state22)
        {
            Console.Write("技能1:");
            state22.peacekeeper();
            Console.Write("技能2:");
            state22.lightlight();
            Console.Write("技能3:");
            state22.virtualtech();
            Console.Write("技能4:");
            state22.Aairplane();
            Console.Write("技能5:");
            state22.Zues();
            Console.Write("技能6:");
            state22.lightenstorm();
            Console.Write("技能7:");
            state22.chromesphere();
            Console.Write("技能8:");
            state22.spy();
            Console.Write("技能9:");
            state22.carrier();
            Console.Write("技能10:");
            state22.frozen();
        }

        /// <summary>
        /// 这里有一个选择技能的函数(美国第三代)
        /// </summary>
        public static void selectusaskill3(USAgeneration3 state23)
        {
            Console.Write("技能1:");
            state23.peacekeeper();
            Console.Write("技能2:");
            state23.lightlight();
            Console.Write("技能3:");
            state23.virtualtech();
            Console.Write("技能4:");
            state23.Aairplane();
            Console.Write("技能5:");
            state23.Zues();
            Console.Write("技能6:");
            state23.lightenstorm();
            Console.Write("技能7:");
            state23.chromesphere();
            Console.Write("技能8:");
            state23.spy();
            Console.Write("技能9:");
            state23.carrier();
            Console.Write("技能10:");
            state23.frozen();
            Console.Write("技能11:");
            state23.enigineer();
            Console.Write("技能12:");
            state23.futuretank();
        }
        /// <summary>
        /// 这里是选择基本技能
        /// </summary>
        /// <param name="basicstate"></param>
    
        public static void basicskill (state basicstate)
    {
        Console.WriteLine("技能1:");
        basicstate.loveconutry();
        Console.WriteLine("技能2:");
        basicstate.powerfularmy();
        Console.WriteLine("技能3:");
        basicstate.constitution();
        Console.WriteLine("技能4:");
        basicstate.financial();
    }


    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace redalert
{
    //关于国家的类
    class state
    {
        public state()
        { 
        
        }
     static   Random rnd = new Random();
        private string _name;

        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
        private string _introduction;

        public string Introduction
        {
            get { return _introduction; }
            set { _introduction = value; }
        }
        private double _attack=100*rnd.Next(95,105)*0.01;

        public double Attack
        {
            get { return _attack; }
            set { _attack = value; }
        }
        private double _defence=50*rnd.Next(95,105)*0.01;

        public double Defence
        {
            get { return _defence; }
            set { _defence = value; }
        }
        private double _hp=1000*rnd.Next(95,105)*0.01;

        public double Hp
        {
            get { return _hp; }
            set { _hp = value; }
        }
        private double _mp=1000*rnd.Next(95,105)*0.01;

        public double Mp
        {
            get { return _mp; }
            set { _mp = value; }
        }
        /// <summary>
        /// 爱国精神
        /// </summary>
        public void loveconutry()
        {
            Console.WriteLine("【爱国精神】可以提升军队和人民支持度");
        }
        /// <summary>
        /// 宪法
        /// </summary>
        public void constitution()
        {
            Console.WriteLine("【国家宪法】是保障国家长治久安的精神内涵");
        }
        /// <summary>
        /// 经济动员
        /// </summary>
        public void financial()
        {
            Console.WriteLine("【经济动员】是国家物质力量的保障");
        }
        /// <summary>
        /// 扩军备战
        /// </summary>
        public void powerfularmy()
        {
            Console.WriteLine("【军事力量】是国家的免于暴力的反制力量,也叫做国防力量");
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace redalert
{
    class sovietgeneration1:state
    {
        public sovietgeneration1()
        {
            Random rnd = new Random();
            base.Name="苏维埃社会主义共和国联盟(第一代)";
            base.Introduction="苏联是人类历史第一个按照马克思主义建立的社会主义国家。它的缔造者是苏联共产党领袖列宁,但是他的继承者斯大林领导苏联走向强大和集权,终于在红色警戒的时空里宣布红色革命的侵略行为开始";
            base.Hp += 1200*rnd.Next(95,105)*0.01;
            base.Mp += 1000 * rnd.Next(95, 105) * 0.01;
            base.Attack += 100 * rnd.Next(95, 105) * 0.01;
            base.Defence+= 10 * rnd.Next(95, 105) * 0.01;
        }
        public virtual void atomicbomb()
        {
         Console.WriteLine("【核武器】是苏联首先发明出来的,也是苏联人军事力量的象征和骄傲!");
        }
        public virtual void ironcurton()
        {
            Console.WriteLine("【铁幕装置】利用相位技术使得载具具有短时间内无敌的效果");
        }
        public double ironcurton1(double attackerattack)
        {
            attackerattack = attackerattack + 10;
            return attackerattack;
        }
        public double ironcurton2(double attackermp)
        {
            attackermp = attackermp - 10;
            return attackermp;
        }
        public virtual void aptank()
        {
            Console.WriteLine("【天启坦克】是乌拉尔国家实验室和库尔斯克兵工厂研发的拥有口径为127mm的双管巨炮的超级坦克");
        }
        public virtual void telse()
        {
            Console.WriteLine("【特斯拉技术】产生了磁暴步兵磁暴坦克还有磁暴塔");
        }
        public virtual void mig()
        {
            Console.WriteLine("【米格战斗机】是强力的空中武器");
        }
        public virtual void akula()
        {
            Console.WriteLine("【台风级阿库拉核动力潜艇】是海中的恐怖的杀手");
        }
        public virtual void constript()
        {
            Console.WriteLine("【动员兵】就是当炮灰也要拿着莫洛托夫鸡尾酒的爱国士兵");
        }
        /// <summary>
        /// 国家军事力量的显示
        /// </summary>
        public virtual void statearmy()
        {
            
            Console.WriteLine("国家名称:"+this.Name);
            Console.WriteLine("国家介绍:" +this.Introduction);
            Console.WriteLine("攻击力:" + this.Attack);
            Console.WriteLine("防御力:" + this.Defence);
            Console.WriteLine("硬实力:" + this.Hp);
            Console.WriteLine("软实力:" + this.Mp);
            Console.WriteLine("国家技能介绍:");
            base.loveconutry();
            base.constitution();
            base.financial();
            base.powerfularmy();
            this.constript();
            this.telse();
            this.aptank();
            this.mig();
            this.akula();
            this.atomicbomb();
            this.ironcurton();
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace redalert
{
    class soveitgeneration2:sovietgeneration1
    {
        public soveitgeneration2():base()
        {
            Random rnd = new Random();
            base.Name = "苏维埃社会主义共和国联盟(第二代)";
            base.Introduction = "苏联在第一次红色战争战败后,逐渐走向衰败。美国扶植诺玛罗夫作为他们的傀儡,但是这个英雄般的人物又重新将苏联戴上了富强之路,仅仅在他开启复仇之战并取得胜利的后几年中,国内外的局势变化也深刻改变着历史";
            base.Hp += 2000 * rnd.Next(95, 105) * 0.01;
            base.Mp += 1500 * rnd.Next(95, 105) * 0.01;
            base.Attack += 200 * rnd.Next(95, 105) * 0.01;
            base.Defence += 80 * rnd.Next(95, 105) * 0.01;
        }
        public override  void atomicbomb()
        {
            Console.WriteLine("【核武器】分为了战术性的核子加农炮和战略性洲际导弹!");
        }
        public override void ironcurton()
        {
            Console.WriteLine("【铁幕装置】作用范围更广作用时间更长");
        }
        public override void aptank()
        {
            Console.WriteLine("【天启坦克】增加了防空的功能");
        }
        public override void telse()
        {
            Console.WriteLine("【特斯拉技术】有所提升。攻击性提升,可以充能磁力发电站");
        }
        public override void mig()
        {
            Console.WriteLine("【米格战斗机】是强力的空中武器,并且可以被鲍里斯呼叫");
        }
        public override void akula()
        {
            Console.WriteLine("【台风级阿库拉核动力潜艇】可以隐形了");
        }
        public override void constript()
        {
            Console.WriteLine("【动员兵】可以驻扎碉堡");
        }
        //新的内容
        public virtual void youri()
        {
            Console.WriteLine("【心灵部队】可以控制人的心灵,造成敌人反戈");
        }
        public virtual void kirov()
        {
            Console.WriteLine("【基洛夫飞艇】可以投下毁灭性极强的炸弹");
        }
        public virtual void nofair()
        {
            Console.WriteLine("【无畏级战舰】是海面上强劲的战略意义上的舰艇");
        }
        //显示
        public override void statearmy()
        {
            base.statearmy();
            this.youri();
            this.kirov();
            this.nofair();
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace redalert
{
    class soveitgeneration3:soveitgeneration2
    {
        /// <summary>
        /// 在这里苏联已经升级到最高一级,属性提升了!
        /// </summary>
          public soveitgeneration3():base()
        {
            Random rnd = new Random();
            base.Name = "苏维埃社会主义共和国联盟(第三代)";
            base.Introduction = "苏联在第二次红色战争末期,进行了一项关于时间机器的秘密实验,这场实验的主导者科学家塞林斯基通过抹除爱因斯坦,使得苏联再度回光返照。查丹科总理领导苏联重新回到荣耀的战场!";
            base.Hp += 2300 * rnd.Next(95, 105) * 0.01;
            base.Mp += 1800 * rnd.Next(95, 105) * 0.01;
            base.Attack += 300 * rnd.Next(95, 105) * 0.01;
            base.Defence += 150 * rnd.Next(95, 105) * 0.01;
        }
          public override void atomicbomb()
          {
              Console.WriteLine("【核武器】安装了真空内爆弹,威力更加强大!");
          }
          public override void ironcurton()
          {
              Console.WriteLine("【铁幕装置】可以批量设置");
          }
          public override void aptank()
          {
              Console.WriteLine("【天启坦克】增加了磁暴刀叉吸收和粉碎功能");
          }
          public override void telse()
          {
              Console.WriteLine("【特斯拉技术】有所提升。攻击性磁暴部队安装EMP干扰设备");
          }
          public override void mig()
          {
              Console.WriteLine("【米格战斗机】是强力的空中武器,并且可以被娜塔莎呼叫");
          }
          public override void akula()
          {
              Console.WriteLine("【台风级阿库拉核动力潜艇】增加了射程和炮弹数量");
          }
          public override void constript()
          {
              Console.WriteLine("【动员兵】可以驻扎碉堡,额外增加冲锋功能");
          }
          public override void youri()
          {
              Console.WriteLine("【心灵部队】也可以控制载具和建筑了");
          }
        /// <summary>
        /// 这里讲述的是苏联的超级武器基洛夫飞艇
        /// </summary>
          public override void kirov()
          {
              Console.WriteLine("【基洛夫飞艇】可以通过氢和氦合并,提升了移动速度和爆炸强度");
          }
          public override void nofair()
          {
              Console.WriteLine("【无畏级战舰】是海面上强劲的战略意义上的舰艇,多增加的弹头和威力,并且可以派遣米24双刃直升机");
          }
        //新的内容
          public void hammer()
          {
              Console.WriteLine("【铁锤坦克】和【镰刀机甲】因为产量惊人在战场成名!");
          }
        public void  cutmachine()
       {
           Console.WriteLine("【收割机甲】是优秀的、多功能的、攻防兼备的武器");
        }
        public void spacearmy()
        {
            Console.WriteLine("自从苏联第一次代表人类踏上月球表面后,然后高速发展出来的【太空军队】的存在让苏联在战场又有了多一个维度的优势");
        }
          //显示
          public override void statearmy()
          {
              base.statearmy();
              this.hammer();
              this.cutmachine();
              this.spacearmy();
          }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace redalert
{
    class USAgeneration1:state
    {
        public USAgeneration1()
        {
            Random rnd = new Random();
            base.Name="美利坚合众国(第一代)";
            base.Introduction="美帝国主义是一个老牌的资本主义国家,她虽然对外疯狂扩张对内镇压人民但总是打着民主自由的旗号到处犯下罪行,这个国家的杜鲁门总统首次将国家带入红色警戒世界争霸的时代";
            base.Hp += 1600 * rnd.Next(95, 105) * 0.01;
            base.Mp += 2800 * rnd.Next(95, 105) * 0.01;
            base.Attack += 90 * rnd.Next(95, 105) * 0.01;
            base.Defence -= 10 * rnd.Next(95, 105) * 0.01;
        }
        public virtual void lightenstorm()
        {
            Console.WriteLine("【天气控制仪】的闪电风暴让美国人获得了做上帝的快感!");
        }
        public virtual void chromesphere()
        {
            Console.WriteLine("【超时空传送仪】可以将部队传送到任何位置,发动突袭效果");
        }
       
        public virtual void lightlight()
        {
            Console.WriteLine("【光棱技术】产生了光棱塔光棱步兵和光棱坦克");
        }
        public virtual void virtualtech()
        {
            Console.WriteLine("【幻影技术】中的幻影坦克等等的偷袭能力是毋庸置疑的");
        }
        public virtual void Aairplane()
        {
            Console.WriteLine("【海耀战斗机】是强力的空中武器");
        }
        public virtual void Zues()
        {
            Console.WriteLine("【宙斯盾巡洋舰】是海中的恐怖的杀手");
        }
        public virtual void peacekeeper()
        {
            Console.WriteLine("【维和步兵】是美国的基本力量,并且可以拥有护盾");
        }
        /// <summary>
        /// 国家军事力量的显示
        /// </summary>
        public virtual void statearmy()
        {
            
            Console.WriteLine("国家名称:"+this.Name);
            Console.WriteLine("国家介绍:" +this.Introduction);
            Console.WriteLine("攻击力:" + this.Attack);
            Console.WriteLine("防御力:" + this.Defence);
            Console.WriteLine("硬实力:" + this.Hp);
            Console.WriteLine("软实力:" + this.Mp);
            Console.WriteLine("国家技能介绍:");
            base.loveconutry();
            base.constitution();
            base.financial();
            base.powerfularmy();
            this.peacekeeper();
            this.lightlight();
            this.virtualtech();
            this.Aairplane();
            this.Zues();
            this.lightenstorm();
            this.chromesphere();
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace redalert
{
    class USAgeneration2:USAgeneration1
    {
        public USAgeneration2()
            : base()
        {
            Random rnd = new Random();
            base.Name = "美利坚合众国(第二代)";
            base.Introduction = "美国面对苏联还有尤里的复仇,强力的打击依然能够坚守国土,表现出了惊人的实力,总统迈克尔杜根统领这个国家";
            base.Hp += 2000 * rnd.Next(95, 105) * 0.01;
            base.Mp +=2250 * rnd.Next(95, 105) * 0.01;
            base.Attack += 110 * rnd.Next(95, 105) * 0.01;
            base.Defence += 30 * rnd.Next(95, 105) * 0.01;
        }
        public override void lightenstorm()
        {
            Console.WriteLine("【天气控制仪】的可以改变任何天气的种类,不在限制于打雷!");
        }
        public override void chromesphere()
        {
            Console.WriteLine("【超时空传送仪】可以将大量部队传送到任何位置");
        }

        public override void lightlight()
        {
            Console.WriteLine("【光棱技术】产生了叠加效果");
        }
        public override void virtualtech()
        {
            Console.WriteLine("【幻影技术】中发展出了虚实转换功能,假物体可以转化为真物体");
        }
        public override void Aairplane()
        {
            Console.WriteLine("【海耀战斗机】是装备进了航空母舰");
        }
        public override void Zues()
        {
            Console.WriteLine("【宙斯盾巡洋舰】是海中的恐怖的杀手,弹头更多");
        }
        public override void peacekeeper()
        {
            Console.WriteLine("【维和步兵】是美国的基本力量,并且又拥有了闪光弹和烟雾弹");
        }
        //新的内容
        public virtual void spy()
        {
            Console.WriteLine("【间谍】利用金钱和美女贿赂敌人,购买忠诚");
        }
        public virtual void carrier()
        {
            Console.WriteLine("【航空母舰】,可以发动飞机群,并且可以发射EMP干扰");
        }
        public virtual void frozen()
        {
            Console.WriteLine("【冰冻科技】和【火焰科技】让敌人陷入两重天的困苦境界");
        }

        //显示
        public override void statearmy()
        {
            base.statearmy();
            this.spy();
            this.carrier();
            this.frozen();
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace redalert
{
    class USAgeneration3:USAgeneration2
    {
          public USAgeneration3():base()
        {
            Random rnd = new Random();
            base.Name = "美利坚合众国(第三代)";
            base.Introduction = "美国经受住两次红色战争的打击,自由女神像依然挺立着,这次美国反共产主义的立场更鲜明了,科技水平也更先进了,总统阿克曼就是一个重意识形态的领导人";
            base.Hp += 2200 * rnd.Next(95, 105) * 0.01;
            base.Mp += 1400 * rnd.Next(95, 105) * 0.01;
            base.Attack += 120 * rnd.Next(95, 105) * 0.01;
            base.Defence += 120 * rnd.Next(95, 105) * 0.01;
        }

          public override void lightenstorm()
          {
              Console.WriteLine("【质子对撞机】隆重登场");
          }
          public override void chromesphere()
          {
              Console.WriteLine("【超时空传送仪】可以同时多地点多部队传送");
          }

          public override void lightlight()
          {
              Console.WriteLine("【光棱技术】产生了定位囚禁功能");
          }
          public override void virtualtech()
          {
              Console.WriteLine("【幻影技术】中发展出了吸收火力的临时黑洞");
          }
          public override void Aairplane()
          {
              Console.WriteLine("【海耀战斗机】是不可能被任何防空力量阻击");
          }
          public override void Zues()
          {
              Console.WriteLine("【宙斯盾巡洋舰】实现数控化操作,也可以生产电子干扰");
          }
          public override void peacekeeper()
          {
              Console.WriteLine("【维和步兵】射速和移动速度更快");
          }
          public override void spy()
          {
              Console.WriteLine("【间谍】可以使敌人的建筑永久失效");
          }
          public override void carrier()
          {
              Console.WriteLine("【航空母舰】可以升级为战略巡航舰");
          }
          public override void frozen()
          {
              Console.WriteLine("【冰冻科技】和【火焰科技】可以装配到任何部队");
          }
        //新的内容
          public void enigineer()
          {
              Console.WriteLine("【工程学】和【多功能化】");
          }
          public void futuretank()
          {
              Console.WriteLine("【未来坦克】和毁灭性中子炮");
          }
          //显示
          public override void statearmy()
          {
              base.statearmy();
              this.enigineer();
              this.futuretank();
          }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace redalert
{
    class pc
    {
        private double _hp;

        public double Hp
        {
            get { return _hp; }
            set { _hp = value; }
        }
        private double _mp;

        public double Mp
        {
            get { return _mp; }
            set { _mp = value; }
        }
        private double _attack;

        public double Attack
        {
            get { return _attack; }
            set { _attack = value; }
        }
        private double _defence;

        public double Defence
        {
            get { return _defence; }
            set { _defence = value; }
        }
        private int _swore = 0;

        public int Swore
        {
            get { return _swore; }
            set { _swore = value; }
        }

    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace redalert
{
    class player
    {
        private double _hp;

        public double Hp
        {
            get { return _hp; }
            set { _hp = value; }
        }
        private double _mp;

        public double Mp
        {
            get { return _mp; }
            set { _mp = value; }
        }
        private double _attack;

        public double Attack
        {
            get { return _attack; }
            set { _attack = value; }
        }
        private double _defence;

        public double Defence
        {
            get { return _defence; }
            set { _defence = value; }
        }
        private int _swore = 0;

        public int Swore
        {
            get { return _swore; }
            set { _swore = value; }
        }

        
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

小游戏:红色警戒争霸战! 的相关文章

  • 【项目实战】Spring体系结构与框架图

    一 Spring 体系结构 Spring 有可能成为所有企业应用程序的一站式服务点 xff0c 然而 xff0c Spring 是模块化的 xff0c 允许你挑选和选择适用于你的模块 xff0c 不必要把剩余部分也引入 下面的部分对在 Sp
  • 【项目实战】spring boot中使用webSocket

    spring boot中使用webSocket 文章目录 spring boot中使用webSocket引入依赖支持配置类接口类前端连接方式前端信息发送方式 引入依赖 需要在基础的spring boot web项目项目中添加下面一个依赖 x
  • Qt项目实战:愤怒的小鸟(联机版)

    前言 本文章会详细介绍难点的内容 xff0c 不附带全部源码 xff0c 会将关键代码进行展示 因为只有截图 xff0c 这里在每一个动作和界面都添加了音效与BGM 同时附加了CG展示 素材和音效全部放在下面了 xff0c 需要可自行提取
  • Hexo-零基础搭建个人博客(详解)

    Hexo零基础搭建个人博客 Hexo是一个基于 node js的快速生成静态博客的开源框架 支持 Markdown和大多数 Octopress 插件 一个命令即可部署到 Github页面 Giteee Heroku等 强大的APl 可无限扩
  • 基于pytorch神经网络的工业区域用电量预测 完整代码数据

    代码讲解 工业用电量预测 时间序列预测 基于pytorch神经网络的工业用电量预测 完整代码数据 哔哩哔哩 bilibili 本博客付完整代码数据 运行截图 pip install openpyxl i https pypi tuna ts
  • 数据挖掘案例实战:利用LDA主题模型提取京东评论数据(一)

    泰迪智能科技 数据挖掘平台 TipDM数据挖掘平台 最新推出的数据挖掘实战专栏 专栏将数据挖掘理论与项目案例实践相结合 可以让大家获得真实的数据挖掘学习与实践环境 更快 更好的学习数据挖掘知识与积累职业经验 专栏中每四篇文章为一个完整的数据
  • 【机器视觉】——裂纹检测笔记

    目录 传统算法处理裂缝的基本思路 第一种思路 第二种思路 第三种思路 CPP代码 halcon代码 python代码 Matlab代码 深度学习缺陷检测 裂缝检测文献 传统算法处理裂缝的基本思路 第一种思路 1 先转换彩色图为灰度图 2 进
  • MySql 根据身份证号来判别所属省份年龄及性别

    一 背景 新项目要从别的系统迁移用户表信息 老的用户表里的数据有很多不规范的数据 需要通过表里的身份证号获取用户的省份 年龄 性别 二 获取方式 1 通过身份证号获取省份 SELECT CASE LEFT sfzh 2 WHEN 11 TH
  • 【项目实战】---需求分析+表关系分析

    SSH 小编初次接触的时候傻傻的以为这个跟SHE有什么关系呢 又是哪路明星歌手 后来才知道小编又土鳖了 原来SSH是这个样子滴 百度百科对她这样阐述 SSH即 Spring Struts Hibernate Struts对Model Vie
  • 基于Vision Transformer的鸟类图像分类(200个类别)完整代码+数据

    视频讲解 Vision Transformer的鸟类图像分类 200个类别 完整代码 数据 哔哩哔哩 bilibili 项目结构 数据展示 主要的运行代码 import os import math import random import
  • 短信验证码

    短信验证码用的是阿里云的 目录结构如下 其中aliyunsdkdysmsapi是在官方下载的 https help aliyun com document detail 55359 html aliyun py coding utf 8 i
  • 基于Tensorflow搭建卷积神经网络CNN(花卉识别)保姆及级教程

    项目介绍 TensorFlow2 X 搭建卷积神经网络 CNN 实现人脸识别 可以识别自己的人脸哦 搭建的卷积神经网络是类似VGG的结构 卷积层与池化层反复堆叠 然后经过全连接层 最后用softmax映射为每个类别的概率 概率最大的即为识别
  • 尚医通项目(上)

    来自atguigu 视频链接 项目介绍 1 概述 尚医通即为网上预约挂号系统 旨在缓解看病难 挂号难的就医难题 随时随地轻松挂号 不用排长队 2 技术点 核心技术 SpringBoot 简化新Spring应用的初始搭建以及开发过程 Spri
  • 小游戏:红色警戒争霸战!

    这个是当年自己在学校里面写的小游戏 现在看看好弱智啊 第一代的代码 public struct Heros public string name public double hp public double mp public double
  • 优化(2)——射线检测基础,合批原理

    射线检测 射线响应的方法 首先获取到canvas下所有graphic组件 当前的ui元素是否接收射线 第一个if判断是否绘制到屏幕上 是否勾选RaycastTarget接受射线 是否进行了剔除 第二个if判断点击是否在当前对象上 第三个判断
  • 数据挖掘案例实战:利用LDA主题模型提取京东评论数据(二)

    泰迪智能科技 数据挖掘平台 TipDM数据挖掘平台 最新推出的数据挖掘实战专栏 专栏将数据挖掘理论与项目案例实践相结合 可以让大家获得真实的数据挖掘学习与实践环境 更快 更好的学习数据挖掘知识与积累职业经验 专栏中每四篇文章为一个完整的数据
  • Express初学之入门

    1 Express简介 基于Node的极简MVC框架 提供灵活的路由功能 提供强大的中间件机制 内核极小 扩展性很好 使用广泛 2 路由机制 Express概念 定义了Api的地址 请求 响应方式 方法 天然支持HTTP Method 中的
  • SHA-256算法实现过程

    整理一下SHA 256的实现步骤 1 定义8个32位常量 h0 0x6a09e667 h1 0xbb67ae85 h2 0x3c6ef372 h3 0xa54ff53a h4 0x510e527f h5 0x9b05688c h6 0x1f
  • Maven 项目模板学习

    目录 Maven 项目模板 什么是 archetype 使用项目模板 Maven 将询问原型的版本 创建的项目 创建 pom xml Maven 项目文档 Maven 快照 SNAPSHOT 什么是快照 项目快照 vs 版本 app ui
  • Vue项目的部署(服务器)

    Vue项目的部署 服务器 前几天帮朋友写了一个可以动态查看地点温度的前端项目 目前已经部署上线了 访问链接点这里 服务器是朋友的 倒时候打不开会很正常 说不定又使用服务器玩大数据项目去了 效果图 图一 图二 当然 温度也都是实时跟新的 而且

随机推荐

  • jdbc连接数据库(MySQL 8.0.19)url设置

    本文只针对下述版本的url设置问题 我的JDK版本是11 0 1 MySQL版本8 0 19 MySQL的8系列版本应该都可以 一般连接失败的原因是url没设置好 这里我所设置的url亲测有效 String urlString jdbc m
  • Kali之渗透攻击

    渗透攻击是指黑客为了获得非法利益 通过各种手段进入网络系统 计算机系统中 在未经授权的情况下获取信息 利用漏洞控制系统和执行越权操作的一种行为 其目的在于获取非法利益 破坏或者窃取关键数据 以及对网络系统进行控制 在学习渗透攻击这一知识点过
  • world特殊符号

    world特殊符号 论文需要 和圆里面一个乘号 论文需要 和圆里面一个乘号 1 首先打开word文档 找到要 插入符号 的地方 2 选择插入功能下面的 符号按钮 3 选择符号下面的 其他符号 4 将字体选为 symbol 这个字体 5 在这
  • Hive 一文读懂

    Hive 简介 1 1 什么是Hive 1 hive简介 Hive 由Facebook开源用于解决海量结构化日志的数据统计 Hive是基于Hadoop的一个数据仓库工具 可以将结构化的数据文件映射为一张表 并提供类SQL查询功能 2 Hiv
  • opencv边缘检测-拉普拉斯算子

    sobel算子一文说了 索贝尔算子是模拟一阶求导 导数越大的地方说明变换越剧烈 越有可能是边缘 那如果继续对f t 求导呢 可以发现 边缘处 的二阶导数 0 我们可以利用这一特性去寻找图像的边缘 注意有一个问题 二阶求导为0的位置也可能是无
  • python报错AttributeError module ‘scipy.misc‘ has no attribute ‘imresize‘和 ‘imread‘

    python报错AttributeError module scipy misc has no attribute imresize 和 imread 报错原因 scipy版本过高 解决方案 降低scipy版本 如下 pip install
  • 迁移学习之resnet50——解决过拟合及验证集上准确率上不去问题

    keras之resnet50迁移学习做分类 问题1描述 迁移学习用resnet50做分类 验证集上的准确率一直是一个大问题 有时候稳定在一个低的准确率 我的一次是一直在75 上下波动 问题2描述 resnet50迁移学习 训练集上的准确率一
  • IDEA使用jsp可以访问页面,转换为html弹出页面为404

    这种办法为绕过controller直接访问静态页面 大家只要路径对 在springmvc xml中配置好一个 标签即可
  • 【mysql】mysql 常用建表语句

    1 建立员工档案表 要求字段 员工员工编号 员工姓名 性别 工资 email 入职时间 部门 2 合理选择数据类型及字段修饰符 要求有NOT NULL auto increment primary key等 make by kakane D
  • arcgis10.2破解版下载及其详细教程;;;附带10.1-10.6的破解版,没有教程

    1 arcgis10 2破解版 https blog csdn net bigemap article details 81131840 2 arcgis10 1 10 5破解版安装包 https blog csdn net e wsq a
  • 【c++】8.map和vector容器查找、删除指定元素、emplace、insert

    1 查找与删除 vector 和 map 容器中指定元素 vector 查找或删除vector的指定元素 123 方法1 使用迭代器 不同于map map有find方法 vector本身没有find这一方法 std vector
  • 从浅到深理解bert

    更多查看https github com B C WANG AI Storage 4 2 4 2从浅到深理解bert 4 2 1 理解Attention 参考https www cnblogs com robert dlut p 86382
  • Pytorch save_image和make_grid函数详解

    Pytorch save image和make grid函数详解 make grid用于把几个图像按照网格排列的方式绘制出来 save image用于保存图像 这两个函数的函数签名差不多 所以只说一个 def make grid tenso
  • excel python插件_再见 VBA!神器工具统一 Excel 和 Python

    大家好 我是东哥 经常给大家推荐好用的数据分析工具 也收到了铁子们的各种好评 这次也不例外 我要再推荐一个 而且是个爆款神器 Excel和Jupyter Notebok都是我每天必用的工具 而且两个工具经常协同工作 一直以来工作效率也还算不
  • 线段树模板

    线段树属于高级数据结构 本文粗略地讲解了一下线段树的模板 大家直接拿去用就好 long long ls int x return x lt lt 1 long long rs int x return x lt lt 1 1 const i
  • 电感选型计算

    转载 https www richtek com Design 20Support Technical 20Document AN053 电感之种类与其特性分析 摘要 电感器是开关转换器中非常重要的元器件 如用于储能及功率滤波器 电感器的种
  • react render中进行if判断

    在render中进行if条件判断然后加载相应的模块进行渲染方法如下 第一种 第二种
  • Spark的DataFrame和Schema详解和实战案例Demo

    1 概念介绍 Spark是一个分布式计算框架 用于处理大规模数据处理任务 在Spark中 DataFrame是一种分布式的数据集合 类似于关系型数据库中的表格 DataFrame提供了一种更高级别的抽象 允许用户以声明式的方式处理数据 而不
  • 【数据分析之道-NumPy(四)】numpy广播机制

    文章目录 专栏导读 1 广播机制 2 一维数组和二维数组的广播 3 二维数组和三维数组的广播 4 标量和数组的广播 5 形状不兼容的数组不能进行广播 专栏导读 作者简介 i阿极 CSDN Python领域新星创作者 专注于分享python领
  • 小游戏:红色警戒争霸战!

    这个是当年自己在学校里面写的小游戏 现在看看好弱智啊 第一代的代码 public struct Heros public string name public double hp public double mp public double