Esempio n. 1
0
            public 怪物(string 怪物名稱)
            {
                BOTCH.Controllers.GooglesHeet GH = new GooglesHeet();
                GH.SstGooglesHeet();
                var values = GH.ReadEntries("怪物", "A", "J");

                List <string> 卡牌清單 = new List <string>();

                foreach (var row in values)
                {
                    if (row[0].ToString() == 怪物名稱)
                    {
                        this.稱    = row[HC.A].ToString();
                        this.階級   = row[HC.B].ToString();
                        this.血量   = Convert.ToInt32(row[HC.C]);
                        this.傷害   = Convert.ToInt32(row[HC.D]);
                        this.圖片網址 = row[HC.E].ToString();

                        break;
                    }
                }

                卡牌清單 = GH.CardList(this.稱, "怪物");
                牌庫初始化 牌庫初始化 = new 牌庫初始化(卡牌清單);

                this.牌庫 = 牌庫初始化.牌庫;
            }
Esempio n. 2
0
            public 玩家(string 角色名稱)
            {
                BOTCH.Controllers.GooglesHeet GH = new GooglesHeet();
                GH.SstGooglesHeet();
                var values = GH.ReadEntries("角色", "A", "M");

                List <string> 卡牌清單 = new List <string>();

                foreach (var row in values)
                {
                    if (row[0].ToString() == 角色名稱)
                    {
                        this.稱    = row[HC.A].ToString();
                        this.職業   = row[HC.B].ToString();
                        this.血量   = Convert.ToInt32(row[HC.C]);
                        this.傷害   = Convert.ToInt32(row[HC.D]);
                        this.樓層   = Convert.ToInt32(row[HC.E]);
                        this.動作日期 = Convert.ToDateTime(row[HC.F]);
                        this.動作次數 = Convert.ToInt32(row[HC.G]);

                        break;
                    }
                }

                卡牌清單 = GH.CardList(this.稱, "玩家");
                牌庫初始化 牌庫初始化 = new 牌庫初始化(卡牌清單);

                this.牌庫 = 牌庫初始化.牌庫;
            }
Esempio n. 3
0
        public 技能(string name)
        {
            BOTCH.Controllers.GooglesHeet GH = new GooglesHeet();
            List <string> 技能資訊 = GH.ReadSkillEntries(name);

            稱  = 技能資訊[0];
            類型 = 技能資訊[1];
            傷害 = Convert.ToDouble(技能資訊[2]);
        }
Esempio n. 4
0
        public string 戰鬥計算(string message)
        {
            Random rnd = new Random(Guid.NewGuid().GetHashCode());

            string[] TArray = message.Split('-');
            string   戰鬥描述   = "對戰開始\n";
            int      計數器    = 1;

            List <戰鬥角色> 戰鬥角色LIST = new List <戰鬥角色>();

            BOTCH.Controllers.GooglesHeet GH = new GooglesHeet();

            if (GH.ReadRoleEntries(TArray[2]).Count == 0)
            {
                戰鬥描述 = TArray[2] + " 指定的玩家不存在";
            }
            else if (GH.ReadRoleEntries(TArray[3]).Count == 0)
            {
                戰鬥描述 = TArray[3] + "指定的玩家不存在";
            }
            else
            {
                List <string> 玩家1   = GH.ReadRoleEntries(TArray[2]);
                List <string> 玩家2   = GH.ReadRoleEntries(TArray[3]);
                戰鬥角色          戰鬥角色1 = new 戰鬥角色(玩家1);
                戰鬥角色          戰鬥角色2 = new 戰鬥角色(玩家2);

                while (戰鬥角色1.HP > 0 && 戰鬥角色2.HP > 0 && 計數器 <= 30)
                {
                    戰鬥描述 += "=====第 " + 計數器 + " 回合===== \n";

                    //先手判斷
                    if (戰鬥角色1.敏捷 > 戰鬥角色2.敏捷)
                    {
                        戰鬥描述 = 戰鬥過程(戰鬥角色1, 戰鬥角色2, 戰鬥描述);

                        if (戰鬥角色2.HP > 0)
                        {
                            戰鬥描述 = 戰鬥過程(戰鬥角色2, 戰鬥角色1, 戰鬥描述);
                        }
                        else
                        {
                            break;
                        }
                    }
                    else if (戰鬥角色1.敏捷 == 戰鬥角色2.敏捷)
                    {
                        int 玩家1_是否先攻 = rnd.Next(0, 1);
                        if (玩家1_是否先攻 == 1)
                        {
                            戰鬥描述 = 戰鬥過程(戰鬥角色1, 戰鬥角色2, 戰鬥描述);

                            if (戰鬥角色2.HP > 0)
                            {
                                戰鬥描述 = 戰鬥過程(戰鬥角色2, 戰鬥角色1, 戰鬥描述);
                            }
                            else
                            {
                                break;
                            }
                        }
                        else
                        {
                            戰鬥描述 = 戰鬥過程(戰鬥角色2, 戰鬥角色1, 戰鬥描述);

                            if (戰鬥角色1.HP > 0)
                            {
                                戰鬥描述 = 戰鬥過程(戰鬥角色1, 戰鬥角色2, 戰鬥描述);
                            }
                            else
                            {
                                break;
                            }
                        }
                    }
                    else
                    {
                        戰鬥描述 = 戰鬥過程(戰鬥角色2, 戰鬥角色1, 戰鬥描述);

                        if (戰鬥角色1.HP > 0)
                        {
                            戰鬥描述 = 戰鬥過程(戰鬥角色1, 戰鬥角色2, 戰鬥描述);
                        }
                        else
                        {
                            break;
                        }
                    }

                    計數器++;
                }

                戰鬥描述 += "對戰結束\n";

                if (戰鬥角色1.HP < 0)
                {
                    戰鬥描述 += 戰鬥角色2.姓名 + " 勝利  血量剩餘:" + 戰鬥角色2.HP + "\n";
                }
                else if (戰鬥角色2.HP < 0)
                {
                    戰鬥描述 += 戰鬥角色1.姓名 + " 勝利  血量剩餘:" + 戰鬥角色1.HP + "\n";
                }
                else if (計數器 >= 20)
                {
                    戰鬥描述 = "兩位大俠已經酣戰20回合,不如就此休息,算平手吧。";
                }
            }


            return(戰鬥描述);
        }