コード例 #1
0
        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) + ".");
        }
コード例 #2
0
        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());
        }
コード例 #3
0
ファイル: Chess.cs プロジェクト: 1537592846/ktane-bomb-manual
        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));
        }
コード例 #4
0
        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) + ".");
        }
コード例 #5
0
ファイル: Chess.cs プロジェクト: 1537592846/ktane-bomb-manual
        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("");
        }