system "Mohan_System.dgn" method "main" begin While Starting a New Session begin Call "Initialize New Session"; Load double Wheel; Exit; end Copy last Number to the record "Last Spin" layout; Add 1 on record "Spin Count" data; if Flag "Rule # 4" is False begin Call "Determine Rules"; end Else begin Call "Add Last Number"; Call "Determine Win"; Call "Place Bets"; end end method "Add Last Number" begin add 1 to record "Last 5 List" layout index; if record "Last 5 List" layout index >5 then begin move list up by 1 for record "Last 5 List" layout; put 5 to record "Last 5 List" layout index; end copy last number to record "Last 5 List" layout; end method "Add to Neighbor List" begin Add 1 on record "Neighbor List" Layout Index; Copy record "Last 5 List" layout to record "Neighbor List" layout; end //Find distance between each number on the wheel method "Find distance on wheel" begin put 1 to record "Neighbor List" Layout Index; loop until record "Neighbor List" Layout index > record "Neighbor List" Layout count begin if record "Last 5 List" layout span within 7 gaps from record "Neighbor List" layout begin Add 1 on record "Neighbor List" layout index; end Else begin Set Flag "Number Match" to False; Add 1 on record "Neighbor List" layout index; end end set max record "Neighbor List" Layout Index; end method "Determine ORIGINAL number" begin put 1 on record "Left and Right List" Layout Index; loop until record "Left and Right List" Layout Index > record "Left and Right List" Layout count begin if record "Left and Right List" layout has not hit between 2 to 11 spins and record "Left and Right List" layout has hit between 12 to 27 spins begin Copy record "Left and Right List" layout to record "Original" layout; Set Flag "Rule # 2" to True; Return; end Add 1 on record "Left and Right List" layout index; end end method "Determine Rules" begin if Flag "Wait for 40 spins after Loss" is True begin Add 1 on record "Total count to Wait before playing" data; if record "Total count to Wait before playing" data > record "Maximum count to Wait" data begin Call "Startup"; end end if record "Spin Count" data > 1 begin if record "Last Spin" Layout is not found in record "Last 5 List" Layout begin Call "Add Last Number"; if record "Last 5 List" layout index >= 5 begin Clear record "Neighbor List" data; Clear record "Neighbor List" layout; Set Flag "Rule # 1" to false; Set Flag "Rule # 2" to false; Set Flag "Rule # 3" to false; Set Flag "Rule # 4" to false; Call "Determine Rule # 1"; Call "Determine Rule # 2"; Call "Determine Rule # 3"; Call "Determine Rule # 4"; end end else begin Call "Add Last Number"; end end Else begin Call "Add Last Number"; end end method "Determine Rule # 1" begin put 1 on record "Last 5 List" Layout Index; loop until record "Last 5 List" Layout Index > record "Last 5 List" Layout count begin if record "Neighbor List" layout index > 0 begin Set Flag "Number Match" to True; call "Find distance on wheel"; if Flag "Number Match" is True begin Call "Add to Neighbor List"; end if record "Neighbor List" Layout Index = 4 begin Set Flag "Rule # 1" to True; end end Else begin Call "Add to Neighbor List"; end Add 1 on record "Last 5 List" Layout Index; end set max record "Last 5 List" Layout Index; end method "Determine Rule # 2" begin if Flag "Rule # 1" is true begin put 1 on record "Left and Right List" Layout index; Clear record "Left and Right List" layout; Locate Number Left 1 gap from record "Last Spin" layout into record "Left and Right List" layout; add 1 on record "Left and Right List" Layout index; Locate Number Left 0 gaps from record "Last Spin" layout into record "Left and Right List" layout; add 1 on record "Left and Right List" Layout index; Locate Number Right 0 gaps from record "Last Spin" layout into record "Left and Right List" layout; add 1 on record "Left and Right List" Layout index; Locate Number Right 1 gaps from record "Last Spin" layout into record "Left and Right List" layout; Clear record "Original" layout; Clear record "Runner List" layout; Clear record "Phantom Original" layout; Clear record "Phantom Runner List" layout; Call "Determine ORIGINAL number"; if Flag "Rule # 2" is False begin Set Flag "Rule # 1" to False; Clear record "Left and Right List" layout; end end end method "Determine Rule # 3" begin if Flag "Rule # 2" is False begin Return; end put 0 to record "Neighbor List" data index; put 1 to record "Neighbor List" layout index; put 0 on record "Neighbors that satisfy Rule # 3" data; Set Flag "Rule # 3" to False; loop until record "Neighbor List" Layout Index > record "Neighbor List" Layout count begin if record "Neighbor List" layout contiguous span is within 3 gaps from record "Original" layout begin add 1 to record "Neighbor List" data index; put 1 to record "Neighbor List" data; Add 1 to record "Neighbors that satisfy Rule # 3" data; end else begin add 1 to record "Neighbor List" data index; put 0 to record "Neighbor List" data; end Add 1 on record "Neighbor List" layout index; end if record "Neighbors that satisfy Rule # 3" data >= 4 begin Set Flag "Rule # 3" to True; end set max to record "Neighbor List" layout index; end //Go forward and backward eight (8) spins from the Original number. method "Determine Rule # 4" begin if Flag "Rule # 3" is False begin Return; end Set Flag "Rule # 4" to False; Clear record "Forward and Backward List" layout; Clear record "Forward and Backward List" data; Call "Do Rule 4 A"; Call "Do Rule 4 B"; Call "Do Rule 4 C"; Call "Do Rule 4 D"; clear record "Runner List" layout; Call "Find Runners"; end //Find numbers that have shown in the last eight (8) spins method "Do Rule 4 A" begin put 1 on record "Spins" data; Loop until record "Spins" data > 8 begin Locate Number Forward of record "Spins" data from record "Original" layout into record "temp layout 1" layout; Call "record Number Forward and Backward from Original to List"; Locate Number Backward of record "Spins" data from record "Original" layout into record "temp layout 1" layout; Call "record Number Forward and Backward from Original to List"; Add 1 on record "Spins" data; end end method "record Number Forward and Backward from Original to List" begin if record "temp layout 1" Layout is not found in record "Forward and Backward List" Layout begin if record "temp layout 1" layout has hit between 1 to 8 spins begin add 1 to record "Forward and Backward List" layout index; copy record "temp layout 1" layout to record "Forward and Backward List" layout; end end end //Find numbers that are within eight (8) spins of each other method "Do Rule 4 B" begin put 1 to record "Forward and Backward List" Layout Index; duplicate record "Forward and Backward List" to record "temp list"; loop until record "Forward and Backward List" layout index > record "Forward and Backward List" Layout count begin put 1 to record "temp list" layout index; put 0 to record "Forward and Backward List" data index; loop until record "temp list" layout index > record "Forward and Backward List" Layout count begin if record "Forward and Backward List" layout distance is within 8 spins from record "temp list" layout and record "Forward and Backward List" layout not = record "temp list" layout begin add 1 to record "Forward and Backward List" data index; put 1 on record "Forward and Backward List" data; end else begin add 1 to record "Forward and Backward List" data index; end Add 1 to record "temp list" layout index; end Add 1 to record "Forward and Backward List" layout index; end end //Find numbers that are within eight(8) spins from the "Original Number" method "Do Rule 4 C" begin put 1 to record "Forward and Backward List" Layout Index; put 0 to record "Forward and Backward List" data index; loop until record "Forward and Backward List" layout index > record "Forward and Backward List" Layout count begin if record "Forward and Backward List" layout distance is within 8 spins from record "Original" layout begin Add 1 to record "Forward and Backward List" data index; Add 1 on record "Forward and Backward List" data; end else begin Add 1 to record "Forward and Backward List" data index; end Add 1 on record "Forward and Backward List" layout index; end end {Find numbers that are within four (4) left and four (4) right of the "Original Number" on the wheel } method "Do Rule 4 D" begin put 1 to record "Forward and Backward List" Layout Index; put 0 to record "Forward and Backward List" data index; loop until record "Forward and Backward List" layout index > record "Forward and Backward List" Layout count begin if record "Forward and Backward List" layout contiguous span is within 3 gaps from record "Original" layout begin Add 1 to record "Forward and Backward List" data index; Add 1 on record "Forward and Backward List" data; end else begin Add 1 to record "Forward and Backward List" data index; end Add 1 on record "Forward and Backward List" layout index; end end //Find two Runners and place them in the Runners data record method "Find Runners" begin put 1 to record "Forward and Backward List" Layout Index; put 1 to record "Forward and Backward List" data index; put 0 on record "Runner List" layout index; put 0 on record "Runners Found" data; loop until record "Forward and Backward List" data index > record "Forward and Backward List" Data count begin if record "Forward and Backward List" data = 3 then begin add 1 to record "Runner List" layout index; Copy record "Forward and Backward List" layout to record "Runner List" layout; Add 1 on record "Runners Found" data; end if record "Runners Found" data = 2 begin Set Flag "Rule # 4" to True; return; end add 1 to record "Forward and Backward List" data index; add 1 to record "Forward and Backward List" Layout Index; end end method "Place Bets" begin Call "Determine if we can place a bet"; if Flag "Ok to place Bet" is True begin Add 1 on record "Total Spin count after start placing Bets" data; Set Flag "Bets placed" to True; if Flag "Wait for 40 spins after Loss" is False begin put 2 on record "Original" layout; put 1 on record "Runner List" layout index; put 1 on record "Runner List" layout; put 2 on record "Runner List" layout index; put 1 on record "Runner List" layout; end if Flag "Wait for 40 spins after Loss" is True begin if Flag "Phantom Bet during our Timeout Wait" is False begin Set Flag "Bets placed" to False; end Copy record "Original" layout to the record "Phantom Original" layout; duplicate record "Runner List" to record "Phantom Runner List"; Set Flag "Phantom Bet during our Timeout Wait" to True; end end end method "Determine if we can place a bet" begin Set Flag "Ok to place Bet" to True; if record "Total Spin count after start placing Bets" data >= 7 begin Set Flag "Ok to place Bet" to False; Set Flag "Bet one more time" to False; put 0 on record "Total Spin count after start placing Bets" data; Call "Determine Wait count"; Set Flag "Bet Won" to False; Return; end if record "Total count to Wait before playing" data > record "Maximum count to Wait" data begin Call "Startup"; Return; end if record "Maximum count to Wait" data not = 0 and Flag "Wait for 11 spins after Win" is True begin Add 1 on record "Total count to Wait before playing" data; Set Flag "Ok to place Bet" to False; Return; end if record "Maximum count to Wait" data not = 0 and Flag "Wait for 40 spins after Loss" is True begin Add 1 on record "Total count to Wait before playing" data; Return; end if Flag "Bet one more time" is True begin Set Flag "Ok to place Bet" to False; Call "Determine Wait count"; end end method "Determine Win" begin if Flag "Bets placed" is True and Flag "Bet one more time" is False begin if Flag "Wait for 40 spins after Loss" is False and Any Number bet has won each time begin Set Flag "Bet Won" to True; Set Flag "Bet one more time" to True; Return; end if Flag "Wait for 40 spins after Loss" is True and Flag "Phantom Bet during our Timeout Wait" is True begin Call "Determine Phantom Win"; Return; end end if Flag "Bets placed" is True and Flag "Bet one more time" is True and Any Number Bet has won each time begin Set Flag "Bet Won" to True; Set Flag "Bet one more time" to False; Call "Determine Wait count"; end end method "Determine Phantom Win" begin if Flag "Bets placed" is True and Flag "Phantom Bet during our Timeout Wait" is True begin if record "Phantom Original" layout = record "Last Spin" layout begin call "Startup"; end else begin put 1 to record "Phantom Runner List" layout index; loop until record "Phantom Runner List" layout index > record "Phantom Runner List" Layout count begin if record "Phantom Runner List" layout = record "Last Spin" layout begin Call "Startup"; return; end add 1 to record "Phantom Runner List" layout index; end end end end method "Determine Wait count" begin if Flag "Bet Won" is True begin Set Flag "Wait for 11 spins after Win" to True; Set Flag "Wait for 40 spins after Loss" to False; Set Flag "Phantom Bet during our Timeout Wait" to False; put 100 % of record "# of times to wait after a Win" data on record "Maximum count to Wait" data; Set Flag "Bet one more time" to False; put 1 on record "Total count to Wait before playing" data; Subtract 1 on record "Maximum count to Wait" data; Set Flag "Bets placed" to False; end Else begin Call "Startup"; Set Flag "Wait for 40 spins after Loss" to True; Set Flag "Wait for 11 spins after Win" to False; put 100% of record "# of times to wait after a Loss" data on record "Maximum count to Wait" data; put 1 on record "Total count to Wait before playing" data; Subtract 1 on record "Maximum count to Wait" data; end end method "Initialize New Session" begin Clear record "Neighbor List" data; Clear record "Neighbor List" layout; Clear record "Last 5 List" layout; Clear record "Left and Right List" layout; Clear record "Original" layout; Clear record "Runner List" layout; Clear record "Phantom Original" layout; Clear record "Phantom Runner List" layout; Clear record "Forward and Backward List" layout; Clear record "temp list" layout; Clear record "temp list" data; Set Flag "Number Match" to false; Set Flag "Rule # 1" to false; Set Flag "Rule # 2" to false; Set Flag "Rule # 3" to false; Set Flag "Rule # 4" to false; Set Flag "Bet Won" to false; Set Flag "Bets placed" to false; Set Flag "Wait for 11 spins after Win" to false; Set Flag "Wait for 40 spins after Loss" to false; Set Flag "Bet one more time" to false; Set Flag "Ok to place Bet" to false; Set Flag "Phantom Bet during our Timeout Wait" to false; put 0 on record "Spin Count" data; put 0 on record "Total Spin count after start placing Bets" data; put 40 on record "# of times to wait after a Loss" data; put 11 on record "# of times to wait after a Win" data; call "Startup"; end method "Startup" begin Reset All Flags to False; put 0 on record "Maximum count to Wait" data; put 0 on record "Total count to Wait before playing" data; put 0 on record "Total Spin count after start placing Bets" data; end