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; }
        }

    }
}
人物属性

内容截图:

 

转载于:https://www.cnblogs.com/jiuban2391/p/6104175.html

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮助你创建一个简单的拳皇文字小游戏。这个游戏将在控制台中进行,玩家可以选择不同的角色和动作来与电脑对战。我将为你提供一个基本的代码框架,你可以在此基础上进行扩展和修改。 首先,我们需要创建一个角色类,用于表示游戏中的角色。每个角色都有自己的名称、生命值和攻击力。在控制台中,我们可以使用以下代码来定义角色类: ```csharp class Character { public string Name { get; set; } public int Health { get; set; } public int Attack { get; set; } public Character(string name, int health, int attack) { Name = name; Health = health; Attack = attack; } } ``` 接下来,我们可以创建一个游戏类,用于处理游戏逻辑和用户交互。在游戏类中,我们可以定义一些方法,例如选择角色、执行动作和判断胜负等。以下是一个示例: ```csharp class Game { private Character player; private Character computer; public void Start() { Console.WriteLine("Welcome to the Street Fighter game!"); SelectCharacters(); Fight(); PrintResult(); Console.WriteLine("Thanks for playing!"); } private void SelectCharacters() { // 玩家选择角色 Console.WriteLine("Select your character:"); // 这里可以列出可供选择的角色,例如:"1. Ryu", "2. Ken", "3. Chun-Li"等 // 根据玩家的选择创建角色对象并赋值给player变量 // 电脑随机选择角色 Random random = new Random(); int computerChoice = random.Next(1, 4); // 假设有3个角色可供电脑选择 // 根据电脑的选择创建角色对象并赋值给computer变量 } private void Fight() { // 实现游戏战斗逻辑,例如玩家和电脑轮流攻击对方,直到有一方生命值为0 } private void PrintResult() { // 打印游戏结果,例如输出胜利方的信息或平局信息 } } ``` 最后,我们可以在程序的入口点(Main方法)中创建一个游戏对象并启动游戏: ```csharp class Program { static void Main(string[] args) { Game game = new Game(); game.Start(); } } ``` 这只是一个简单的示例代码,你可以根据自己的需要进行扩展和修改。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值