public string TextToLetters(int start) { string TextToInform = ""; foreach (var word in Text.GetRange(start, Numbers.Count)) { TextToInform += word; } var result = "Order is "; List <int> indexList = new List <int>() { TextToInform.IndexOf(Letters[0]), TextToInform.IndexOf(Letters[1]), TextToInform.IndexOf(Letters[2]), TextToInform.IndexOf(Letters[3]), TextToInform.IndexOf(Letters[4]) }; indexList.Sort(); foreach (var index in indexList) { result += InternalFunctions.GetPhoneticLetterFromLetter(TextToInform[index]) + ", "; } Solved = true; return(result.Substring(0, result.Length - 2) + "."); }
public override string Solve(Bomb bomb) { if (Letters.Count != 12) { return("Not enough letters."); } Solved = true; var message = "Press: "; string[,] grid = new string[3, 4]; for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { grid[i, j] = Letters[i * 4 + j]; } } for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { if (PressLetter(grid, i, j)) { var letter = InternalFunctions.GetPhoneticLetterFromLetter(grid[i, j]) + ". "; message += letter.ToUpper()[0] + letter.Substring(1); } } } return(message.Trim()); }
public override string Command(Bomb bomb, string command) { var row = -1; var column = -1; foreach (var word in command.Split(' ')) { if (InternalFunctions.GetLetterFromPhoneticLetter(word) != "") { column = InternalFunctions.GetNumberFromLetter(InternalFunctions.GetLetterFromPhoneticLetter(word)) - 1; } if (InternalFunctions.IsNumber(word)) { row = int.Parse(word) - 1; } if (row != -1 && column != -1) { Positions.Add(InternalFunctions.GetPhoneticLetterFromLetter(InternalFunctions.GetLetterFromNumber(column + 1)) + '-' + (row + 1)); row = -1; column = -1; } } return(Solve(bomb)); }
public override string Solve(Bomb bomb) { if (Letters.Count != 4) { Letters.Clear(); return("Not enough letters to solve."); } Solved = true; var message = "Press "; foreach (var letter in BiggestWordPossible()) { message += InternalFunctions.GetPhoneticLetterFromLetter(letter) + ", "; } return(message.Substring(0, message.Length - 2) + "."); }
public override string Solve(Bomb bomb) { DefinePosition4(); DefinePosition5(); DefinePosition2(bomb.HasSerialLastDigitOdd()); DefinePosition1(); DefinePosition3(); DefinePosition6(); for (int i = 0; i < 6; i++) { for (int j = 0; j < 6; j++) { if (!Chessboard[i, j].UnderAttack) { Solved = true; return("The position is " + InternalFunctions.GetPhoneticLetterFromLetter(InternalFunctions.GetLetterFromNumber(i + 1)) + " " + (j + 1) + "."); } } } return(""); }