system "Macao_System" {Macao System For instructions, download documentation Note: the documentation has calculation errors. Test this system throughly before using at casino. } method "main" begin While Starting a New Session begin Call "Initialize New Session"; exit; end Call "Determine session over"; Call "First spin of new session"; Call "Determine Win/Loss Even money"; Call "Determine Win/Loss Split"; Call "Place bets"; Call "Determine Progression Increased"; end method "Place bets" begin While Flag "Next Stake is Red" is True begin Put 100 % of Record "Next Bet Progression on Even Money" data on Red; Put 100 % of Record "Next Bet Progression on Splits" data on Split(8-11); Put 100 % of Record "Next Bet Progression on Splits" data on Split(10-13); Put 100 % of Record "Next Bet Progression on Splits" data on Split(17-20); Put 100 % of Record "Next Bet Progression on Splits" data on Split(26-29); Put 100 % of Record "Next Bet Progression on Splits" data on Split(28-31); Set Flag "Next Stake is Red" to False; end Else begin Put 100 % of Record "Next Bet Progression on Even Money" data on Black; Put 100 % of Record "Next Bet Progression on Splits" data on Split(9-12); Put 100 % of Record "Next Bet Progression on Splits" data on Split(16-19); Put 100 % of Record "Next Bet Progression on Splits" data on Split(18-21); Put 100 % of Record "Next Bet Progression on Splits" data on Split(27-30); Set Flag "Next Stake is Red" to True; end end method "Determine Progression Increased" begin While Flag "Progressed on Even Money" is True Or Flag "Progressed on Split" is True begin Set Flag "Progression Increased" to True; Return; end While Flag "Progressed on Even Money" is False And Flag "Progressed on Split" is False begin Set Flag "Progression Increased" to False; end end method "Determine Win/Loss Even money" begin While any red-black bet has won each time begin Subtract 1 on Record "Next Bet Progression on Even Money" data; Set Flag "Progressed on Even Money" to False; end While any red-black bet has lost each time begin Add 1 on Record "Next Bet Progression on Even Money" data; Set Flag "Progressed on Even Money" to True; end While Record "Next Bet Progression on Even Money" data < Record "Minimum Even Money Bet" data begin Put 100 % of Record "Minimum Even Money Bet" data on Record "Next Bet Progression on Even Money" data; end end method "Determine Win/Loss Split" begin While Any Split Bet has won each time begin Subtract 1 on Record "Next Bet Progression on Splits" data; Put 0 on Record "Split Loss Count" data; Set Flag "Progressed on Split" to False; Call "Check minimum bet for Split"; Return; end While Any Split Bet has lost each time begin Add 1 on Record "Split Loss Count" data; Call "Determine Split progression"; Call "Check minimum bet for Split"; end end method "Check minimum bet for Split" begin While Record "Next Bet Progression on Splits" data < Record "Minimum Split Bet" data begin Put 100 % of Record "Minimum Split Bet" data on Record "Next Bet Progression on Splits" data; end end method "Determine Split progression" begin While Record "Split Loss Count" data > 1 begin Add 1 on Record "Next Bet Progression on Splits" data; Put 0 on Record "Split Loss Count" data; Set Flag "Progressed on Split" to True; end end method "Determine session over" begin Call "Calculate Balance"; While Record "Current Balance" data >= 20 Or Record "Current Balance" data <= -75 begin Call "Initialize New Session"; exit; end While Record "Current Balance" data > 0 begin Call "Check if had to increase progression"; end end method "Calculate Balance" begin Put 100 % of Bankroll on Record "Current Balance" data; Subtract 100 % of Record "Bankroll Balance" data on Record "Current Balance" data; While Record "Current Balance" data < 0 begin Set Flag "Went into Negative Balance" to True; end end method "Check if had to increase progression" begin While Flag "Progression Increased" is True begin Call "Initialize New Session"; exit; end end method "Check if we went into a negative balance once" begin While Flag "Went into Negative Balance" is True begin Call "Initialize New Session"; exit; end end method "First spin of new session" begin While Flag "First Spin of New Session" is True begin Call "Determine stake"; Set Flag "First Spin of New Session" to False; Put 0 on Record "Current Balance" data; Put 0 on Record "Adjust Balance" data; Set Flag "Progression Increased" to False; Set Flag "Went into Negative Balance" to False; end end method "Determine stake" begin While Black has hit each time begin Set Flag "Next Stake is Red" to True; end Else begin Set Flag "Next Stake is Red" to False; end end method "Initialize New Session" begin Clear Record "Last spin" data; Clear Record "Minimum Even Money Bet" data; Clear Record "Minimum Split Bet" data; Clear Record "Next Bet Progression on Even Money" data; Clear Record "Next Bet Progression on Splits" data; Clear Record "Split Loss Count" data; Clear Record "Current Balance" data; Clear Record "Bankroll Balance" data; Clear Record "Adjust Balance" data; Put 5 on Record "Minimum Even Money Bet" data; Put 100 % of Record "Minimum Even Money Bet" data on Record "Next Bet Progression on Even Money" data; Put 1 on Record "Minimum Split Bet" data; Put 100 % of Record "Minimum Split Bet" data on Record "Next Bet Progression on Splits" data; Put 0 on Record "Split Loss Count" data; Put 0 on Record "Black Split Loss Count" data; Set Flag "First Spin of New Session" to false; Set Flag "Next Stake is Red" to false; Set Flag "Progressed on Even Money" to false; Set Flag "Progressed on Split" to false; Set Flag "Went into Negative Balance" to false; Set Flag "Progression Increased" to false; Set Flag "Next Stake is Red" to False; Set Flag "First Spin of New Session" to True; Set Flag "Progressed on Even Money" to False; Set Flag "Progressed on Split" to False; Put 100 % of Bankroll on Record "Bankroll Balance" data; end