遊戲名稱遮蔽字簡單篩選Demo
阿新 • • 發佈:2018-12-10
static List<string> strs = new List<string>(); public static string ComparisonStr(string str) { char[] ch = str.ToCharArray(); for (int i = 0; i < ch.Length; i++) { if (strs.Exists(e => e == ch[i].ToString())) { return "存在"; } else { //4表示最大四個字的篩選 if (MaxNum(ch, i, 4)) { return "存在"; } } } return null; } public static bool MaxNum(char[] ch, int var, int num) { for (int i = 1; i < num; i++) { if (var < ch.Length - i) { if (AddChar(ch, var, i + 1)) { return true; }; } } return false; } /// <param name="ch">位元組陣列</param> /// <param name="var">當前迴圈的i值</param> /// <param name="num">string的個數</param> /// <returns></returns> public static bool AddChar(char[] ch, int var, int num) { string str = string.Empty; for (int i = 0; i < num; i++) { str += ch[var + i].ToString(); } if (strs.Exists(e => e == str)) { return true; } return false; }
控制檯測試程式碼
static void Main(string[] args) { strs.Add("1"); strs.Add("56"); strs.Add("789"); strs.Add("好好學習"); PrintStr(); } public static void PrintStr() { Console.WriteLine("請輸入一個字串"); string a = Console.ReadLine(); if (a != "0") { Console.WriteLine(ComparisonStr(a)); Console.WriteLine(); PrintStr(); } else { Console.WriteLine("退出"); } }