system "Straight Ahead One Street"
{
Play 1st Street with a D'Alembert progression.
Each step is the same number repeated twelve times.  On a win, fall back 12 steps
in the progression.  The bet sequence is reset on a win at step 17 or less.
}
method "main"
begin
while starting a new session
    begin
    Set Flag "Bet Placed" to False
    put 1 on record "Tier" data
    put 0 on record "Step" data
    put 0 on record "S1 Bankroll" data
    put 100% bankroll on record "Lowest Bankroll" data
    put 0 on record "Downdraw" data
    put 0 on record "S1 Losses" data
    put 0 on record "S1 Hits" data
    put 0 on record "Spin Count" data
    put 0 on record "LastTier" data
    put 0 on record "LastStep" data
    end


if Flag "Bet Placed" True
    begin
        call "Process"
    end
call "bet"

end

method "Process"

    begin
    put 100% record "Tier" data on record "LastTier" data
    put 100% record "Step" data on record "LastStep" data
    add 1 on record "Spin Count" data
    if Bankroll < record "Lowest Bankroll" data
        begin
            put 100% bankroll on record "Lowest Bankroll" data
        end
    if Street(1-3) hit each
        begin
            Calculate Outcome Street(1-3) to record "S1 Hits" data
            Add 100% net to record "S1 Bankroll" data
            if record "Tier" data=1
            begin
                put 0 on record "Step" data
            end
            else
            begin
                subtract 1 from record "Tier" data
            end
{            if record "S1 Bankroll" data > record "S1 Prev Bankroll" data
                begin
                    put 1 on record "Tier" data
                    put 0 on record "Step" data
                    put 100% record "S1 Bankroll" data on record "S1 Prev Bankroll" data
                end}
        end
    else
        begin
            Add 1 on record "S1 Losses" data
            Add 1 to record "Step" data
            if record "Step" data = 12
            begin
                Add 1 to record "Tier" data
                put 1 on record "Step" data
            end
            Subtract 100% of record "S1 Current Bet" data from record "S1 Bankroll" data
        end

{        if  record "Tier" data <=2 and record "step" data <=7 and bankroll > 0
        begin
            subtract 100% record "Lowest Bankroll" data from record "Downdraw" data
            Stop Session
        end}

    end {method Process}

method "bet"

    begin
        Put 100% record "Tier" data on Street(1-3)
        put 100% record "Tier" data on record "S1 Current Bet" data
        if record "S1 Current Bet" data > record "S1 High Bet" data then
        begin
            Duplicate Information from record "S1 Current Bet" to record "S1 High Bet"
        end

        Set Flag "Bet Placed" True
    end
