Compucolor.org – Virtual Media

Listing of file='DELITE.BAS;01' on disk='vmedia/chip_13-sector.ccvf'

0 PLOT 6,2,12,27,24,15
1 CLEAR 1000
10 A= PEEK (33209):FOR B= 0TO A:C= RND (1):NEXT B
20 DIM FO(4),TR(9,13),BO(7)
30 DIM KD(52),DK(52),W(52)
31 W(1)= 7:W(2)= 45:W(3)= 41:W(4)= 43:W(5)= 29:W(6)= 22:W(7)= 42:W(8)= 11:W(9)= 27:W(10)= 10:W(11)= 48
32 W(12)= 37:W(13)= 21:W(14)= 23:W(15)= 9:W(16)= 14:W(17)= 28:W(18)= 44:W(19)= 12:W(20)= 17:W(21)= 34
33 W(22)= 33:W(23)= 26:W(24)= 31:W(25)= 15:W(26)= 38:W(27)= 8:W(28)= 19:W(29)= 47:W(30)= 20:W(31)= 13
34 W(32)= 50:W(33)= 18:W(34)= 6:W(35)= 46:W(36)= 30:W(37)= 5:W(38)= 3:W(39)= 4:W(40)= 16:W(41)= 25
35 W(42)= 39:W(43)= 40:W(44)= 1:W(45)= 2:W(46)= 49:W(47)= 32:W(48)= 24:W(49)= 51:W(50)= 35
36 W(51)= 52:W(52)= 36
90 GOSUB 10000:REM  HOUSEKEEPING
92 IF SW= 1THEN 150
94 PLOT 6,70,14,3,0,21:OUT 8,255:INPUT "DECK A (A) OR SHUFFLE (RETURN) ? ";Q$
96 PLOT 6,2,14,3,0,21:PRINT "                                   "
98 IF LEFT$ (Q$,1)= "A"THEN 250
100 OUT 8,255:PLOT 6,65,14,3,27,21:PRINT "HIT RETURN"
110 POKE 33278,0
120 I= RND (1)
130 IF PEEK (33278)= 0THEN 120
140 OUT 8,247:PLOT 6,71,14,3,27,21:PRINT "SHUFFLING "
150 GOSUB 40480
160 PLOT 6,2,14,3,27,21:PRINT "          "
170 PLOT 6,2,15,3,15,14:PRINT "                                  "
180 GOSUB 11000:REM  INITIALIZE VALUES
190 GOSUB 12000:REM  DRAW CARDS ON THE SCREEN
199 GOTO 1000
228 CO= 1
250 REM  USE DECK A, A WINNER
255 FOR I= 1TO 52
260 DK(I)= W(I)
265 NEXT I
270 SW= 1
275 GOTO 150
1000 REM  MAIN ROUTINE
1010 GOTO 2000
1140 REM  WE HAVE A WINNAH !
1150 PLOT 15,6,70
1160 X9= 47:Y9= 24
1170 GOSUB 40610
1180 FOR I= 0TO 999:NEXT I
1200 PLOT 6,65,14,3,27,21:PRINT " YOU WIN "
1210 FOR I= 0TO 999:NEXT I
1215 PLOT 15
1230 GOTO 9000
2000 REM  PROCESS INPUT
2002 FOR A= 1TO 4
2004 IF FO(A)< > A* 13THEN 2010
2006 NEXT A
2008 GOTO 1140:REM  A WINNER
2010 PLOT 6,3,15,3,50,22
2020 PRINT RIGHT$ ((STR$ (MO)),3)
2030 MO= MO+ 1
2100 PLOT 6,1,15
2110 PLOT 3,0,20
2120 OUT 8,255
2130 INPUT "FROM: ";Q1$
2132 PLOT 6,6,15,3,0,20:PRINT "          "
2134 PLOT 3,0,20
2140 INPUT "TO: ";Q2$
2142 PLOT 6,2,15,3,0,20:PRINT "         "
2145 OUT 8,247
2150 Q1$= LEFT$ (Q1$,1):Q2$= LEFT$ (Q2$,1)
2152 PLOT 6,1,15,3,48,20:PRINT Q1$
2154 PLOT 6,6,15,3,55,20:PRINT Q2$
2160 IF Q1$= "Q"AND Q2$= "Q"THEN 2500
2170 IF Q1$> "@"AND Q1$< "H"THEN 3000
2177 IF Q1$= Q2$THEN ER= 10:GOTO 8000
2180 IF Q1$> "0"AND Q1$< ":"THEN 3000
2185 ER= 11
2190 GOTO 8000
2500 REM  YOU QUIT
2510 PLOT 6,68,14,3,27,21:PRINT " YOU LOSE "
2520 FOR I= 0TO 999:NEXT I
2530 GOTO 9000
3000 REM  Q1$ WITHIN RANGES
3010 IF Q2$= "0"THEN 4000
3020 IF Q2$> "0"AND Q2$< ":"THEN 4000
3025 ER= 1
3030 GOTO 8000
3500 REM  CONVERT Q1$ AND Q2$ TO FM(1-52), F(1-13) AND T2(1-52), T(1-13)
3510 IF Q1$> "@"AND Q1$< "H"THEN 3800
3520 A= ASC (Q1$)- 48
3530 FM= TR(A,1)
3540 F= FM
3550 FOR A= 1TO 3
3560 IF F> 13THEN F= F- 13
3570 NEXT A
3580 IF Q2$= "0"THEN 3900
3590 A= ASC (Q2$)- 48
3600 T2= TR(A,1)
3605 T= T2
3610 FOR A= 1TO 3
3620 IF T> 13THEN T= T- 13
3630 NEXT A
3640 RETURN
3800 A= ASC (Q1$)- 64
3810 FM= BO(A)
3820 GOTO 3540
3900 A= INT ((FM- 1)/ 13)+ 1
3905 IF A< 1OR A> 4THEN ER= 9:GOTO 8000
3910 T2= FO(A)
3920 T= T2
3930 FOR B= 1TO 3
3940 IF T> 13THEN T= T- 13
3950 NEXT B
3960 MA= 0
3970 IF F- 1= TTHEN MA= 1
3980 GOTO 3640
4000 REM  Q2$ ALSO WITHIN RANGES: NOW CHECK FOR VALIDITY OF MOVE
4100 IF Q1$> "0"AND Q1$< ":"THEN 5000
4110 IF Q2$= "0"THEN 6000
4120 REM  FROM BONEYARD TO TRIANGLE
4130 GOSUB 3500
4140 IF FM= 0THEN ER= 2:GOTO 8000
4150 IF T2= 0THEN 4500
4160 IF F+ 1= TTHEN 4200
4165 ER= 3
4170 GOTO 8000
4200 A= INT ((FM- 1)/ 13)+ 1
4210 B= INT ((T2- 1)/ 13)+ 1
4220 IF A+ B= 5THEN ER= 4:GOTO 8000
4221 IF A= BTHEN ER= 7:GOTO 8000
4222 C= ASC (Q1$)- 64
4223 BO(C)= 0
4224 PLOT 6,2
4226 BC$= " ":Y9= 23:X9= C* 6- 6:GOSUB 40300
4230 C= ASC (Q2$)- 48
4240 FOR E= 13TO 2STEP - 1
4250 TR(C,E)= TR(C,E- 1)
4260 NEXT E
4270 TR(C,1)= FM
4280 X= FM
4290 X9= 6* C- 6
4300 Y9= 1
4310 FOR D= 1TO 12
4320 IF TR(C,D)= 0THEN 4350
4330 Y9= Y9+ 1
4340 NEXT D
4350 GOSUB 40000
4400 GOTO 2000
4500 REM  TRIANGLE SLOT OPEN
4510 C= ASC (Q1$)- 64
4520 BO(C)= 0
4530 PLOT 6,2
4540 BC$= " ":Y9= 23:X9= 6* C- 6:GOSUB 40300
4550 C= ASC (Q2$)- 48
4560 TR(C,1)= FM
4570 X= FM
4580 Y9= 2
4590 X9= 6* C- 6
4600 GOSUB 40000
4610 GOTO 2000
5000 REM  TRIANGLE TO ?
5010 IF Q2$= "0"THEN 6000
5020 REM  TRIANGLE TO TRIANGLE
5030 GOSUB 3500
5040 IF FM= 0THEN ER= 5:GOTO 8000
5050 IF T2= 0THEN 5500
5051 IF F+ 1= TTHEN 5053
5052 ER= 6:GOTO 8000
5053 A= INT ((FM- 1)/ 13)+ 1
5054 B= INT ((T2- 1)/ 13)+ 1
5056 IF A+ B= 5THEN ER= 7:GOTO 8000
5058 IF A= BTHEN ER= 7:GOTO 8000
5060 SW= 2:GOTO 6100
5070 REM  FROM TAKEN CARE OF, NOW DO THE TO
5080 GOTO 4230
5500 REM  TRIANGLE SLOT OPEN
5520 SW= 1:GOTO 6100
5530 REM  FROM TAKEN CARE OF, NOW DO THE TO
5540 GOTO 4550
6000 REM  TRIANGLE TO FOUNDATION
6010 GOSUB 3500:REM  CONVERT Q1$ AND Q2$ TO FM,F,T2,T
6020 REM  IF MA=1 THEN GOT MATCH ON FOUNDATION
6030 IF MA= 0THEN ER= 8:GOTO 8000
6035 FO(A)= FM
6040 X= FM
6050 X9= 59:Y9= 8* A- 8
6060 GOSUB 40000
6070 MA= 0
6080 IF Q1$> "@"AND Q1$< "H"THEN 6500
6090 REM  Q1$ FROM TRIANGLE
6100 C= ASC (Q1$)- 48
6110 X9= 6* C- 6
6120 Y9= 1
6130 FOR A= 1TO 12
6140 IF TR(C,A)= 0THEN 6170
6150 Y9= Y9+ 1
6160 NEXT A
6170 REM
6180 PLOT 6,2
6200 BC$= " ":GOSUB 40300
6210 TR(C,1)= 0
6220 FOR D= 1TO 12
6230 TR(C,D)= TR(C,D+ 1)
6240 NEXT D
6250 TR(C,13)= 0
6260 Y9= Y9- 1
6270 X= TR(C,1)
6280 X9= 6* C- 6
6282 IF X= 0THEN Y9= 2:BC$= " ":GOSUB 40300:GOTO 6300
6290 GOSUB 40000
6300 IF SW= 1THEN SW= 0:GOTO 5530
6305 IF SW= 2THEN SW= 0:GOTO 5070
6310 GOTO 2000
6499 REM  Q1$ FROM BONEYARD
6500 C= ASC (Q1$)- 64
6510 BO(C)= 0
6515 PLOT 6,2
6520 BC$= " ":Y9= 23:X9= 6* C- 6:GOSUB 40300
6412 GOTO 2000
8000 REM  INPUT NO GOOD
8008 MO= MO- 1
8010 PLOT 6,1,15,3,48,20:PRINT Q1$
8020 PLOT 6,6,15,3,55,20:PRINT Q2$
8100 PLOT 6,67,14
8110 PLOT 3,0,21
8115 ON ERGOSUB 8210,8220,8230,8240,8250,8260,8270,8280,8290,8300,8310
8130 FOR A= 0TO 999:NEXT A
8140 PLOT 6,2,14,3,0,21:PRINT "                 "
8150 GOTO 2000
8210 PRINT "TO: NOT 0 OR 1-9":RETURN
8220 PRINT "FM: NO CARD":RETURN
8230 PRINT "SEQUENCE NO GOOD":RETURN
8240 PRINT "COLOR NO GOOD":RETURN
8250 PRINT "FM: NO CARD":RETURN
8260 PRINT "SEQUENCE NO GOOD":RETURN
8270 PRINT "COLOR NO GOOD":RETURN
8280 PRINT "NO MATCH":RETURN
8290 PRINT "FM: NO CARD":RETURN
8300 PRINT "FM: AND TO: SAME":RETURN
8310 PRINT "FM: NO GOOD":RETURN
9000 REM  END OF GAME
9010 PLOT 6,1,14,3,27,21:OUT 8,255
9020 INPUT "PLAY AGAIN ?";Q$
9030 IF LEFT$ (Q$,1)< > "Y"THEN 9500
9032 PLOT 6,6,14,3,27,21:INPUT "SAME DECK (Y/N) ? ";Q$
9034 IF LEFT$ (Q$,1)= "Y"THEN SW= 1
9040 PLOT 6,2,12,15,27,24
9050 GOTO 90
9500 PLOT 6,2,15,27,11
9510 LOAD "MENU":RUN
9520 END
10000 REM  HOUSEKEEPING
10080 PLOT 6,7,15,3,15,14
10090 PRINT "COPYRIGHT 1979 BY DONALD R MILLER"
10100 PLOT 6,1,14,3,42,31:PRINT "IDIOT'S DELIGHT"
10110 PLOT 6,7,15:X9= 47:Y9= 24:GOSUB 40600
10240 PLOT 6,6,14,3,2,31
10250 PRINT "A     B     C     D     E     F     G"
10280 PLOT 6,6,14,3,2,1
10290 PRINT "1     2     3     4     5     6     7     8     9"
10300 PLOT 6,7,15,3,58,3:PRINT "s"
10310 PLOT 6,1,15,3,58,11:PRINT "d"
10320 PLOT 6,1,15,3,58,19:PRINT "h"
10325 PLOT 6,7,15,3,58,27:PRINT "c"
10330 PLOT 6,1,15,3,44,20:PRINT "FM:"
10340 PLOT 6,6,15,3,51,20:PRINT "TO:"
10350 PLOT 6,3,15,3,44,22:PRINT "MOVESb   a"
10360 PLOT 6,3,15,3,50,21:PRINT ""
10370 PLOT 6,3,15,3,50,23:PRINT "eee"
10380 X9= 59:Y9= 0:PLOT 6,7:GOSUB 40420
10390 X9= 59:Y9= 8:PLOT 6,1:GOSUB 40420
10400 X9= 59:Y9= 16:PLOT 6,1:GOSUB 40420
10410 X9= 59:Y9= 24:PLOT 6,7:GOSUB 40420
10420 Y9= 2:PLOT 6,1
10430 FOR X9= 0TO 48STEP 6
10440 GOSUB 40420
10450 NEXT X9
10460 Y9= 23:PLOT 6,6
10470 FOR X9= 0TO 36STEP 6
10480 GOSUB 40420
10490 NEXT X9
10500 PLOT 27,10,6,5
10510 PLOT 3,53,0
10520 PRINT "LMF  T"
10530 PLOT 3,54,0
10540 PRINT "EOR1AO1R QTE"
10550 PLOT 3,55,0
10560 PRINT "GVO--:-E &ON"
10570 PLOT 3,56,0
10580 PRINT "AEM9G 9T Q D"
10590 PLOT 3,57,0
10600 PRINT "LS:"
10610 PLOT 27,24
10999 RETURN
11000 REM  INITIALIZE VALUES
11100 FOR A= 1TO 7
11110 BO(A)= DK(A)
11120 NEXT A
11130 FOR A= 1TO 9
11140 FOR B= 1TO 13
11150 TR(A,B)= 0
11160 NEXT B
11170 NEXT A
11180 FOR A= 1TO 4
11190 FO(A)= 0
11200 NEXT A
11210 MO= 0
11220 B= 1
11230 FOR A= 8TO 16
11240 TR(9,B)= DK(A)
11250 B= B+ 1
11260 NEXT A
11270 B= 1
11280 FOR A= 17TO 24
11290 TR(8,B)= DK(A)
11300 B= B+ 1
11310 NEXT A
11320 B= 1
11330 FOR A= 25TO 31
11340 TR(7,B)= DK(A)
11350 B= B+ 1
11360 NEXT A
11370 B= 1
11380 FOR A= 32TO 37
11390 TR(6,B)= DK(A)
11400 B= B+ 1
11410 NEXT A
11420 B= 1
11430 FOR A= 38TO 42
11440 TR(5,B)= DK(A)
11450 B= B+ 1
11460 NEXT A
11470 B= 1
11480 FOR A= 43TO 46
11490 TR(4,B)= DK(A)
11500 B= B+ 1
11510 NEXT A
11520 TR(3,1)= DK(47)
11530 TR(3,2)= DK(48)
11540 TR(3,3)= DK(49)
11550 TR(2,1)= DK(50)
11560 TR(2,2)= DK(51)
11570 TR(1,1)= DK(52)
11600 FOR I= 1TO 52
11610 KD(I)= 0
11620 NEXT I
11999 RETURN
12000 REM  DRAW CARDS ON THE SCREEN
12100 X9= 0:Y9= 23
12110 FOR A= 1TO 7
12120 X= BO(A)
12130 GOSUB 40000
12140 X9= X9+ 6
12150 NEXT A
12160 FOR X9= 0TO 48STEP 6
12170 Y9= 2
12180 FOR A= 9TO 1STEP - 1
12190 X= TR((X9/ 6+ 1),A)
12200 IF X= 0THEN 12230
12210 GOSUB 40000
12220 Y9= Y9+ 1
12230 NEXT A
12240 NEXT X9
12999 RETURN
39999 REM  DRAW CARD AT X9,Y9, FROM X(1-52)
40000 IF X> 39THEN Q= X- 39:P$= "c":PLOT 6,56:GOTO 40040
40010 IF X> 26THEN Q= X- 26:P$= "h":PLOT 6,57:GOTO 40040
40020 IF X> 13THEN Q= X- 13:P$= "d":PLOT 6,57:GOTO 40040
40025 IF X= 0THEN RETURN
40030 Q= X:P$= "s":PLOT 6,56
40040 PLOT 27,10:FOR II= 0TO 4:PLOT 3,X9+ II,Y9:PRINT "       ":NEXT II
40050 IF Q> 9THEN 40120
40060 IF Q> 5THEN 40130
40070 IF Q> 3THEN 40140
40080 IF Q= 1OR Q= 5OR Q= 7THEN 40150
40090 IF Q= 2OR Q= 8THEN 40160
40100 IF Q= 3OR Q= 9OR Q> 10THEN 40170
40110 GOTO 40180
40120 PLOT 3,X9+ 1,Y9+ 1:PRINT P$;P$;P$;P$;P$:PLOT 3,X9+ 3,Y9+ 1:PRINT P$;P$;P$;P$;P$:GOTO 40100
40130 PLOT 3,X9+ 1,Y9+ 1:PRINT P$" "P$" "P$:PLOT 3,X9+ 3,Y9+ 1:PRINT P$" "P$" "P$:GOTO 40080
40140 PLOT 3,X9+ 1,Y9+ 1:PRINT P$"   "P$:PLOT 3,X9+ 3,Y9+ 1:PRINT P$"   "P$:GOTO 40080
40150 PLOT 3,X9+ 2,Y9+ 3:PRINT P$:GOTO 40180
40160 PLOT 3,X9+ 2,Y9+ 2:PRINT P$" "P$:GOTO 40180
40170 PLOT 3,X9+ 2,Y9+ 1:PRINT P$" "P$" "P$
40180 IF Q= 1THEN PLOT 3,X9,Y9:PRINT "A":PLOT 3,X9+ 4,Y9+ 6:PRINT "A":GOTO 40270
40190 IF Q> 9THEN 40210
40200 PLOT 3,X9,Y9:PRINT RIGHT$ ((STR$ (Q)),1):PLOT 3,X9+ 4,Y9+ 6:PRINT RIGHT$ ((STR$ (Q)),1):GOTO 40270
40210 PLOT 27,24:IF Q> 10THEN 40230
40220 PLOT 3,X9,Y9:PRINT RIGHT$ ((STR$ (Q)),2):PLOT 3,X9+ 3,Y9+ 6:PRINT RIGHT$ ((STR$ (Q)),2):GOTO 40270
40230 IF Q= 11THEN CD$= "J":GOTO 40260
40240 IF Q= 12THEN CD$= "Q":GOTO 40260
40250 CD$= "K"
40260 PLOT 3,X9,Y9:PRINT CD$:PLOT 3,X9+ 4,Y9+ 6:PRINT CD$:PLOT 3,X9+ 2,Y9+ 3:PRINT CD$
40270 PLOT 27,24,3,X9+ 4,Y9:PRINT P$:PLOT 3,64,0:RETURN
40300 REM  DRAW BACK OF CARD FROM X9,Y9,BC$(PATTERN)
40310 BC$= BC$+ BC$+ BC$+ BC$+ BC$
40320 FOR G= 0TO 6
40330 PLOT 3,X9,Y9+ G
40340 PRINT BC$
40350 NEXT G
40352 IF Y9= 23AND LEFT$ (BC$,1)= " "THEN 40356
40354 GOTO 40360
40356 PLOT 6,2,14,3,X9+ 2,31:PRINT " ":PLOT 15
40360 BC$= " ":PLOT 3,64,0:RETURN
40400 REM  DRAW BLUE BORDER AROUND EMPTY CARD FROM X9,Y9
40410 PLOT 6,4
40420 PLOT 3,X9,Y9:PRINT "neeeo"
40422 PLOT 3,X9,Y9+ 6:PRINT "lm"
40424 PLOT 27,10:PLOT 3,X9,Y9+ 1:PRINT "aaaaa"
40426 PLOT 3,X9+ 4,Y9+ 1:PRINT "bbbbb":PLOT 27,24
40428 PLOT 3,64,0:RETURN
40480 REM  SHUFFLE DECK INTO DK(1-52), USE KD TO STOCK DUPES
40485 IF SW= 1THEN SW= 0:GOTO 40560
40510 I= 1
40520 DK(I)= INT (52* RND (1)+ 1)
40530 IF KD(DK(I))= 1THEN 40520
40540 KD(DK(I))= 1
40550 I= I+ 1:IF I< 53THEN 40520
40560 RETURN
40600 REM  DRAW IDIOT'S HEAD
40605 PLOT 15
40610 PLOT 3,X9,Y9+ 1:PRINT "kj zy"
40620 PLOT 3,X9+ 1,Y9+ 2:PRINT "teu"
40630 PLOT 3,X9,Y9+ 3:PRINT "[p q]"
40640 PLOT 3,X9+ 1,Y9+ 4:PRINT "vjw"
40650 PLOT 3,X9+ 1,Y9+ 5:PRINT "w v"
40660 PLOT 3,X9+ 2,Y9+ 3:PRINT "^"
40690 RETURN
41000 END