! Contest 3
Intermediate
! By Kahl Orr
!
! Conrad Weiser
HS
DIM bin(12)
FOR i = 1 to 12
LET bin(i) = 4
NEXT i
LET turn = 1
LET debug = 0
FOR q = 1 to 5
INPUT PROMPT "INPUT
"&str$(q)&": ": direc$,move1,move2$
IF turn=1 THEN
IF direc$ = "R" THEN
LET j=move1
LET count=bin(move1)+2
DO
IF j = 6 AND count > 0 THEN
LET ma = ma+1
LET count=count-2
ELSE
LET count=count-1
END IF
LET bin(j)=bin(j)+1
LET j=j+1
IF j=13 THEN LET j = 1
LOOP UNTIL count <= 0
LET bin(move1) = 0
ELSE IF direc$ = "L" THEN
LET j=move1-1
LET count=bin(move1)
DO
IF j = 7 AND count > 0 THEN
LET ma = ma+1
LET count=count-2
ELSE
LET count=count-1
END IF
LET bin(j)=bin(j)+1
LET j=j-1
IF j=0 THEN LET j = 12
LOOP UNTIL count <= 0
LET bin(move1) = 0
END IF
LET turn = 2
ELSE IF turn = 2 THEN
IF direc$ = "R" THEN
LET j=move1
LET count=bin(move1)+2
DO
IF j = 12 AND count > 0 THEN
LET mb = mb+1
LET count=count-2
ELSE
LET count=count-1
END IF
LET bin(j)=bin(j)+1
LET j=j+1
IF j=13 THEN LET j = 1
LOOP UNTIL count <= 0
LET bin(move1) = 0
ELSE IF direc$ = "L" THEN
LET j=move1-1
LET count=bin(move1)
DO
IF j = 1 AND count > 0 THEN
LET mb = mb+1
LET count=count-2
ELSE
LET count=count-1
END IF
LET bin(j)=bin(j)+1
LET j=j-1
IF j=0 THEN LET j = 12
LOOP UNTIL count <= 0
LET bin(move1) = 0
END IF
LET turn = 1
END IF
PRINT "OUTPUT
";str$(q);":";
IF move2$ = "A" THEN
PRINT ma
ELSE IF move2$ = "B" THEN
PRINT mb
ELSE
PRINT bin(val(move2$))
END IF
PRINT
IF debug =
1 THEN
FOR i = 1 to 12
PRINT "bin(";i;") =
";bin(i)
NEXT i
PRINT "M A:";ma
PRINT "M B:";mb
END
IF
NEXT q
END