Dual Squares system
Dual_Squares_system.dgt
—
Xtreme,
12 KB (12783 bytes)
Contenuto del file
system "dual_squares"
{
** IMPORTANT ** VERSION 2.0.13 OR BETTER
see documentation for explanation
}
method "main"
begin
while Starting a new Session
begin
call "initialize"
call "reset"
call "input"
exit
end
copy last number to record "number" layout
call "mark square"
call "count squares"
if record "square count" data < 2
and flag "ready to bet" is false
begin
call "reset"
set flag "ready to bet" to false
exit
end
call "determine count"
if flag "ready to bet" is true
begin
if flag "1st bet placed" is true
begin
if Any Inside Bet has won each time
begin
set flag "double street" to false
set flag "ready to bet" to false
clear record "squares to bet" layout
put 0 on record "squares to bet" layout index
call "determine count"
end
else
begin
if flag "double street" is false
begin
add 1 to record "progression" data index
if record "progression" data index > record "progression" data count
begin
set flag "ready to bet" to false
set flag "double street" to false
put 1 on record "progression" data index
call "reset"
end
end
else
begin
add 1 to record "double street prog." data index
if record "double street prog." data index > record "double street prog." data count
begin
put 1 on record "double street prog." data index
set flag "ready to bet" to false
set flag "double street" to false
call "reset"
end
end
end
end
if flag "ready to bet" is true
begin
if flag "double street" is false
begin
put 100% of record "progression" data to record "squares to bet" layout list
set flag "1st bet placed" to true
end
else
begin
put 100% of record "double street prog." data to record "double street" layout
set flag "1st bet placed" to true
end
end
end
end
method "determine count"
begin
if record "square count" data = 2
and flag "ready to bet" is false
begin
call "check neighbor square"
if flag "neighbor found" is false
begin
set flag "ready to bet" to true
call "setup squares"
call "reset"
end
else
begin
if record "adjacent type" data = 1
begin
call "reset"
set flag "ready to bet" to false
set flag "double street" to false
end
if record "adjacent type" data = 2
begin
set flag "ready to bet" to true
call "setup squares"
call "reset"
end
if record "adjacent type" data = 3
begin
set flag "double street" to true
put 1 on record "double street prog." data index
set flag "ready to bet" to true
call "reset"
end
end
end
end
method "setup squares"
begin
clear record "squares to bet" layout
put 0 on record "squares to bet" layout index
if record "square 1" data = 0
begin
add 1 to record "squares to bet" layout index
copy Corner(1:5) to record "squares to bet" layout
end
if record "square 2" data = 0
begin
add 1 to record "squares to bet" layout index
copy Corner(2:6) to record "squares to bet" layout
end
if record "square 3" data = 0
begin
add 1 to record "squares to bet" layout index
copy Corner(7:11) to record "squares to bet" layout
end
if record "square 4" data = 0
begin
add 1 to record "squares to bet" layout index
copy Corner(8:12) to record "squares to bet" layout
end
if record "square 5" data = 0
begin
add 1 to record "squares to bet" layout index
copy Corner(13:17) to record "squares to bet" layout
end
if record "square 6" data = 0
begin
add 1 to record "squares to bet" layout index
copy Corner(14:18) to record "squares to bet" layout
end
if record "square 7" data = 0
begin
add 1 to record "squares to bet" layout index
copy Corner(19:23) to record "squares to bet" layout
end
if record "square 8" data = 0
begin
add 1 to record "squares to bet" layout index
copy Corner(20:24) to record "squares to bet" layout
end
if record "square 9" data = 0
begin
add 1 to record "squares to bet" layout index
copy Corner(25:29) to record "squares to bet" layout
end
if record "square 10" data = 0
begin
add 1 to record "squares to bet" layout index
copy Corner(26:30) to record "squares to bet" layout
end
if record "square 11" data = 0
begin
add 1 to record "squares to bet" layout index
copy Corner(31:35) to record "squares to bet" layout
end
if record "square 12" data = 0
begin
add 1 to record "squares to bet" layout index
copy Corner(32:36) to record "squares to bet" layout
end
end
method "mark square"
begin
if record "number" layout is found in record "square 1" layout
begin
put 1 on record "square 1" data
end
if record "number" layout is found in record "square 2" layout
begin
put 1 on record "square 2" data
end
if record "number" layout is found in record "square 3" layout
begin
put 1 on record "square 3" data
end
if record "number" layout is found in record "square 4" layout
begin
put 1 on record "square 4" data
end
if record "number" layout is found in record "square 5" layout
begin
put 1 on record "square 5" data
end
if record "number" layout is found in record "square 6" layout
begin
put 1 on record "square 6" data
end
if record "number" layout is found in record "square 7" layout
begin
put 1 on record "square 7" data
end
if record "number" layout is found in record "square 8" layout
begin
put 1 on record "square 8" data
end
if record "number" layout is found in record "square 9" layout
begin
put 1 on record "square 9" data
end
if record "number" layout is found in record "square 10" layout
begin
put 1 on record "square 10" data
end
if record "number" layout is found in record "square 11" layout
begin
put 1 on record "square 11" data
end
if record "number" layout is found in record "square 12" layout
begin
put 1 on record "square 12" data
end
end
method "count squares"
begin
put 0 on record "square count" data
if record "square 1" data = 0
begin
add 1 on record "square count" data
end
if record "square 2" data = 0
begin
add 1 on record "square count" data
end
if record "square 3" data = 0
begin
add 1 on record "square count" data
end
if record "square 4" data = 0
begin
add 1 on record "square count" data
end
if record "square 5" data = 0
begin
add 1 on record "square count" data
end
if record "square 6" data = 0
begin
add 1 on record "square count" data
end
if record "square 7" data = 0
begin
add 1 on record "square count" data
end
if record "square 8" data = 0
begin
add 1 on record "square count" data
end
if record "square 9" data = 0
begin
add 1 on record "square count" data
end
if record "square 10" data = 0
begin
add 1 on record "square count" data
end
if record "square 11" data = 0
begin
add 1 on record "square count" data
end
if record "square 12" data = 0
begin
add 1 on record "square count" data
end
end
method "check neighbor square"
begin
set flag "neighbor found" to false
clear record "double street" layout
if record "square 1" data = 0
and record "square 2" data = 0
begin
set flag "neighbor found" to true
copy Line(1-6) to record "double street" layout
return
end
if record "square 3" data = 0
and record "square 4" data = 0
begin
set flag "neighbor found" to true
copy Line(7-12) to record "double street" layout
return
end
if record "square 5" data = 0
and record "square 6" data = 0
begin
set flag "neighbor found" to true
copy Line(13-18) to record "double street" layout
return
end
if record "square 7" data = 0
and record "square 8" data = 0
begin
set flag "neighbor found" to true
copy Line(19-24) to record "double street" layout
return
end
if record "square 9" data = 0
and record "square 10" data = 0
begin
set flag "neighbor found" to true
copy Line(25-30) to record "double street" layout
return
end
if record "square 11" data = 0
and record "square 12" data = 0
begin
set flag "neighbor found" to true
copy Line(31-36) to record "double street" layout
return
end
end
method "reset"
begin
set flag "1st bet placed" to false
put 0 on record "square 1" data
put 0 on record "square 2" data
put 0 on record "square 3" data
put 0 on record "square 4" data
put 0 on record "square 5" data
put 0 on record "square 6" data
put 0 on record "square 7" data
put 0 on record "square 8" data
put 0 on record "square 9" data
put 0 on record "square 10" data
put 0 on record "square 11" data
put 0 on record "square 12" data
put 1 on record "progression" data index
put 1 on record "double street prog." data index
end
method "initialize"
begin
set flag "ready to bet" to false
set flag "double street" to false
clear record "number" layout
clear record "squares to bet" layout
clear record "double street" layout
set list [1,1,1,1,2,2,3,4,5,6,8,10,14,18] to record "progression" data
set list [1,1,1,1,1,2,3,3,4,4,5,6,8,10] to record "double street prog." data
copy list [number 1,number 2,number 4,number 5] to record "square 1" layout
copy list [number 2,number 3,number 5,number 6] to record "square 2" layout
copy list [number 7,number 8,number 10,number 11] to record "square 3" layout
copy list [number 8,number 9,number 11,number 12] to record "square 4" layout
copy list [number 13,number 14,number 16,number 17] to record "square 5" layout
copy list [number 14,number 15,number 17,number 18] to record "square 6" layout
copy list [number 19,number 20,number 22,number 23] to record "square 7" layout
copy list [number 20,number 21,number 23,number 24] to record "square 8" layout
copy list [number 25,number 26,number 28,number 29] to record "square 9" layout
copy list [number 26,number 27,number 29,number 30] to record "square 10" layout
copy list [number 31,number 32,number 34,number 35] to record "square 11" layout
copy list [number 32,number 33,number 35,number 36] to record "square 12" layout
end
method "input"
begin
group
begin
display "Dual Squares System"
input dropdown "When two ADJACENT sets of 4 numbers
have no hit, perform the following:
1:=Rechart spins
2:=Continue to bet
3:=Bet using Double Street"
to record "adjacent type" data
end
end





