2018-05-28 文字游戏尝试

周末制作了一个控制台文字游戏
感兴趣的可以复制代码到控制台玩耍此游戏,耗费2天心血
禁止发布传播!
代码如下(粘贴至Main函数):

        string outPutScr = "***************☆☆游戏名:仙女下凡☆☆☆************";
        Console.ForegroundColor = ConsoleColor.DarkYellow;
        Console.SetCursorPosition((Console.WindowWidth - outPutScr.Length) / 3, 11);
        Console.WriteLine(outPutScr);
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("Start……………………");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("某一天放学,你正躺在床上发呆,思恋你的暗恋对象薇薇……");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("你想了一会,闭上眼睛,摇摇头");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("“唉,想啥呢,自己那么懦弱的一个人……怎么配得上…ta”");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("你想了一会,闭上眼睛,摇摇头");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("你想起了今天下课又在班里被胖虎打的事情");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("碰巧这一幕还让路过的薇薇看见了");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("而你却在喜欢的女生面前低下了头……………");
        Console.ReadKey(true);
        Console.Clear();
        
        //有效输入
        bool isInputRight = false;
        //进入玩家自主选择
        while (true)
        {
            Console.WriteLine("你觉得自己怂吗?");
            Console.WriteLine("-----------------------------------------");
            Console.WriteLine("1.怂\n" + "2.我是赵日天\n\n");//丰富选项
            char inputkey = Console.ReadKey(true).KeyChar;
            switch (inputkey)
            {
                case '1': Console.WriteLine("“哎,怂…………………………………………………\n“怂到家了…………………………………………”"); isInputRight = true; break;
                case '2': Console.WriteLine("你装逼被雷劈死了!"); Console.ReadKey(true); Environment.Exit(0); ; break;
            }

            if (isInputRight)
            {
                break;

            }
            else
            {
                Console.WriteLine("请输入正确字符!");
                Console.ReadKey(true);
                Console.Clear();
            }
            
        }
        Console.ReadKey(true);
        Console.Clear();
        //第二段剧情开始


        //进入玩家自主选择
        while (true)
        {
            
            Console.WriteLine("“算了,先出去撒个尿吧,憋好久了”——你自言自语道");
            Console.WriteLine("-----------------------------------------");
            Console.WriteLine("1.憋着不尿锻炼PC肌\n" + "2.选择去院子尿尿\n\n");//丰富选项
            char inputkey = Console.ReadKey(true).KeyChar;
            switch (inputkey)
            {
                case '1': Console.WriteLine("很遗憾!你被尿憋死了"); Console.ReadKey(true); Environment.Exit(0); break;
                case '2': Console.WriteLine("你来到院子"); Console.ReadKey(true); Console.WriteLine("对着一颗大树解开裤带"); isInputRight = false; break;
            }

            if (!isInputRight)
            {
                break;

            }
            else
            {
                Console.WriteLine("请输入正确字符!");
                Console.ReadKey(true);
                Console.Clear();
                
            }
        }
        Console.ReadKey(true);
        Console.Clear();

        //第三段剧情开始
        Console.Write("“我这一辈也就这样了,神也救不了我了吧…”");
        Console.ReadKey(true);
        Console.Write("——你抖了几下说道");//同一行输出两句话
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("突然!!!");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("天空射来一道彩光,紧接着传来隆隆的声");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("“这什么,好刺眼”——你顾不上尿完还没洗的手遮住了眼睛");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("天空射来一道彩光,紧接着传来隆隆的声音");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("你透过指缝看向天空");
        Console.ReadKey(true);
        
        Console.WriteLine("宁静的星空下有一道白色的光芒向下坠落着");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("这道光离你家院子位置越来越近,也越来越亮……");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("扑通一声,白光坠落在你家院子的灌木丛里");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("“咦?”");
        Console.ReadKey(true);
        Console.Clear();
        //进入玩家自主选择
        while (true)
        {

            Console.WriteLine("是否走过去查看异常?");
            Console.WriteLine("-----------------------------------------");
            Console.WriteLine("1.不去,有我500T硬盘好看?回去睡觉\n" + "2.真奇怪,我要去看看,没准捡个大宝贝\n\n");//丰富选项
            char inputkey = Console.ReadKey(true).KeyChar;
            switch (inputkey)
            {
                case '1': Console.WriteLine("强撸灰飞烟灭,你死了!"); Console.ReadKey(true); Environment.Exit(0); break;
                case '2': Console.WriteLine("你跑过去,看见一只雪白色的猫狼狈的躺在草里"); isInputRight = true; break;
            }

            if (isInputRight)
            {
                break;

            }
            else
            {
                Console.WriteLine("请输入正确字符!");
                Console.ReadKey(true);
                Console.Clear();

            }
        }
        Console.ReadKey(true);
        Console.Clear();

        //第四段剧情开始
        Console.WriteLine("这只猫的大腿处有一道长长的伤痕");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("伤口处有蓝色的光点不停的冒出来");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("这只猫的大腿处有一道长长的伤痕");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("猫大口喘着气,它感应到你的存在");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("一点点睁开眼睛用余光看着你");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("“救……我……”猫虚弱的说");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("“什么?你能说话??”");
        Console.ReadKey(true);
        Console.Clear();

        Console.Write("“原来你在这!”");
        Console.ReadKey(true);

        Console.Write("——头顶有一个声音");
        Console.ReadKey(true);
        Console.Clear();

        Console.WriteLine("一个手拿镰刀穿着黑衣的人盯着白色的猫");
        Console.ReadKey(true);
        Console.Clear();
        Console.Write("“莉丝,跟我走,回奥古对你也好。”");
        Console.ReadKey(true);

        Console.Write("——黑衣人冷冷的说");
        Console.ReadKey(true);
        Console.Clear();
        Console.Write("“你死了这条心吧,休想拿到我的紫血阴!”");
        Console.ReadKey(true);
        
        Console.Write("——白猫咬着牙说");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("“既然你执意如此,为了我凌九的名声,今天你必须死!”");
        Console.ReadKey(true);
        Console.Clear();
        Console.Write(" “横一文字斩!”");
        Console.ReadKey(true);
        Console.Clear();
        Console.Write("说完黑衣人拿起镰刀便挥砍出一道剑气");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("“卧槽!这TM……”");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("你来不及惊讶,眼看一道刀刃般锋利的剑气袭来……");
        Console.ReadKey(true);
        Console.Clear();
        Console.Write("“要死了……”");
        Console.ReadKey(true);
        Console.Clear();
        Console.Write("   你看见大树都倒在剑气下");
        Console.ReadKey(true);
        Console.Clear();
        Console.Write("“混蛋,便宜你了!”");
        Console.ReadKey(true);
        Console.Write("——白猫对你碎了一口");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("它用爪子划了你手臂一下,用舌头舔了一下爪子的血液");
        Console.ReadKey(true);
        Console.Clear();
        Console.Write("“你干什么!”");
        Console.ReadKey(true);
        Console.Write("——你生气的说道");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("“我受伤了无法战斗!想活就跟我结成血契!快点!!”");
        Console.ReadKey(true);
        Console.Clear();

        //进入玩家自主选择
        while (true)
        {

            Console.WriteLine("是否念咒缔结契约?");
            Console.WriteLine("-----------------------------------------");
            Console.WriteLine("1.缔结血契\n" + "2.从家里跑路\n\n");//丰富选项
            char inputkey = Console.ReadKey(true).KeyChar;
            switch (inputkey)
            {
                case '2': Console.WriteLine("被横一文字斩击杀,你死了!"); Console.ReadKey(true); Environment.Exit(0); break;
                case '1': Console.WriteLine("莉丝全身发光,从白猫变成了一个美丽的少女"); isInputRight = false; break;
            }

            if (!isInputRight)
            {
                break;

            }
            else
            {
                Console.WriteLine("请输入正确字符!");
                Console.ReadKey(true);
                Console.Clear();

            }
        }
        Console.ReadKey(true);
        Console.Clear();

        //进入下一剧情

        Console.WriteLine("莉丝念咒:“");
        Console.ReadKey(true);
        Console.WriteLine("升起的太阳之魂啊,吾再次欢迎汝 ");
        Console.ReadKey(true);
        Console.WriteLine("让崭新的一天开始,让吾的心也同样如此");
        Console.ReadKey(true);
        Console.WriteLine("带走吾的烦恼,用汝炙热的阳光将其燃烧殆尽 ");
        Console.ReadKey(true);
        Console.WriteLine("让吾内心深处的力量走出夜晚\n\n\n");
        Console.ReadKey(true);
        Console.WriteLine("升起的太阳之魂啊,吾再次欢迎汝 ");
        Console.ReadKey(true);
        Console.WriteLine("愉悦之声很快会在吾的耳边响起");
        Console.ReadKey(true);
        Console.WriteLine("让它们成长,抚慰吾的思绪和内在跳动的心灵 ");
        Console.ReadKey(true);
        Console.WriteLine("升起的太阳之魂啊,给予吾胜利的意志! ”");
        Console.ReadKey(true);
        Console.Clear();
        Console.Write("结!");
        Console.ReadKey(true);
        Console.Write("——化身成少女的莉丝身上不断涌出紫光,尽数被你吸走");
        Console.ReadKey(true);
        Console.Clear();
        Console.Write("“你现在已近和我结成血契,身体不要抗拒,我来操控你迎战!”");
        Console.ReadKey(true);
        Console.Clear();            
        Console.Write("“砰!”");
        Console.ReadKey(true);
      
        Console.Write("----横一文字斩的剑气被你体内涌出的真气震散");
        Console.ReadKey(true);
        Console.Clear();


        Console.Write("“我感觉到强大的力量!”");
        Console.ReadKey(true);
        Console.Write("----你对白猫说");
        Console.Clear();

        Console.Clear();
        Console.WriteLine("“想不到你竟然甘愿和这么一个蝼蚁结成血契,趁你病要你命!”");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("说着黑衣人挥着镰刀冲了下来!");
        Console.ReadKey(true);
        Console.Clear();
        Console.WriteLine("战斗开始!!!");
        Console.ReadKey(true);
        Console.Clear();
        //和黑衣人战斗代码
        //主角数据
       
        Random roll = new Random();
        double heroAtk = roll.Next(200,250);//英雄的攻击
        double heroMaxHP = 800;//最大血量
        double heroHP = heroMaxHP;//血量
        bool heroDead = false;//主角英雄的死亡状态

        const int ATTACK_1_HERO = 0;
        const int ATTACK_2_HERO = 1;
        const int ATTACK_BAOQI_HERO = 3;
        int heroAttackState = ATTACK_1_HERO;

        int round = 1;

        //黑衣人数据

        const int ATTACK_1_HEIYIREN = 0;//横一文字斩击
        const int ATTACK_2_HEIYIREN = 1;//开启防御反击,反弹50%伤害
        int heiyirenAttackState = ATTACK_1_HEIYIREN;
        double heiyirenAtk = roll.Next(150, 190);//黑衣人普通攻击力
        double heiyirenMaxHP = 2000;//最大血量
        double heiyirenHP = heiyirenMaxHP;
        bool heiyirenDead = false;
        double damage2 = heiyirenAtk;//计算出黑衣人实际伤害
        double damage1 = heroAtk;//主角伤害
        //制造一个无限战斗循环,为避免对今后战斗干扰,在里面给黑衣人赋值
        while (true)
        {
            //回合数记录

           

            #region 初始化
            //投币复活,这里默认主角继续战斗,黑衣人血量不重置


            if (heroDead)//如果主角投币,则满血复活继续战斗
            {
                heroHP = heroMaxHP;
                heroDead = false;
            }
            if (heiyirenDead)
            {
                break;//如果黑衣人死亡,则跳出循环战斗
            }
            
            #endregion
            //进入战斗
            while (true)
            {
                

                heiyirenAtk = roll.Next(100, 150);//用骰子得出每回合的攻击力
                isInputRight = false;
                Console.Clear();

                if (heroAttackState == 3)
                {
                    Console.WriteLine("\n》》》请释放超必杀!!!《《《\n\n\n1.水雾灭杀绝   2.引风化雷绝:破\n\n\n");
                    Char inputkey2 = Console.ReadKey(true).KeyChar;//获取按键映射
                    switch (inputkey2)
                    {
                        
                        case '1': heroAttackState = ATTACK_1_HERO; isInputRight = true; damage1 = 1.5 * heroAtk; Console.WriteLine("你对黑衣人使用了水雾灭杀绝!\n"); break;
                        case '2': heroAttackState = ATTACK_2_HERO; isInputRight = true; damage1 = 1.5 * heroAtk; Console.WriteLine("你对黑衣人使用了引风化雷绝:破\n"); break;
                        default: isInputRight = false;break;
                    }
                }
                else
                {
                    Console.WriteLine("请释放技能:\n\n1.奔雷破   2.集气\n\n");
                    Char inputkey = Console.ReadKey(true).KeyChar;//获取按键映射
                    switch (inputkey)
                    {
                        case '1': heroAttackState = ATTACK_1_HERO; isInputRight = true; damage1 = heroAtk; Console.WriteLine("你对黑衣人使用了奔雷破!\n"); break;
                        case '2': heroAttackState = ATTACK_BAOQI_HERO; isInputRight = true; damage1 = 0; Console.WriteLine("集气!本回合你没有攻击!\n"); break;
                    }
                }
               
                if (isInputRight)
                {
                    //如果是:跳出输入循环
                    break;
                }
                else
                {
                    //如果不是:提示你操作有误
                    Console.WriteLine("你的输入有误");
                    Console.ReadKey(true);
                    Console.Clear();
                }

            }
            heiyirenAttackState = roll.Next(2);
            Console.WriteLine("黑衣人释放了{0}",heiyirenAttackState==0?"横一文字斩!":"死气化牢!");
            Console.ReadKey(true);
            if (heiyirenAttackState == 0)
            {
                damage2 = heiyirenAtk;
                Console.WriteLine("横一文字斩造成了{0}伤害!",damage2);
                Console.ReadKey(true);
                
            }
            if(heiyirenAttackState == 1)
            {
                damage2 = heiyirenAtk;
                damage2 = (int)((float)damage1 * 0.5);
                Console.WriteLine("死气化牢防御结阵有效的抵御了你的攻击!并反弹了你伤害!\n对你造成伤害{0}\n", damage2);
                Console.ReadKey();
            }



            Console.WriteLine("\n\n\n\n\n>>战斗记录:第{0}回合\n\n",round);
            Console.WriteLine("黑衣人对你造成的伤害是{0}\n", damage2);
            Console.WriteLine("你对黑衣人造成的伤害是{0}\n", damage1);
            heiyirenHP -= damage1;//heiyiren的血减去伤害
            Console.WriteLine("黑衣人还有{0}血", heiyirenHP < 0 ? 0 : heiyirenHP);
            heroHP -= damage2;
            Console.WriteLine("你还有{0}血", heroHP < 0 ? 0: heroHP);
            
            


            if (heiyirenHP <= 0)//判定是否死亡
            {
                heiyirenDead = true;
                
            }
            Console.ReadKey(true);//每回合暂停,按键继续
            if (heroHP <= 0)
            {
                heroDead = true;
                
            }
            Console.ReadKey(true);//每回合暂停,按键继续
            
            if (heiyirenDead)
            {
                Console.WriteLine("\n\n*********************你战胜了黑衣人!!!********************************");
                Console.ReadKey(true);
                break;
                
            }
            if (heroDead)
            {
                Console.WriteLine("你死了,重新进入More World?");
                Console.ReadKey(true);
                Console.WriteLine("按E键充值继续,其它键死亡");
                char inputkey = Console.ReadKey().KeyChar;
                if (inputkey == 'e' || inputkey == 'E')
                {
                    Console.WriteLine("充值成功!继续战斗吧骚年!");
                    
                }
                else
                {
                    Environment.Exit(0); //跳出游戏,死亡  
                }
            }

            //回合数记录
            round++;
        }

        Console.Clear();
        
        Console.WriteLine("你们给我等着!我凌九下次来定要你们这对狗男女的命!");
        Console.ReadKey();
        Console.Clear();
        Console.WriteLine("说完凌九用镰刀划开一个口子,破空而去");
        Console.ReadKey();
        Console.Clear();
        Console.WriteLine("“谢谢你了!没有你我今天就要死在这”  ——猫女对你说道");
        Console.ReadKey();
        Console.Clear();
        Console.WriteLine("“我叫莉丝,你好啊地上人。”");
        Console.ReadKey();
        Console.Clear();
        Console.WriteLine("“你叫什么名字?”请输入:\n");
        Console.ReadKey();

        string heroName;
        heroName= Console.ReadLine();                                    
        Console.Clear();
        
        Console.WriteLine("{0},\n\n\n\n\nMore World的精彩世界将要开启…………",heroName);
        Console.ReadKey();
        Console.Clear();

        string outPutScr2 = "感谢游玩!请期待后续,详细信息请联系1805U3D 薛寒";
        Console.ForegroundColor = ConsoleColor.Red;
        Console.SetCursorPosition((Console.WindowWidth - outPutScr.Length) / 3, 11);
        Console.WriteLine(outPutScr2);           
        Console.ReadKey();
        Console.Clear();
        string outPutScr3 = "再见!!!";
        Console.ForegroundColor = ConsoleColor.Red;
        Console.SetCursorPosition((Console.WindowWidth - outPutScr.Length) / 2, 11);
        Console.WriteLine(outPutScr3);
        Console.ReadKey();

你可能感兴趣的:(2018-05-28 文字游戏尝试)