示例#1
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.牌庫 = 牌庫初始化.牌庫;
            }
示例#2
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.牌庫 = 牌庫初始化.牌庫;
            }
示例#3
0
            public string 取得目前牌庫(string 角色)
            {
                List <int> 目前牌庫 = new List <int>();

                //目前只有玩家會有抽完牌庫的問題
                if (牌庫.Count == 0)
                {
                    List <string> 卡牌清單 = new List <string>();
                    卡牌清單 = GH.CardList(this.稱, 角色);
                    牌庫初始化 牌庫初始化 = new 牌庫初始化(卡牌清單);
                    this.牌庫 = 牌庫初始化.牌庫;
                }

                foreach (卡牌 卡牌 in 牌庫)
                {
                    目前牌庫.Add(卡牌.順序編號);
                }

                return(string.Join(",", 目前牌庫.ToArray()));
            }
示例#4
0
            public isRock.LineBot.CarouselTemplate 每日動作抽卡並暫存(玩家 玩家, ref List <isRock.LineBot.MessageBase> responseMsgs)
            {
                _key = Guid.NewGuid().ToString();

                _key = _key.Replace('-', '=');

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

                牌庫初始化 牌庫初始化 = new 牌庫初始化(卡牌清單);

                地城牌庫初始化 地城牌庫初始化 = new 地城牌庫初始化();

                Random rdm1 = new Random(unchecked ((int)DateTime.Now.Ticks));



                List <地城卡牌> 玩家抽到 = new List <地城卡牌>();

                int 牌庫數量;
                int 每日行動抽到 = 0;

                // 玩家抽牌(抽三張)
                while (玩家抽到.Count < 3)
                {
                    if (玩家.動作次數 > 5)
                    {
                        每日行動抽到 = rdm1.Next(0, 地城牌庫初始化.牌庫.Count);
                    }
                    else
                    {
                        每日行動抽到 = rdm1.Next(0, 地城牌庫初始化.牌庫.Count - 1);
                    }

                    if (!玩家抽到.Contains(地城牌庫初始化.牌庫[每日行動抽到]))
                    {
                        玩家抽到.Add(地城牌庫初始化.牌庫[每日行動抽到]);
                    }
                }
                string 抽到卡牌 = "";

                foreach (地城卡牌 卡牌 in 玩家抽到)
                {
                    if (玩家抽到[玩家抽到.Count - 1] == 卡牌)
                    {
                        抽到卡牌 += 卡牌.順序編號;
                    }
                    else
                    {
                        抽到卡牌 += 卡牌.順序編號 + ",";
                    }
                }
                //玩家選擇地城顯示
                responseMsgs.Add(new isRock.LineBot.TextMessage("請選擇該回合動作"));

                var actions1 = new List <isRock.LineBot.TemplateActionBase>();

                //actions1.Add(new isRock.LineBot.MessageAction() { label = "選擇此動作", text = "RPG-TeM-每日動作-選擇-" + 玩家抽到[0].卡牌名稱 + _key + "-" + 玩家抽到[0].卡牌名稱 });
                actions1.Add(new isRock.LineBot.MessageAction()
                {
                    label = "選擇此動作", text = 玩家抽到[0].指令
                });
                var actions2 = new List <isRock.LineBot.TemplateActionBase>();

                actions2.Add(new isRock.LineBot.MessageAction()
                {
                    label = "選擇此動作", text = 玩家抽到[1].指令
                });
                var actions3 = new List <isRock.LineBot.TemplateActionBase>();

                actions3.Add(new isRock.LineBot.MessageAction()
                {
                    label = "選擇此動作", text = 玩家抽到[2].指令
                });

                var Column1 = new isRock.LineBot.Column
                {
                    text  = 玩家抽到[0].卡牌名稱,
                    title = 玩家抽到[0].卡牌名稱,
                    //設定圖片
                    thumbnailImageUrl = new Uri(玩家抽到[0].圖片網址),
                    actions           = actions1 //設定回覆動作
                };

                var Column2 = new isRock.LineBot.Column
                {
                    text  = 玩家抽到[1].卡牌名稱,
                    title = 玩家抽到[1].卡牌名稱,
                    //設定圖片
                    thumbnailImageUrl = new Uri(玩家抽到[1].圖片網址),
                    actions           = actions2 //設定回覆動作
                };

                var Column3 = new isRock.LineBot.Column
                {
                    text  = 玩家抽到[2].卡牌名稱,
                    title = 玩家抽到[2].卡牌名稱,
                    //設定圖片
                    thumbnailImageUrl = new Uri(玩家抽到[2].圖片網址),
                    actions           = actions3 //設定回覆動作
                };
                //建立CarouselTemplate
                var CarouselTemplate = new isRock.LineBot.CarouselTemplate();

                CarouselTemplate.columns.Add(Column1);
                CarouselTemplate.columns.Add(Column2);
                CarouselTemplate.columns.Add(Column3);


                return(CarouselTemplate);
            }