system "Diagonal System" //See documentation for an example of how the system works method "main" begin while Starting a new session begin call "Initialize"; call "Reset the diagonals"; Exit; end if flag "a bet is placed" is true begin if record "series count" data > 37 begin call "Reset the diagonals"; clear record "12 unique numbers" layout; set flag "12 numbers crossed out" to false; set flag "a bet is placed" to false; put 0 on record "series count" data; end end call "Track numbers"; call "Mark all diagonals"; if record "12 unique numbers" layout count = 12 then begin set flag "12 numbers crossed out" to true; end call "Place bets on all diagonals"; end method "Track numbers" begin copy last number to record "number" layout; //check for duplicate numbers that have appeared if record "number" layout is not found in record "12 unique numbers" layout begin //check to see if there are already 12 numbers in the list if record "12 unique numbers" layout index > 12 begin //move the entire list of numbers up by 1 move list up by 1 on record "12 unique numbers" layout; set max to record "12 unique numbers" layout index; add 1 to record "12 unique numbers" layout index; end //store the last spin that has appeared to the track spin list copy record "number" layout to record "12 unique numbers" layout; add 1 to record "12 unique numbers" layout index; end end method "Mark all diagonals" begin if flag "12 numbers crossed out" is true begin return; end Duplicate Record "diagonal 1" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 1"; Duplicate Record "diagonal 2" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 2"; Duplicate Record "diagonal 3" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 3"; Duplicate Record "diagonal 4" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 4"; Duplicate Record "diagonal 5" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 5"; Duplicate Record "diagonal 6" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 6"; Duplicate Record "diagonal 7" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 7"; Duplicate Record "diagonal 8" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 8"; Duplicate Record "diagonal 9" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 9"; Duplicate Record "diagonal 10" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 10"; Duplicate Record "diagonal 11" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 11"; Duplicate Record "diagonal 12" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 12"; Duplicate Record "diagonal 13" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 13"; Duplicate Record "diagonal 14" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 14"; Duplicate Record "diagonal 15" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 15"; Duplicate Record "diagonal 16" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 16"; Duplicate Record "diagonal 17" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 17"; Duplicate Record "diagonal 18" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 18"; Duplicate Record "diagonal 19" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 19"; Duplicate Record "diagonal 20" to Record "temp record"; call "Mark each diagonal"; Duplicate Record "temp record" to Record "diagonal 20"; end method "Mark each diagonal" begin if Record "number" Layout is found in record "temp record" Layout begin put 1 on record "temp record" Layout index; loop until record "temp record" Layout index > record "temp record" layout count begin if record "number" layout = record "temp record" layout begin put 100% record "temp record" layout index to record "temp record" data index; put 1 on record "temp record" data; return; end add 1 to record "temp record" Layout index; end end end method "Place bets on all diagonals" begin if flag "12 numbers crossed out" is false begin return; end add 1 to record "series count" data; set flag "a bet is placed" to false; Duplicate Record "diagonal 1" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 1"; Duplicate Record "diagonal 2" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 2"; Duplicate Record "diagonal 3" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 3"; Duplicate Record "diagonal 4" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 4"; Duplicate Record "diagonal 5" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 5"; Duplicate Record "diagonal 6" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 6"; Duplicate Record "diagonal 7" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 7"; Duplicate Record "diagonal 8" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 8"; Duplicate Record "diagonal 9" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 9"; Duplicate Record "diagonal 10" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 10"; Duplicate Record "diagonal 11" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 11"; Duplicate Record "diagonal 12" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 12"; Duplicate Record "diagonal 13" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 13"; Duplicate Record "diagonal 14" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 14"; Duplicate Record "diagonal 15" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 15"; Duplicate Record "diagonal 16" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 16"; Duplicate Record "diagonal 17" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 17"; Duplicate Record "diagonal 18" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 18"; Duplicate Record "diagonal 19" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 19"; Duplicate Record "diagonal 20" to Record "temp record"; call "Place bets on each diagonal"; Duplicate Record "temp record" to Record "diagonal 20"; if flag "a bet is placed" is false begin call "Reset the diagonals"; clear record "12 unique numbers" layout; set flag "12 numbers crossed out" to false; set flag "a bet is placed" to false; put 0 on record "series count" data; end end method "Place bets on each diagonal" begin put 0 on record "total diagonal count" data; put 1 on record "temp record" Data index; loop until record "temp record" Data index >record "temp record" Data count begin if record "temp record" Data = 1 begin add 1 to record "total diagonal count" data; end add 1 to record "temp record" Data index; end //must have two numbers that are next to each other in the form //of a diagonal before we can place a bet if record "total diagonal count" data = 2 then begin //we have two numbers that have appeared. //Now check to see if these numbers are next to each other put 1 on record "temp record" data index; put 100% of record "temp record" data to record "first number" data; add 1 to record "temp record" data index; put 100% of record "temp record" data to record "second number" data; if record "first number" data = record "second number" data begin //Both numbers are next to each other. Place a bet //on the opposite number that has NOT appeared. put 3 on record "temp record" layout index; put 1 on record "temp record" layout; set flag "a bet is placed" to true; end else begin //check the other end of the diagonal to a match. put 2 on record "temp record" data index; put 100% of record "temp record" data to record "first number" data; add 1 to record "temp record" data index; put 100% of record "temp record" data to record "second number" data; if record "first number" data = record "second number" data begin //Both numbers are next to each other. Place a bet //on the opposite number that has NOT appeared. put 1 on record "temp record" layout index; put 1 on record "temp record" layout; set flag "a bet is placed" to true; end end end end method "Reset the diagonals" begin set list [0,0,0] to record "diagonal 1" data; set list [0,0,0] to record "diagonal 2" data; set list [0,0,0] to record "diagonal 3" data; set list [0,0,0] to record "diagonal 4" data; set list [0,0,0] to record "diagonal 5" data; set list [0,0,0] to record "diagonal 6" data; set list [0,0,0] to record "diagonal 7" data; set list [0,0,0] to record "diagonal 8" data; set list [0,0,0] to record "diagonal 9" data; set list [0,0,0] to record "diagonal 10" data; set list [0,0,0] to record "diagonal 11" data; set list [0,0,0] to record "diagonal 12" data; set list [0,0,0] to record "diagonal 13" data; set list [0,0,0] to record "diagonal 14" data; set list [0,0,0] to record "diagonal 15" data; set list [0,0,0] to record "diagonal 16" data; set list [0,0,0] to record "diagonal 17" data; set list [0,0,0] to record "diagonal 18" data; set list [0,0,0] to record "diagonal 19" data; set list [0,0,0] to record "diagonal 20" data; end method "Initialize" begin set flag "12 numbers crossed out" to false; clear record "number" layout; clear record "12 unique numbers" layout; clear record "series count" data; copy list [number 1,Number 5,Number 9] to record "diagonal 1" layout; copy list [Number 3,Number 5,Number 7] to record "diagonal 2" layout; copy list [Number 4,Number 8,Number 12] to record "diagonal 3" layout; copy list [Number 6,Number 8,Number 10] to record "diagonal 4" layout; copy list [Number 7,Number 11,Number 15] to Record "diagonal 5" Layout; copy list [Number 9,Number 11,Number 13] to Record "diagonal 6" Layout; copy list [Number 10,number 14,number 18] to record "diagonal 7" layout; copy list [Number 12,number 14,Number 16] to record "diagonal 8" layout; copy list [number 13,number 17,number 21] to record "diagonal 9" layout; copy list [Number 15,number 17,Number 19] to record "diagonal 10" layout; copy list [number 16,number 20,number 24] to record "diagonal 11" layout; copy list [Number 18,number 20,Number 22] to record "diagonal 12" layout; copy list [number 19,number 23,number 27] to record "diagonal 13" layout; copy list [Number 21,number 23,Number 25] to record "diagonal 14" layout; copy list [number 22,number 26,number 30] to record "diagonal 15" layout; copy list [Number 24,number 26,Number 28] to record "diagonal 16" layout; copy list [number 25,number 29,number 33] to record "diagonal 17" layout; copy list [Number 27,number 29,Number 31] to record "diagonal 18" layout; copy list [number 28,number 32,number 36] to record "diagonal 19" layout; copy list [Number 30,number 32,Number 34] to record "diagonal 20" layout; end