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.牌庫 = 牌庫初始化.牌庫; }
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.牌庫 = 牌庫初始化.牌庫; }
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())); }
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); }