•
•
•
Some Techniques
410
LET camp = sort<dartl
420
LET sort
(0)
= camp
430
REPeat campa re
440
IF camp >= sort<dart-1l : EXIT compare
450
LET sort(dart) = sort(dart-1)
460
LET dart = dart -1
470
END REPeat compare
480
LET sort(dart) = camp
490
END FOR; tem
500 END DEFine
510 DEFine PROCedure layout
520
PAPER #6,4 : CLS #6
530
BORDER #6,10,0
540
BLOCK #6,100,60,150,60,2,4
550 END DEFine
560 DEFine PROCedure printem
570
LET inc = 12 : INK #6,7
580
LET p = 0
590
FOR seat = 1 TO 4
600
READ ac, dn
610
FOR row = 1 TO 4
620
getLine
630
CURSOR #6,ac,dn
640
PRINT #6,lin$
650
LET dn = dn + inc
660
END FOR row
670
END FOR seat
680 END DEFine
690 DEFine PROCedure getLine
700
IF row MOD 2 = 0 THEN STRIP #6,0
710
IF row MOD 2 = 1 THEN STRIP #6,2
720
LET lin$ = tok$(row)
730
LET max = row*13
740
REPeat one suit
750
LET p =
p
+ 1
760
LET n = card (p)
770
IF n >max THEN p = p-1
EXIT one suit
780
LET n = n MOD 13
790
IFn=OTHENn=13
800
IF n = 1 : LET ch$ = "A"
810
IF n >= 2 AND n <= 9 : LET ch$ = n
820
IF n = 10
LET ch$ = "T"
830
IF n = 11
LET ch$ =
"J"
840
IF n = 12
LET ch$ = "Q"
850
IF n = 13
LET ch$ = "K"
860
LETLin$=Lin$&""&ch$
870
IF P = 52 : EXIT one=suit
880
IF card(p»card(p+ll
EXIT one suit
890
END REPeat one sui t
900 END DEFine
-
910 DATA "H:
II
,"C:","D:","S:"
920 DATA 150,10,260,60,150,130,30,60
The program works in the 256 mode But the various lines of card symbols may overlap
COMMENT
the ',able" or overflow at the edge of the window. A simple change in procedure
getline
from:
860 LET lin$ = Lin$ &"" & ch$
to:
860 LET Lin$ = Lin$ & ch$
will correct this, The spaces between characters disappear but the larger sized characters
enable the rO'NS to be easily readable. The program thus works well in either graphics
mode.