Diagonal System
Diagonal_system.dgt
—
Xtreme,
14 KB (14520 bytes)
Contenuto del file
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





