C#入门第四课,通过文字游戏训练if语句熟练度

using System;
namespace day2
{
    class Program
    {
        //常量初始化
        #region
        //姓名
        static string name = "";
        //最大血量
        static int hp;
        //当前血量
        static int c_hp;
        //成长血量
        static int g_hp;
        //攻击力
        static int atk;
        //成长攻击力
        static int g_atk;
        //速度
        static int speed;
        //成长速度
        static int g_speed;
        //等级 1000经验升一级
        static int level = 0;
        //经验
        static int exp = 0;
        //金钱
        static int money = 100;
        //创建角色
        #endregion
        //角色创建
        static void CreateCharacter()
        {
            //提示
            Console.WriteLine("请输入你的角色名称:");
            //输入角色名称
            name = Console.ReadLine();
            //判断名称是否正确
            if (string.IsNullOrEmpty(name))
            {
                //给与默认名称
                name = "懒死你";
            }
            //血量随机90到111之间的数
            hp = new Random().Next(90,111);
            c_hp = hp;
            //成长血量
            g_hp = new Random().Next(7, 12);
            //攻击力
            atk = new Random().Next(7, 12);
            //成长攻击
            g_atk = new Random().Next(2, 5);
            //速度
            speed = new Random().Next(90, 111);
            //成长速度
            g_speed = new Random().Next(10, 16);
            //给出提示
            Console.WriteLine("恭喜你!角色创建成功!您的角色名称为:{0},血量为:{1}/{2},攻击力为:{3},速度为:{4},金钱为:{5},等级为:{6},经验为:{7}。", name,c_hp,hp,atk,speed,money,level,exp);
            //187-232   200  210
            //基础数值总和
            int num = hp + speed + atk;
            if (num<200)
            {
                Console.WriteLine("您的角色初始属性平平无奇。");
            }
            else if (num<210)
            {
                Console.WriteLine("您的角色初始属性超越常人。");
            }
            else
            {
                Console.WriteLine("您的角色初始属性无人能比。");
            }
            //成长数值总和 19-30  23  27 
            num = g_hp + g_speed + g_atk;
            if (num<23)
            {
                Console.WriteLine("潜力非常非常差,这边建议您转生重开呢!");
            }
            else if (num<27)
            {
                Console.WriteLine("潜力属于平均水平,希望您能愉快的玩下去!");
            }
            else
            {
                Console.WriteLine("潜力爆表,好像有一股神秘的力量正在帮助你走上巅峰!");
            }
        }
        //新手村
        static void XinShouCun()
        {
            Console.WriteLine("您的左边有一名乞丐,右边有一名富豪,您选择谁呢?");
            Console.WriteLine("1.乞丐 2.富豪 3.都不选");
            string str = Console.ReadLine();
            if (str == "1")
            {
                if(new Random ().Next(0, 100) > 70)
                {
                    c_hp -= 30;
                    speed -= 5;
                    Console.WriteLine("乞丐拿出一本绝世武功,可惜你没领悟成功!当前血量减少30!");
                }
                else
                {
                    g_atk += 1;
                    g_hp += 5;
                    g_speed += 5;
                    Console.WriteLine("乞丐拿出本绝世武功,你修炼完成后神清气爽,潜力好似有所提升!");
                }
            }
            else if (str == "2")
            {
                if (new Random ().Next(0, 100) > 70)
                {
                    money += 20;
                    Console.WriteLine("富豪看你面善,给了你20两银子。");
                }
                else
                {
                    money -= 9;
                    Console.WriteLine("富豪心情不好,打了你一顿,你损失了9两银子。");
                }
            }
            //离开新手村提示
            Console.WriteLine("你离开了新手村,向长安进发!");
        }
        //查看信息
        static void ShowInfo()
        {
            Console.WriteLine("你现在的属性:血量为:{0}/{1},攻击力为:{2},速度为:{3},金钱为:{4},等级为:{5},经验为:{6}。", c_hp,hp,atk,speed,money,level,exp);
        }
        //郊区
        static void JiaoQu()
        {
            Console.WriteLine("村口出现了一名背着行囊的商人,是否对话?1.对话 2.抢劫 3.无视");
            string str = Console.ReadLine();
            if (str == "1")
            {
                //对话
                Console.WriteLine("商人笑眯眯的看着你,说道:只要给我20两银子,就能让你脱胎换骨!");
                Console.WriteLine("是否给他?1.给他 2.不给他");
                String str2 = Console.ReadLine();
                if (str2 == "1" &&money >=20)
                {
                    money -= 20;
                    g_atk += 2;
                    g_hp += 10;
                    g_speed += 10;
                    Console.WriteLine("经过商人的指点,你感觉浑身充满了力量,堪比超人!");
                    ShowInfo();
                }
                else
                {
                    Console.WriteLine("商人鄙视的看了你一眼,离开了这里。");
                }
            }
            else if (str == "2")
            {
                //抢劫
                int num = hp + speed + atk;
                if (num > 210)
                {
                    money += 30;
                    exp += 500;
                    if (exp >= 1000)
                    {
                        level += 1;
                        hp = hp + g_hp;
                        c_hp = c_hp + g_hp;
                        atk = atk + g_atk;
                        speed = speed + g_speed;
                        exp = exp - 1000;
                    }
                    Console.WriteLine("你拿出了一把柴刀,商人落荒而逃,留下30两银子。");
                    ShowInfo();
                }
                else
                {
                    c_hp -= 30;
                    Console.WriteLine("抢劫失败,你损失了30点生命值");
                }
            }
            else
            {
                Console.WriteLine("无事发生。");
            }
            Console.WriteLine("随着时间的推移,天色渐渐地暗了下来你感到很饥饿,然而路边有一只野猪在喝水,你是否要上前挑战它?");
            Console.WriteLine("1,挑战它 2,躲开它");
            string str3 = Console.ReadLine();
            if (str3 == "1")
            {
                int num=hp + speed + atk;
                if (num > 200)
                {
                    c_hp = hp;
                    exp += 600;
                    if (exp >= 1000)
                    {
                        level += 1;
                        hp = hp + g_hp;
                        c_hp = c_hp + g_hp;
                        atk = atk + g_atk;
                        speed = speed + g_speed;
                        exp = exp - 1000;
                    }
                    Console.WriteLine("你饱餐一顿,血量回复到了最大值");
                    ShowInfo();
                }
                else
                {
                    c_hp -= 30;
                    Console.WriteLine("你没能打过野猪,还被野猪给拱了一下,生命减少30点");
                    ShowInfo();
                }
            }
            else
            {
                c_hp -= 20;
                Console.WriteLine("由于饥饿,你损失了20点生命值,没有办法,你只能挨饿继续前往长安。");
                ShowInfo();
            }
            
        }
        //长安
        static void ChangAn()
        {
            Console.WriteLine("到了第二天,你终于看到了长安城的大门,你激动的跑了过去,却不料被突然出现的马车给撞昏迷不行了,恰好撞倒你的是长安公主,她吩咐人把你安排到了城内一处豪宅,让属下照顾你。");
            Console.WriteLine("你突然半夜惊醒,发现自己躺在床上,你会?");
            Console.WriteLine("1,打开门窗,出去看看周围的情况 2,继续睡觉 3,大喊有谁在这里");
            string str = Console.ReadLine();
            if (str == "1")
            {
                Console.WriteLine("你发现长安公主正在不远处的院子里弹古筝,你逐渐沉醉在古筝声中,突然,你不小心踢翻了路边的花盆,长安公主注意到了你,示意你过去");
                Console.WriteLine("这时,你突然心生歹念,你会选择?");
            }
            else if (str == "2")
            {
                c_hp = hp;
                speed -= 20;
                Console.WriteLine("你选择了继续睡觉,第二天醒来精力充沛,血量回复到了最大值,但是因为昨晚被撞倒的缘故,你现在行动很慢,速度减少了20点。");
                ShowInfo();
                Console.WriteLine("你对于这世间的一切都恨透了,你打算怎么办?");
            }
            else
            {
                Console.WriteLine("长安公主听到了你的呼喊,进来看看你的情况,和她一同前来的还有一名看起来很凶的女子。");
                Console.WriteLine("经过一番询问,你知道了长安公主本名为:月月。而她身边的女子名为:小倩。");
                Console.WriteLine("经过交谈,你知道了月月公主的身份,你选择?");
            }
            Console.WriteLine("1,打晕她俩,搜刮她们身上的财产,远走高飞 2,连忙行礼,感谢公主的救命之恩");
            string str1 = Console.ReadLine();
            if (str1 == "1")
            {
                money += 1000;
                exp += 800;
                if (exp >= 1000)
                {
                    level += 1;
                    hp = hp + g_hp;
                    c_hp = c_hp + g_hp;
                    atk = atk + g_atk;
                    speed = speed + g_speed;
                    exp = exp - 1000;
                }
                Console.WriteLine("你抢劫了公主,并获得了1000两银子");
                ShowInfo();
                Console.WriteLine("这件事传到了皇上的耳朵里,皇上大怒,动用全城十万禁军捉拿你。");
                exp += 800;
                if (exp >= 1000)
                {
                    level += 1;
                    hp = hp + g_hp;
                    c_hp = c_hp + g_hp;
                    atk = atk + g_atk;
                    speed = speed + g_speed;
                    exp = exp - 1000;
                }
                speed += 50;
                Console.WriteLine("你东躲西藏,不经意间学会了御空飞行");
                ShowInfo();
                Console.WriteLine("销声匿迹后,你开始勤奋练功。");
            }
            else
            {
                money += 200;
                Console.WriteLine("经过一番交谈,公主看你可怜,给了你200两银子,并安排人送你出去找一份能养活自己的工作");
                ShowInfo();
                Console.WriteLine("然而命运对你却十分苛刻,你被骗到了深山之中,然后失去了150两银子,并且损失了50点生命值。");
                ShowInfo();
                Console.WriteLine("你对自己的命不满,试图逆天改命,隐居后疯狂修炼武功");
            }
        }
        //1年后
        static  void LuoYang()
        {
            level += 10;
            hp = hp + 10 * g_hp;
            c_hp = hp;
            atk = atk + 10 * g_atk;
            speed = speed + 10 * g_speed;
            Console.WriteLine("一年后,你的武功已经非常的高,方圆十里无人能和你抗衡");
            ShowInfo();
        }
        //武当山
        static void WuDangShan()
        {
            Console.WriteLine("你来到了武当山,此时的你早已不同当初,你信心倍增,打算拜入武当门派");
            Console.WriteLine("上山的路上你遇到了一名女子,名字叫做:灵儿。此时的你还不知道她就是你的命中情人。所以你没有理她,继续上山了。");
            Console.WriteLine("经过了长途跋涉,你终于到了武当山山顶,这时你再次遇到了灵儿,你会怎么做:");
            Console.WriteLine("1,上前撩她 2,假装没看到她");
            string str = Console.ReadLine();
            if (str == "1")
            {
                Console.WriteLine("灵儿是一个很害羞的女孩儿,你的举动吓到她了,她向你挥剑砍了过来,你准备:");
                Console.WriteLine("此时的你情商下线,拔出自己的刀,就要和灵儿对打,结果被刚刚来到的武当掌门看到了,灵儿是他的宝贝女儿,你的行为令他很失望,他将你赶下了山");
                Console.WriteLine("然而灵儿心有愧疚,对于她父亲的做法很生气,无奈之下,武当掌门又把你找了回去,决定留下你在武当山学习");
            }
            else
            {
                Console.WriteLine("你的害羞被灵儿看到了,她认为你的样子很有趣,主动上前搭讪你,询问你的名字,你选择:");
                Console.WriteLine("1,弄死她 2,弄死她");
                string str1 = Console.ReadLine();
                Console.WriteLine("你的反常举动令她非常意外,她突然觉得你这人很有趣,决定留下你在武当山学习");
            }
        }
        //修炼
        static void XiuLian()
        {
            Console.WriteLine("日久生情,当初的你怎么也不会想到如今的你和武当山大小姐走在了一起");
            level += 50;
            hp = hp + 50 * g_hp;
            c_hp = hp;
            atk = atk + 50 * g_atk;
            speed = speed + 50 * g_speed;
            ShowInfo();
            Console.WriteLine("从此你走上了人生巅峰!!!");
        }
        //主函数
        static void Main(string[] args)
        {
            //创建角色
            CreateCharacter();
            XinShouCun();
            ShowInfo();
            JiaoQu();
            ChangAn();
            LuoYang();
            WuDangShan();
            XiuLian();
        }
    }
}

猜你喜欢

转载自blog.csdn.net/zangyuepiaoling/article/details/107370308