• C#小游戏(文字对战游戏)


    第一代,不是很完善,会在后续增加更多的功能

    主:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 对战游戏
    {
        class Program
        {
            static void Main(string[] args)
            {
                Random r = new Random();
    
                Soldier s1 = new Soldier();
    
                Console.Write("请输入角色名:");
                s1.Name = Console.ReadLine();
                s1.Attack = r.Next(10, 101);
                s1.Blood = r.Next(2000, 3501);
                zhaoshi z1 = new zhaoshi();
                Console.Write("请输入技能1名称:");
                z1.Name = Console.ReadLine();
                z1.Attack= r.Next(100, 201);
                s1.Skill = z1;
                zhaoshi z2 = new zhaoshi();
                Console.Write("请输入技能2名称:");
                z2.Name1 = Console.ReadLine();
                z2.Attack1 = r.Next(150, 250);
                s1.Skill1 = z2;
                zhaoshi z3 = new zhaoshi();
                Console.Write("请输入必杀技名称:");
                z3.Name = Console.ReadLine();
                z3.Attack = r.Next(350, 501);
                s1.Slay= z3;
                //闪避
                s1.Miss = r.Next(0, 20);
                //格挡
                s1.block = r.Next(0, 50);
    
                Soldier s2 = new Soldier();
                Console.Write("请输入角色名:");
                s2.Name = Console.ReadLine();
                s2.Attack = r.Next(10, 101);
                s2.Blood = r.Next(2000, 3501);
                zhaoshi z4 = new zhaoshi();
                Console.Write("请输入技能1名称:");
                z4.Name = Console.ReadLine();
                z4.Attack = r.Next(100, 201);
                s2.Skill = z4;
                zhaoshi z5 = new zhaoshi();
                Console.Write("请输入技能2名称:");
                z5.Name1 = Console.ReadLine();
                z5.Attack1 = r.Next(150, 250);
                s2.Skill1 = z5;
                zhaoshi z6 = new zhaoshi();
                Console.Write("请输入必杀技名称:");
                z6.Name = Console.ReadLine();
                z6.Attack = r.Next(350, 501);
                s2.Slay = z6;
    
                s2.Miss = r.Next(0, 20);
                s2.block = r.Next(0, 50);
    
                Console.WriteLine("============================================战士信息展示=============================================");
                Console.WriteLine("战士1:" + s1.Name + ",攻击:" + s1.Attack + ",闪避:" + s1.Miss + ",格挡:" + s1.block + ", 血量:" + s1.Blood + ",技能1:" + s1.Skill.Name + "" + s1.Skill.Attack + ",技能2:" + s1.Skill1.Name1 + "" + s1.Skill1.Attack1 + ",必杀技:" + s1.Slay.Name + "" + s1.Slay.Attack);
                Console.WriteLine("战士2:" + s2.Name + ",攻击:" + s2.Attack + ",闪避:" + s2.Miss + ",格挡:" + s1.block + ",血量:" + s2.Blood + ",技能1:" + s2.Skill.Name + "" + s2.Skill.Attack + ",技能2:" + s2.Skill1.Name1 + "" + s2.Skill1.Attack1 + ",必杀技:" + s2.Slay.Name + "" + s2.Slay.Attack);
                Console.WriteLine("按下任意键开始战斗!!!");
                Console.ReadKey();
    
                int count = 1;
                while (true)
                {
                    Console.WriteLine("==========================第" + count + "回合==========================");
                    System.Threading.Thread.Sleep(1500);
    
                    if (r.Next(0, 101) < s2.Miss)
                    {
                        Console.WriteLine(s2.Name + "躲避了此次攻击!!!");
                    }
                    else
                    {
                        if (r.Next(0, 101) < s2.block)
                        {
                            {
                                Console.WriteLine(s2.Name + "格挡了此次攻击!!!");
                            }
                        }
                        else
                        {
                            int ss1 = r.Next(0, 100);
    
                            if (ss1 > 90)//开大招
                            {
                                Console.ForegroundColor = ConsoleColor.Red;
    
                                Console.WriteLine("" + s1.Name + "】对【" + s2.Name + "】释放了★★★★★▄︻┻═┳一" + s1.Slay.Name + "★★★★★,造成" + s1.Slay.Attack + "点伤害,【" + s2.Name + "】剩余" + (s2.Blood - s1.Slay.Attack) + "点血量");
                                Console.WriteLine();
                                //S2扣血
                                s2.Blood -= s1.Slay.Attack;
                            }
                            else if (ss1 >= 70 && ss1 <= 90)//开小招
                            {
                                int ss3 = r.Next(0, 100);
    
                                if (ss3 >= 0 && ss3 < 50)
                                {
                                    Console.ForegroundColor = ConsoleColor.Yellow;
    
                                    Console.WriteLine("" + s1.Name + "】对【" + s2.Name + "】释放了☆☆☆" + s1.Skill.Name + "☆☆☆,造成" + s1.Skill.Attack + "点伤害,【" + s2.Name + "】剩余" + (s2.Blood - s1.Skill.Attack) + "点血量");
                                    Console.WriteLine();
                                    //S2扣血
                                    s2.Blood -= s1.Skill.Attack;
                                }
                                else
                                {
                                    Console.ForegroundColor = ConsoleColor.Blue;
    
                                    Console.WriteLine("" + s1.Name + "】对【" + s2.Name + "】释放了☆☆☆" + s1.Skill1.Name1 + "☆☆☆,造成" + s1.Skill1.Attack1 + "点伤害,【" + s2.Name + "】剩余" + (s2.Blood - s1.Skill1.Attack1) + "点血量");
                                    Console.WriteLine();
                                    //S2扣血
                                    s2.Blood -= s1.Skill.Attack;
                                }
                            }
                            else//普通攻击
                            {
                                Console.ForegroundColor = ConsoleColor.White;
    
                                Console.WriteLine("" + s1.Name + "】攻击了【" + s2.Name + "】,造成" + s1.Attack + "点伤害,【" + s2.Name + "】剩余" + (s2.Blood - s1.Attack) + "点血量");
                                Console.WriteLine();
                                //S2扣血
                                s2.Blood -= s1.Attack;
                            }
    
                            //判断战士2是否阵亡
                            if (s2.Blood <= 0)
                            {
                                Console.WriteLine("" + s2.Name + "】已阵亡!【" + s1.Name + "】是获胜者!!!");
                                break;
                            }
                        }
                        //战士2开始攻击
    
                        System.Threading.Thread.Sleep(1500);
    
                        if (r.Next(0, 101) < s1.Miss)
                        {
                            Console.WriteLine(s1.Name + "躲避了此次攻击!!!");
                        }
                        else
                        {
                            if (r.Next(0, 101) < s1.block)
                            {
                                {
                                    Console.WriteLine(s1.Name + "格挡了此次攻击!!!");
                                }
                            }
                            else
                            {
                                int ss2 = r.Next(0, 100);
    
                                if (ss2 > 90)//开大招
                                {
                                    Console.ForegroundColor = ConsoleColor.Red;
    
                                    Console.WriteLine("" + s2.Name + "】对【" + s1.Name + "】释放了★★★★★▄︻┻═┳一" + s2.Slay.Name + "★★★★★,造成" + s2.Slay.Attack + "点伤害,【" + s1.Name + "】剩余" + (s1.Blood - s2.Slay.Attack) + "点血量");
                                    Console.WriteLine();
                                    //S2扣血
                                    s1.Blood -= s2.Slay.Attack;
                                }
                                else if (ss2 >= 70 && ss2 <= 90)//开小招
                                {
                                    int ss4 = r.Next(0, 100);
                                    if (ss4 >= 0 && ss4 < 50)
                                    {
                                        Console.ForegroundColor = ConsoleColor.Yellow;
    
                                        Console.WriteLine("" + s2.Name + "】对【" + s1.Name + "】释放了☆☆☆" + s2.Skill.Name + "☆☆☆,造成" + s2.Skill.Attack + "点伤害,【" + s1.Name + "】剩余" + (s1.Blood - s2.Skill.Attack) + "点血量");
                                        Console.WriteLine();
                                        //S2扣血
                                        s1.Blood -= s2.Skill.Attack;
                                    }
                                    else
                                    {
                                        Console.ForegroundColor = ConsoleColor.Blue;
    
                                        Console.WriteLine("" + s2.Name + "】对【" + s1.Name + "】释放了☆☆☆" + s2.Skill1.Name1 + "☆☆☆,造成" + s2.Skill1.Attack1 + "点伤害,【" + s1.Name + "】剩余" + (s1.Blood - s2.Skill1.Attack1) + "点血量");
                                        Console.WriteLine();
                                        //S2扣血
                                        s1.Blood -= s2.Skill.Attack;
                                    }
                                }
                                else//普通攻击
                                {
                                    Console.ForegroundColor = ConsoleColor.White;
    
                                    Console.WriteLine("" + s2.Name + "】攻击了【" + s1.Name + "】,造成" + s2.Attack + "点伤害,【" + s1.Name + "】剩余" + (s1.Blood - s2.Attack) + "点血量");
                                    Console.WriteLine();
                                    //S2扣血
                                    s1.Blood -= s2.Attack;
                                }
                                if (s1.Blood <= 0)
                                {
                                    Console.WriteLine("" + s1.Name + "】已阵亡!【" + s2.Name + "】是获胜者!!!");
                                    break;
                                }
                            }
                        }
                    }
    
                    count++;
                }
                Console.ReadKey();
               
            }
        }
    }
    View Code

    辅:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 对战游戏
    {
        class zhaoshi
        {
            private string name;
    
            /// <summary>
            /// 招式名称
            /// </summary>
            public string Name
            {
                get { return name; }
                set { name = value; }
            }
    
            private string name1;
    
            /// <summary>
            /// 招式名称
            /// </summary>
            public string Name1
            {
                get { return name1; }
                set { name1 = value; }
            }
    
            private int attack;
    
            /// <summary>
            /// 招式攻击
            /// </summary>
            public int Attack
            {
                get { return attack; }
                set { attack = value; }
            }
    
            private int attack1;
    
            /// <summary>
            /// 招式攻击
            /// </summary>
            public int Attack1
            {
                get { return attack1; }
                set { attack1 = value; }
            }
    
    
        }
    }
    技能
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 对战游戏
    {
        class Soldier
        {
            //名字
            private string name;
    
            public string Name
            {
                get { return name; }
                set { name = value; }
            }
            //血量
            private int blood;
    
            public int Blood
            {
                get { return blood; }
                set { blood = value; }
            }
            //攻击力
            private int attack;
    
            public int Attack
            {
                get { return attack; }
                set { attack = value; }
            }
            //技能
            private zhaoshi skill;
    
            public zhaoshi Skill
            {
                get { return skill; }
                set { skill = value; }
            }
    
            private zhaoshi skill1;
    
            public zhaoshi Skill1
            {
                get { return skill1; }
                set { skill1 = value; }
            }
            //必杀技
            private zhaoshi slay;
    
            internal zhaoshi Slay
            {
                get { return slay; }
                set { slay = value; }
            }
            //闪避
            private int miss;
    
            public int Miss
            {
                get { return miss; }
                set { miss = value; }
            }
            //暴击
            private int critical;
    
            public int Critical
            {
                get { return critical; }
                set { critical = value; }
            }
            //格挡
            private int Block;
    
            public int block
            {
                get { return Block; }
                set { Block = value; }
            }
    
        }
    }
    人物属性

    内容截图:

  • 相关阅读:
    关于面向对象
    关于内存的划分和传引用传参数的区别
    关于目前我们专业的各种发展方向
    关于C语言底层
    关于游戏行业目前的形势
    关于jsp,javascript,php等语言
    鼠标滑动图片变大
    在Linux环境下mysql的root密码忘记解决方法
    百度网盘
    bootsrtap 主题元素
  • 原文地址:https://www.cnblogs.com/jiuban2391/p/6104175.html
Copyright © 2020-2023  润新知