Example #1
0
        public void IfElseReturn()
        {
            var builder = new StatementListBuilder();

            builder
            .AddJumpIfNot(0, 112, "!bGameRelevant")
            .AddJumpIfNot(87, 109, "bNoDelete")
            .Add(96, "ShutDown()")
            .AddJump(106, 112)
            .Add(109, "Destroy()")
            .AddReturn(112);

            VerifyText(builder,
                       "if (!bGameRelevant)",
                       "{",
                       "    if (bNoDelete)",
                       "    {",
                       "        ShutDown();",
                       "    }",
                       "    else",
                       "    {",
                       "        Destroy();",
                       "    }",
                       "}");
        }
Example #2
0
        public void BreakInWhile()
        {
            var builder = new StatementListBuilder();

            builder
            .AddJumpIfNot(11, 180, "CurrentMove != None")
            .AddJumpIfNot(22, 174, "CurrentMove.TimeStamp <= CurrentTimeStamp")
            .Add(70, "LastAckedAccel = CurrentMove.Acceleration")
            .AddJump(171, 177)
            .AddJump(174, 180)
            .AddJump(177, 11)
            .AddReturn(180);
            VerifyText(builder,
                       "while (CurrentMove != None)",
                       "{",
                       "    if (CurrentMove.TimeStamp <= CurrentTimeStamp)",
                       "    {",
                       "        LastAckedAccel = CurrentMove.Acceleration;",
                       "    }",
                       "    else",
                       "    {",
                       "        break;",
                       "    }",
                       "}");
        }
Example #3
0
        public void While()
        {
            var builder = new StatementListBuilder();

            builder
            .AddJumpIfNot(0, 182, "Len(Text) > 0")
            .Add(13, "Character = Asc(Left(Text, 1))")
            .Add(29, "Text = Mid(Text, 1)")
            .AddJumpIfNot(44, 179, "Character >= 32 && Character < 256 && Character != Asc(\"~\") && Character != Asc(\"`\")")
            .Add(107, "SetInputText(Left(TypedStr, TypedStrPos) $ Chr(Character) $ Right(TypedStr, Len(TypedStr) - TypedStrPos))")
            .Add(161, "SetCursorPos(TypedStrPos + 1)")
            .AddJump(179, 0)
            .AddReturn(182);

            VerifyText(builder,
                       "while (Len(Text) > 0)",
                       "{",
                       "    Character = Asc(Left(Text, 1));",
                       "    Text = Mid(Text, 1);",
                       "    if (Character >= 32 && Character < 256 && Character != Asc(\"~\") && Character != Asc(\"`\"))",
                       "    {",
                       "        SetInputText(Left(TypedStr, TypedStrPos) $ Chr(Character) $ Right(TypedStr, Len(TypedStr) - TypedStrPos));",
                       "        SetCursorPos(TypedStrPos + 1);",
                       "    }",
                       "}");
        }