• 对战游戏


    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace 对战
    {
        class Program
        {
            public struct name
            {
                public string mingzi;
                public int gongjili;
                public double xueliang;
                public double fangyuli;
            }
            public struct Jineng
            {
                public string mingcheng;
                public double shanghai;
            }
            public struct Jineng2
            {
                public string mingcheng;
                public double shanghai;
            }
            public struct wuqi
            {
                public string mingcheng;
                public int shanghai;
            }
            public struct fangyu
            {
                public string mingcheng;
                public int fangyuli;
                public double fanshang;
                public double huixue;
                public int gongjili;
    
            }
    
            static void Main(string[] args)
            {
                #region 攻击武器库
                wuqi wq1 = new wuqi();
                wq1.mingcheng = "倚天剑";
                wq1.shanghai = 5;
                wuqi wq2 = new wuqi();
                wq2.mingcheng = "屠龙刀";
                wq2.shanghai = 10;
                wuqi wq3 = new wuqi();
                wq3.mingcheng = "沙漠之鹰";
                wq3.shanghai = 20;
                wuqi wq4 = new wuqi();
                wq4.mingcheng = "AWM";
                wq4.shanghai = 100;
                Random wq = new Random();
                #endregion
                #region 防装
                fangyu fy1 = new fangyu();
                fy1.mingcheng = "反伤甲";
                fy1.fangyuli = 30;
                fy1.fanshang = 0.3;
                fangyu fy2 = new fangyu();
                fy2.mingcheng = "狂徒铠甲";
                fy2.huixue = 2;
                fy2.fanshang = 1;
                fangyu fy3 = new fangyu();
                fy3.mingcheng = "烈焰护臂";
                fy3.fangyuli = 15;
                fy3.gongjili = 3;
    
                #endregion
                #region 创建技能库
                ArrayList jineng = new ArrayList();
                Jineng ji1 = new Jineng();
                ji1.mingcheng = "德玛西亚正义";
                ji1.shanghai = 8;
                Jineng ji2 = new Jineng();
                ji2.mingcheng = "诺克萨斯断头台";
                ji2.shanghai = 6;
                Jineng ji3 = new Jineng();
                ji3.mingcheng = "狂风绝息斩";
                ji3.shanghai = 5;
                Jineng ji4 = new Jineng();
                ji4.mingcheng = "禁奥义!瞬狱影杀阵";
                ji4.shanghai = 10;
                jineng.Add(ji1);
                jineng.Add(ji2);
                jineng.Add(ji3);
                jineng.Add(ji4);
                ArrayList jineng2 = new ArrayList();
                Jineng2 ji2_1 = new Jineng2();
                ji2_1.mingcheng = "慈航普度";
                ji2_1.shanghai = 1.5;
                Jineng2 ji2_2 = new Jineng2();
                ji2_2.mingcheng = "神佑复生";
                ji2_2.shanghai = 2;
                Jineng2 ji2_3 = new Jineng2();
                ji2_3.mingcheng = "四海升平";
                ji2_3.shanghai = 0.8;
                jineng2.Add(ji2_1);
                jineng2.Add(ji2_2);
                jineng2.Add(ji2_3);
                #endregion
                #region 创建战士
                Console.Write("请输入第一个战士姓名:");
                name name1 = new name();
                name1.mingzi = (Console.ReadLine());
                Random chushigongji = new Random();
                Random chushixuliang = new Random();
                Random chushifangyuli = new Random();
                name1.fangyuli = chushifangyuli.Next(0, 31);
                name1.gongjili = chushigongji.Next(10000, 100001);
                name1.xueliang = chushixuliang.Next(100000, 1000001);
                int huodewuqi = wq.Next(0, 101);
                int huodefz = wq.Next(0, 101);
                System.Threading.Thread.Sleep(1000);
                Console.ForegroundColor = ConsoleColor.DarkYellow;
                if (huodefz <= 33)
                {
                    Console.WriteLine("恭喜" + name1.mingzi + "获得防御武器" + fy1.mingcheng);
                    name1.fangyuli += fy1.fangyuli;
    
                }
                else if (huodefz <= 66)
                {
                    Console.WriteLine("恭喜" + name1.mingzi + "获得防御武器" + fy2.mingcheng + "生命值翻倍!!");
                    name1.fangyuli += fy2.fangyuli;
                    name1.xueliang *= Convert.ToInt32(fy2.huixue);
                }
                else if (huodefz <= 99)
                {
                    Console.WriteLine("恭喜" + name1.mingzi + "获得防御武器" + fy3.mingcheng + "增加攻击力");
                    name1.fangyuli += fy3.fangyuli;
                    name1.gongjili += fy3.gongjili;
                }
                else
                {
                    Console.WriteLine("你厉害!!" + name1.mingzi + "1%概率都能抽到!!");
                }
                System.Threading.Thread.Sleep(1000);
                Console.ForegroundColor = ConsoleColor.DarkRed;
                if (huodewuqi <= 5)
                {
                    Console.WriteLine(name1.mingzi + "获得武器" + wq4.mingcheng);
                    name1.gongjili *= wq4.shanghai;
                }
                else if (huodewuqi <= 20)
                {
                    Console.WriteLine(name1.mingzi + "获得武器" + wq3.mingcheng);
                    name1.gongjili *= wq3.shanghai;
                }
                else if (huodewuqi <= 50)
                {
                    Console.WriteLine(name1.mingzi + "获得武器" + wq2.mingcheng);
                    name1.gongjili *= wq2.shanghai;
                }
                else
                {
                    Console.WriteLine(name1.mingzi + "获得武器" + wq1.mingcheng);
                    name1.gongjili *= wq1.shanghai;
                }
                
                System.Threading.Thread.Sleep(1000);
                Console.WriteLine("角色信息");
                Console.WriteLine("人物姓名:" + name1.mingzi);
                Console.WriteLine("初始防御力为:" + name1.fangyuli);
                Console.WriteLine("初始攻击力为:" + name1.gongjili);
                Console.WriteLine("初始生命值为:" + name1.xueliang);
    
                System.Threading.Thread.Sleep(1000);
                Console.Write("请输入第二个战士姓名:");
                name name2 = new name();
                name2.mingzi = (Console.ReadLine());
                name2.fangyuli = chushifangyuli.Next(0, 31);
                name2.gongjili = chushigongji.Next(10000, 100001);
                name2.xueliang = chushixuliang.Next(100000, 1000001);
                int huodewuqi2 = wq.Next(0, 101);
                System.Threading.Thread.Sleep(1000);
                Console.ForegroundColor = ConsoleColor.DarkYellow;
                if (huodefz <= 33)
                {
                    Console.WriteLine("恭喜" + name1.mingzi + "获得防御武器" + fy1.mingcheng);
                    name1.fangyuli += fy1.fangyuli;
    
                }
                else if (huodefz <= 66)
                {
                    Console.WriteLine("恭喜" + name1.mingzi + "获得防御武器" + fy2.mingcheng + "生命值翻倍");
                    name1.fangyuli += fy2.fangyuli;
                    name2.xueliang *= Convert.ToInt32(fy2.huixue);
                }
                else if (huodefz <= 99)
                {
                    Console.WriteLine("恭喜" + name1.mingzi + "获得防御武器" + fy3.mingcheng + "增加攻击力");
                    name1.fangyuli += fy3.fangyuli;
                }
                else
                {
                    Console.WriteLine("你厉害!!" + name1.mingzi + "1%概率都能抽到!!");
                }
                System.Threading.Thread.Sleep(1000);
                Console.ForegroundColor = ConsoleColor.DarkRed;
                if (huodewuqi2 <= 5)
                {
                    Console.WriteLine(name2.mingzi + "获得武器" + wq4.mingcheng);
                    name2.gongjili *= wq4.shanghai;
                }
                else if (huodewuqi2 <= 20)
                {
                    Console.WriteLine(name2.mingzi + "获得武器" + wq3.mingcheng);
                    name2.gongjili *= wq3.shanghai;
                }
                else if (huodewuqi2 <= 50)
                {
                    Console.WriteLine(name2.mingzi + "获得武器" + wq2.mingcheng);
                    name2.gongjili *= wq2.shanghai;
                }
                else
                {
                    Console.WriteLine(name2.mingzi + "获得武器" + wq1.mingcheng);
                    name2.gongjili *= wq1.shanghai;
                }
                System.Threading.Thread.Sleep(1000);
                
                Console.WriteLine("角色信息");
                Console.WriteLine("人物姓名:" + name2.mingzi);
                Console.WriteLine("初始防御力" + name2.fangyuli);
                Console.WriteLine("初始攻击力为:" + name2.gongjili);
                Console.WriteLine("初始生命值为:" + name2.xueliang);
                System.Threading.Thread.Sleep(1000);
                Console.WriteLine("开始对战请按任意键!");
                Console.ReadKey();
                System.Threading.Thread.Sleep(1000);
                #endregion
    
                while (true)
                {
    
                    double shanghai = 0;
                    double shanghai2 = 0;
                    double xueliang = 0;
                    //name1对name2造成伤害
                    Random x = new Random();
                    int syjn = x.Next(1, 101);
                    
                    if (syjn <= 40)
                    {
                        Jineng jn = (Jineng)jineng[x.Next(0, jineng.Count)];
                    
                        shanghai = Program.Gongjili(name1.gongjili) * jn.shanghai * (name2.fangyuli / 100);
                        xueliang = name2.xueliang - shanghai;
                        Console.ForegroundColor = ConsoleColor.Cyan;
                        Console.WriteLine(name1.mingzi + "" + name2.mingzi + "使用了★★★" + jn.mingcheng + "★★★,造成" + shanghai + "点伤害," + name2.mingzi + "剩余血量为" + xueliang);
                        System.Threading.Thread.Sleep(1000);
                        Console.WriteLine();
                    }
                    else if (syjn <= 55)
                    {
                        Jineng2 jn = (Jineng2)jineng2[x.Next(0, jineng2.Count)];
                        shanghai = Convert.ToInt32(Program.Gongjili(name1.gongjili) * jn.shanghai);
                        xueliang = name2.xueliang + shanghai;
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.WriteLine(name1.mingzi + "触发回血技能★★★" + jn.mingcheng + "★★★,对自身恢复" + shanghai + "剩余血量:" + xueliang);
                        System.Threading.Thread.Sleep(1000);
                        Console.WriteLine();
    
                    }
                    else
                    {
                        shanghai = Program.Gongjili(name1.gongjili) * (name2.fangyuli / 100);
                        xueliang = name2.xueliang - shanghai;
                        Console.ForegroundColor = ConsoleColor.White;
                        Console.WriteLine(name1.mingzi + "" + name2.mingzi + "使用了普通攻击,造成" + shanghai + "点伤害," + name2.mingzi + "剩余血量为" + xueliang);
                        System.Threading.Thread.Sleep(1000);
                        Console.WriteLine();
                    }
                    if (xueliang <= 0)
                    {
                        Console.WriteLine("恭喜" + name1.mingzi + "胜利");
                        break;
                    }
                    
                    //name2对name1造成伤害
                    if (syjn <= 40)
                    {
                         
                        
                        Jineng jn = (Jineng)jineng[x.Next(0, jineng.Count)];
    
                        shanghai2 = Program.Gongjili(name2.gongjili) * jn.shanghai*(name1.fangyuli / 100);
                        xueliang = name1.xueliang - shanghai2;
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine(name2.mingzi + "" + name1.mingzi + "使用了★★★" + jn.mingcheng + "★★★,造成" + shanghai2 + "点伤害," + name1.mingzi + "剩余血量为" + xueliang);
                        System.Threading.Thread.Sleep(1000);
                        Console.WriteLine();
                    }
                    else if (syjn <= 55)
                    {
                        Jineng2 jn = (Jineng2)jineng2[x.Next(0, jineng2.Count)];
                        shanghai2 = Program.Gongjili(name2.gongjili) * jn.shanghai;
                        xueliang = name1.xueliang + shanghai;
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.WriteLine(name2.mingzi + "触发回血技能★★★" + jn.mingcheng + "★★★,对自身恢复" + shanghai2 + "剩余血量:" + xueliang);
                        System.Threading.Thread.Sleep(1000);
                        Console.WriteLine();
                    }
                    else
                    {
                        shanghai = Program.Gongjili(name1.gongjili) * (name1.fangyuli / 100);
                        xueliang = name1.xueliang - shanghai;
                        Console.ForegroundColor = ConsoleColor.White;
                        Console.WriteLine(name2.mingzi + "" + name1.mingzi + "使用了普通攻击,造成" + shanghai + "点伤害," + name1.mingzi + "剩余血量为" + xueliang);
                        System.Threading.Thread.Sleep(1000);
                        Console.WriteLine();
                    }
                    
                    //当name2生命值低于0时name1胜利
                    if (xueliang <= 0)
                    {
                        Console.WriteLine("恭喜" + name2.mingzi + "胜利");
                        break;
                    }
                }
    
    
    
                Console.ReadKey();
    
            }
    
            public static int Gongjili(int a)
            {
                int cc = 0;
                Random r = new Random();
                int aa = r.Next(1, 15000);
                int bb = r.Next(0, 2);
                if (bb == 0)
                {
                    cc = a + aa;
                }
                else
                {
                    cc = a - aa;
                }
                return cc;
            }
            public static int fangyuli(int b)
            {
    
                Random r = new Random();
                int aa = r.Next(0, 30);
                return aa;
            }
        }
    }
  • 相关阅读:
    第一章ASP.NET SignalR简介
    第六章SignalR的服务器广播
    第五章SignalR的实时高频通讯
    第四章SignalR自托管主机
    第三章SignalR在线聊天例子
    第二章SignalR所支持的平台
    DevExpress ASPxHtmlEditor控件格式化并导出Word (修复中文字体导出丢失)
    改进的简单Tooltips显示
    C# WebForm 使用NPOI 2 生成简单的word文档(.docx)
    一些自用的小工具,分享给非程序猿们
  • 原文地址:https://www.cnblogs.com/yangchuanqi/p/7804764.html
Copyright © 2020-2023  润新知