Compare commits
4 Commits
4e5fc97a61
...
252b39dc08
Author | SHA1 | Date |
---|---|---|
Joshua Bell | 252b39dc08 | |
Joshua Bell | 1d8e8822db | |
Joshua Bell | 734d953a3b | |
Joshua Bell | ea4444ae49 |
|
@ -84,6 +84,8 @@ By <a target=_blank href="mailto:inexorabletash@gmail.com">Joshua Bell</a>
|
|||
<option value="sample.blackhole"> Black Hole Maze (S.M.Compton c/o Melody Ayres-Griffiths)</option>
|
||||
<option value="sample.chase"> Chase (Dominik Heidler)</option>
|
||||
<option value="sample.spaceattack"> Space Attack! (Alan Ratliff)</option>
|
||||
<option value="sample.building"> Building (Melvin Rosario)</option>
|
||||
<option value="sample.artillery"> Artillery (Michael "Moose" O'Malley)</option>
|
||||
|
||||
<option disabled>____________________________________________</option>
|
||||
<option disabled>Graphics</option>
|
||||
|
@ -118,6 +120,7 @@ By <a target=_blank href="mailto:inexorabletash@gmail.com">Joshua Bell</a>
|
|||
<option value="sample.dbvectortext"> Double-Buffered Vector Font (Golden Child)</option>
|
||||
<option value="sample.stellar7"> STELLAR 7 Rotate 3d Objects (Golden Child)</option>
|
||||
<option value="sample.functiongraphing"> Function Graphing (Golden Child)</option>
|
||||
<option value="sample.codabar"> Codabar Generator (Golden Child)</option>
|
||||
|
||||
<option value="sample.coloredserpinski"> Colored Serpinski Triangles (Gregory Lewis)</option>
|
||||
<option value="sample.radar"> Radar (Josiah Keller)</option>
|
||||
|
@ -128,6 +131,7 @@ By <a target=_blank href="mailto:inexorabletash@gmail.com">Joshua Bell</a>
|
|||
<option value="sample.3drectangle"> 3D Rectangle (Tomo Wa)</option>
|
||||
<option value="sample.enterprise"> Original Series Enterprise (Gil Keidar)</option>
|
||||
<option value="sample.colorrings"> Colored Rings (Miika Oja)</option>
|
||||
<option value="sample.bite"> Apple Bite (Michael "Moose" O'Malley)</option>
|
||||
|
||||
<option disabled>____________________________________________</option>
|
||||
<option disabled>Other</option>
|
||||
|
|
|
@ -0,0 +1,179 @@
|
|||
5 REM ARTILLERY #01
|
||||
10 TEXT : HOME : SPEED= 255: NORMAL
|
||||
15 HOME : VTAB (10): INPUT "INSTRUCTIONS?";A9$
|
||||
16 IF LEFT$ (A9$,1) = "N" THEN 19
|
||||
17 HOME : GOTO 20
|
||||
19 HOME : TEXT : GOTO 150
|
||||
20 PRINT TAB( 15): PRINT : PRINT : PRINT "ARTILLERY": PRINT : PRINT : PRINT : PRINT
|
||||
21 PRINT " ARTILLERY IS A SIMULATION OF AN"
|
||||
30 PRINT "ARTILLERY DUEL BETWEEN TWO SETS OF GUNS"
|
||||
40 PRINT "ON EITHER SIDE OF A MOUNTAIN. BY USING"
|
||||
50 PRINT "THE ANGLE OF THE GUN AND THE MILLEMETER"
|
||||
60 PRINT "SIZE,YOU WILL BE ABLE TO DESTROY YOUR"
|
||||
70 PRINT "OPPONANT. EACH OF YOU IN TURN WILL TAKE"
|
||||
80 PRINT "A SHOT AT YOUR OPPONANT WHILE TAKING"
|
||||
90 PRINT "INTO ACCOUNT THE WIND SPEED. YOU WILL"
|
||||
100 PRINT "ENTER THE DEGREE MEASURE(BETWEEN"
|
||||
110 PRINT "20 AND 100 DEGREES).THIS WILL BE
|
||||
120 PRINT "FOLLOWED BY THE MILLIMETER SIZE(45 TO"
|
||||
130 PRINT "150 MM)"
|
||||
131 PRINT
|
||||
132 PRINT " -HIT RETURN TO CONTINUE-"
|
||||
140 GET LOST$
|
||||
150 HGR
|
||||
160 HCOLOR= 6
|
||||
170 G(1) = RND (1) * 117 + 8
|
||||
180 G(2) = RND (1) * 117 + 125
|
||||
190 IF G(2) - G(1) < 140 THEN 170
|
||||
200 W1 = INT ( RND (1) * 41)
|
||||
210 W2 = INT ( RND (1) + .5) - 1
|
||||
220 IF W2 < 0 THEN 240
|
||||
230 W2 = 1
|
||||
240 HPLOT G(2) + 8,149 TO G(2),145
|
||||
250 X = 1
|
||||
260 HPLOT G(X) - 8,149 TO G(X),145
|
||||
270 HPLOT G(2) + 8,150 TO G(2),146
|
||||
280 HPLOT G(X) - 8,150 TO G(X),146
|
||||
290 HPLOT G(2) + 4,145 TO G(2) - 3,137
|
||||
300 HPLOT G(X) - 4,145 TO G(X) + 3,137
|
||||
310 HPLOT G(2) + 5,144 TO G(2) - 7,136
|
||||
320 HPLOT G(X) - 5,144 TO G(X) + 7,136
|
||||
330 HPLOT G(2) + 2,135 TO G(2) - 2,150
|
||||
340 HPLOT G(X) - 2,135 TO G(X) + 2,150
|
||||
350 P1 = W2
|
||||
360 GOSUB 1440
|
||||
370 GOSUB 1630
|
||||
380 FOR X8 = 1 TO 20
|
||||
390 P2 = 0
|
||||
400 P1 = P1 * ( - 1)
|
||||
410 GOSUB 1290
|
||||
420 PRINT : PRINT : PRINT : GOSUB 1580
|
||||
430 PRINT "ENTER DEGREE (20-100) & MM SIZE (45-150) TO DESTROY THE OPPOSING CANNON"
|
||||
440 INPUT A1,V1
|
||||
441 IF A1 > 100 OR A1 < 20 THEN 445
|
||||
442 IF V1 > 150 OR V1 < 45 THEN 445
|
||||
443 GOTO 450
|
||||
445 PRINT "": INVERSE : PRINT "ILLEGAL QUANTITY-TRY AGAIN": NORMAL : GOTO 430
|
||||
450 A1 = A1 * 3.1415926 / 180
|
||||
460 X1 = COS (A1) * V1
|
||||
470 Y1 = SIN (A1) * V1
|
||||
480 T1 = Y1 / 16
|
||||
490 T2 = T1 / 24
|
||||
500 W3 = W1 * T2 * P1
|
||||
510 W5 = 0
|
||||
520 FOR Y8 = 0 TO T1 STEP T2
|
||||
530 W5 = W5 + W3
|
||||
540 X = X1 * Y8
|
||||
550 X = X + (W5 * W2)
|
||||
560 X = INT (X + .5)
|
||||
570 Y = Y1 * Y8 - 16 * Y8 ^ 2
|
||||
580 Y = INT (Y + .5)
|
||||
590 IF Y < 9 THEN 750
|
||||
600 IF P1 < 0 THEN 680
|
||||
610 G4 = G(1) + X
|
||||
620 IF G4 < 1 OR G4 > 254 THEN 670
|
||||
630 IF Y > 149 THEN 670
|
||||
640 HCOLOR= 5
|
||||
650 HPLOT X2,Y2 TO G4,150 - Y
|
||||
660 X2 = G4:Y2 = 150 - Y
|
||||
670 GOTO 750
|
||||
680 G4 = G(2) - X
|
||||
690 IF G4 < 0 OR G4 > 254 THEN 750
|
||||
700 IF Y > 149 THEN 750
|
||||
710 HCOLOR= 3
|
||||
720 HPLOT X2,Y2 TO G4,150 - Y
|
||||
730 X2 = G4:Y2 = 150 - Y
|
||||
740 IF Y8 = 0 THEN 770
|
||||
750 GOSUB 1060
|
||||
760 IF P2 = 5 THEN 800
|
||||
770 NEXT Y8
|
||||
780 Y6 = 150
|
||||
790 GOSUB 1160
|
||||
800 IF G4 > G(1) + 5 OR G4 < G(1) - 5 THEN 850
|
||||
810 PRINT : PRINT : PRINT
|
||||
820 PRINT "GOOD WORK! RIGHT GUN SURVIVES."
|
||||
830 T3 = T3 + 1
|
||||
840 GOTO 930
|
||||
850 IF G4 > G(2) + 5 OR G4 < G(2) - 5 THEN 900
|
||||
860 PRINT : PRINT : PRINT
|
||||
870 PRINT "NICE SHOOTING! LEFT GUN SURVIVES."
|
||||
880 T4 = T4 + 1
|
||||
890 GOTO 930
|
||||
900 P2 = 0
|
||||
910 G4 = 0
|
||||
920 NEXT X8
|
||||
930 PRINT : PRINT "DO YOU WANT TO PLAY AGAIN";
|
||||
940 INPUT A$
|
||||
950 IF A$ = "Y" THEN 150
|
||||
951 IF A$ = "YES" THEN 150
|
||||
960 HGR
|
||||
970 TEXT
|
||||
980 HOME
|
||||
990 PRINT "SCORE"
|
||||
1000 PRINT "-----"
|
||||
1010 PRINT "LEFT ";T4
|
||||
1020 PRINT "RIGHT ";T3
|
||||
1045 D9$ = "CHR$(13)": PRINT D$
|
||||
1050 END
|
||||
1060 Y6 = 150
|
||||
1070 G8 = Y7 + 2 * G3
|
||||
1080 Y7 = G(1) + G2
|
||||
1090 IF Y > G3 THEN 1280
|
||||
1100 IF G4 < Y7 + Y THEN 1280
|
||||
1110 IF G4 > G8 - Y THEN 1280
|
||||
1120 P2 = 5
|
||||
1130 P2 = 5
|
||||
1140 Y6 = 150 - Y
|
||||
1150 Y6 = 150 - Y
|
||||
1160 FOR Z = 1 TO 5
|
||||
1170 IF G4 < 0 OR G4 > 253 THEN 1240
|
||||
1180 HPLOT G4,Y6 - Z
|
||||
1190 HPLOT G4 + Z,Y6 - Z
|
||||
1200 HPLOT G4 - Z,Y6 - Z
|
||||
1210 HPLOT G4 + Z,Y6 - 1
|
||||
1220 HPLOT G4 - Z,Y6 - 1
|
||||
1230 X5 = PEEK ( - 16336)
|
||||
1240 NEXT Z
|
||||
1250 Y = 0
|
||||
1260 X = 0
|
||||
1270 GOSUB 1630
|
||||
1280 RETURN
|
||||
1290 IF P1 < 0 THEN 1360
|
||||
1300 HPLOT 1,152 TO 4,152
|
||||
1310 HPLOT 1,153 TO 4,153
|
||||
1320 HPLOT 1,154 TO 4,154
|
||||
1330 HPLOT 1,155 TO 4,155
|
||||
1340 IF P1 < 0 THEN 1420
|
||||
1350 HCOLOR= 0
|
||||
1360 HPLOT 250,152 TO 254,152
|
||||
1370 HPLOT 250,153 TO 254,153
|
||||
1380 HPLOT 250,154 TO 254,154
|
||||
1390 HPLOT 250,155 TO 254,155
|
||||
1400 HCOLOR= 0
|
||||
1410 IF P1 < 0 THEN 1300
|
||||
1420 HCOLOR= 2
|
||||
1430 RETURN
|
||||
1440 G1 = (G(2) - G(1)) / 2
|
||||
1450 G2 = RND (1) * (G1 - 1) + 1
|
||||
1460 G3 = RND (1) * G1 / 2 + 10
|
||||
1470 IF G3 < 30 THEN 1460
|
||||
1480 IF G(2) - (G(1) + G2) > 2 * G3 THEN 1510
|
||||
1490 G3 = G3 - 1
|
||||
1500 GOTO 1480
|
||||
1510 FOR M1 = 1 TO 252
|
||||
1520 HCOLOR= 1
|
||||
1530 HPLOT M1,150
|
||||
1540 NEXT M1
|
||||
1550 HPLOT G(1) + G2,150 TO G(1) + G2 + G3,150 - G3
|
||||
1560 HPLOT G(1) + G2 + 2 * G3,150 TO G(1) + G2 + G3,150 - G3
|
||||
1570 RETURN
|
||||
1580 IF W2 < 0 THEN 1610
|
||||
1590 PRINT "THE WIND IS TO THE RIGHT AT ";W1
|
||||
1600 GOTO 1620
|
||||
1610 PRINT "THE WIND IS TO THE LEFT AT ";W1
|
||||
1620 RETURN
|
||||
1630 IF P1 < 0 THEN 1660
|
||||
1640 X2 = G(2):Y2 = 150
|
||||
1650 GOTO 1670
|
||||
1660 X2 = G(1):Y2 = 150
|
||||
1670 RETURN
|
|
@ -0,0 +1,61 @@
|
|||
10 REM -----------------------
|
||||
11 REM Source: HELLO on disk: Dark the Disk Repair Kit (v2.2), Beyond Wolfenstein Editor.dsk
|
||||
|
||||
12 REM Extracted and slightly modified by Moose
|
||||
|
||||
13 REM -----------------------
|
||||
|
||||
60 TEXT : HOME : GR :D$ = CHR$ (13) + CHR$ (4)
|
||||
|
||||
70 COLOR= 12: VLIN 1,4 AT 24: VLIN 2,7 AT 23: VLIN 3,8 AT 22: VLIN 4,9 AT 21: VLIN 6,10 AT 20
|
||||
|
||||
80 HLIN 13,16 AT 10: HLIN 24,27 AT 10: HLIN 12,18 AT 11: HLIN 22,28 AT 11: HLIN 11,29 AT 12: HLIN 11,29 AT 13
|
||||
|
||||
90 COLOR= 13: FOR I = 14 TO 17: HLIN 10,30 AT I: NEXT I
|
||||
|
||||
100 FOR I = 18 TO 25
|
||||
|
||||
110 IF I = 19 THEN COLOR= 9
|
||||
|
||||
120 IF I = 24 THEN COLOR= 1
|
||||
|
||||
130 HLIN 9,31 AT I: NEXT I
|
||||
|
||||
140 FOR I = 26 TO 30
|
||||
|
||||
150 IF I = 29 THEN COLOR= 3
|
||||
|
||||
160 HLIN 10,30 AT I: NEXT I
|
||||
|
||||
170 FOR I = 31 TO 33: HLIN 11,29 AT I: NEXT I
|
||||
|
||||
180 COLOR= 2: FOR I = 34 TO 36: HLIN 12,28 AT I: NEXT I
|
||||
|
||||
190 HLIN 13,27 AT 37: HLIN 14,19 AT 38: HLIN 21,26 AT 38: HLIN 15,18 AT 39: HLIN 22,25 AT 39
|
||||
|
||||
200 VTAB 24: PRINT " PRESS ANY KEY TO TAKE A 'BITE' ";: GET TZ$
|
||||
|
||||
205 HOME
|
||||
|
||||
210 FOR C = 1 TO 20:K = PEEK ( - 16336): NEXT C
|
||||
|
||||
220 COLOR= 0: HLIN 28,30 AT 14: HLIN 28,30 AT 15: HLIN 27,30 AT 16: HLIN 27,30 AT 17: HLIN 26,31 AT 18: HLIN 26,31 AT 19: HLIN 26,31 AT 20: HLIN 25,31 AT 21: HLIN 25,31 AT 22: HLIN 25,31 AT 23: HLIN 25,31 AT 24: HLIN 26,31 AT 25
|
||||
|
||||
230 HLIN 26,30 AT 26: HLIN 26,30 AT 27: HLIN 27,30 AT 28: HLIN 27,30 AT 29: HLIN 29,30 AT 30
|
||||
|
||||
240 FOR PAUSE = 1 TO 1000: NEXT PAUSE
|
||||
|
||||
250 REM PRINT D$;"RUN MENU"
|
||||
|
||||
260 TEXT : HOME
|
||||
|
||||
270 PRINT: PRINT "HAVE A NICE DAY ! MOOSE :)
|
||||
|
||||
910 REM -----------------------
|
||||
|
||||
911 REM Source: HELLO on disk: Dark the Disk Repair Kit (v2.2), Beyond Wolfenstein Editor.dsk
|
||||
|
||||
912 REM Extracted and slightly modified by Moose
|
||||
|
||||
913 REM -----------------------
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
0 clear : text : normal : home
|
||||
1 rem BUILDING GAME BY MELVIN ROSARIO
|
||||
2 rem Use Arrow keys to look around, Use wasd to move
|
||||
3 rem Press E to place a block and Q to remove one
|
||||
4 rem Use N and M to scroll through block type
|
||||
|
||||
5 inverse : htab 3 : vtab 3 : print " BUILDING GAME " : normal : htab 3 : vtab 5 : print "press any key to start" : get unused$ : gr
|
||||
6 etp = 4 : ctp = 0
|
||||
7 if unused$="0" or unused$="U" then blk=5000
|
||||
8 if unused$><"U" then elevation=20
|
||||
9 if unused$="U" then elevation=10
|
||||
10 px=20 : py=1 : pr=0 : bkg=6 : for i = 0 to 39 : color=4 : vlin 1,38 at i : next i
|
||||
11 for i = 0 to 39 : color=bkg : vlin 1,elevation at i : color=13 : vlin elevation+3,38 at i
|
||||
12 rand=val(mid$(str$(rnd(-1*(peek(78)+256*peek(79)))*10),1,1))
|
||||
13 if unused$><"U" and rand = 8 and elevation < 34 then elevation=elevation+2 : goto 20
|
||||
14 if unused$><"U" and rand > 2 and elevation < 34 then elevation=elevation+1 : goto 20
|
||||
15 if unused$><"U" and rand = 1 then elevation=elevation-2 : goto 20
|
||||
16 if unused$><"U" and rand < 4 then elevation=elevation-1
|
||||
20 next i
|
||||
|
||||
30 home : rand=val(mid$(str$(rnd(-1*(peek(78)+256*peek(79)))*10),1,1))
|
||||
40 gosub 350
|
||||
50 if pr=0 then print "facing left |"
|
||||
51 if pr=1 then print "facing right|"
|
||||
52 if pr=2 then print "facing up |"
|
||||
53 if pr=3 then print "facing down |"
|
||||
100 if ctp=0 then ptb$ = "grass" : pldtp = 4
|
||||
101 if ctp=1 then ptb$ = "dirt" : pldtp = 13
|
||||
102 if ctp=2 then ptb$ = "brick" : pldtp = 11
|
||||
103 if ctp=3 then ptb$ = "platform" : pldtp = 2
|
||||
104 if ctp=4 then ptb$ = "glass" : pldtp = 15
|
||||
300 htab 15 : vtab 21 : print "blocks:" ; blks : print "block type: [" ; ctp ; "] " ; ptb$ : get btn$ : goto 30
|
||||
|
||||
350 color=bkg: plot px, py
|
||||
351 if btn$="D" and px=39 and scrn(0,py) = bkg then px=0 : goto 500
|
||||
352 if btn$="A" and px=0 and scrn(39,py) = bkg then px=39 : goto 500
|
||||
401 if btn$=chr$(21) then pr=1
|
||||
402 if btn$=chr$(8) then pr=0
|
||||
403 if btn$=chr$(10) then pr=3
|
||||
404 if btn$=chr$(11) then pr=2
|
||||
405 if btn$="E" and pr=0 and px><0 and scrn(px-1,py) = bkg and blks>0 then color=pldtp: plot px-1,py : blks=blks-1
|
||||
406 if btn$="E" and pr=1 and px><39 and scrn(px+1,py) = bkg and blks>0 then color=pldtp: plot px+1,py : blks=blks-1
|
||||
407 if btn$="E" and pr=2 and scrn(px,py-1) = bkg and blks>0 then color=pldtp: plot px,py-1 : blks=blks-1
|
||||
408 if btn$="E" and pr=3 and scrn(px,py+1) = bkg and blks>0 then color=pldtp: plot px,py+1 : blks=blks-1
|
||||
409 if btn$="Q" and pr=1 and px><39 and scrn(px+1,py) >< bkg and scrn(px+1,py) >< 0 then color=bkg: plot px+1,py : blks=blks+1
|
||||
410 if btn$="Q" and pr=2 and scrn(px,py-1) >< bkg and scrn(px,py-1) >< 0 then color=bkg: plot px,py-1 : blks=blks+1
|
||||
411 if btn$="Q" and pr=3 and scrn(px,py+1) >< bkg and scrn(px,py+1) >< 0 then color=bkg: plot px,py+1 : blks=blks+1
|
||||
412 if btn$="Q" and pr=0 and px><0 and scrn(px-1,py) >< bkg and scrn(px-1,py) >< 0 then color=bkg: plot px-1,py : blks=blks+1
|
||||
413 if btn$="D" and px><39 and scrn(px+1,py) = bkg then px=px+1 : goto 415
|
||||
414 if btn$="D" and px><39 and scrn(px+1,py) >< bkg and scrn(px+1,py-1) = bkg then px=px+1 : py=py-1
|
||||
415 if btn$="S" and scrn(px,py+1) = 2 and scrn(px,py+2) = bkg then py=py+2
|
||||
418 if btn$="A" and px><0 and scrn(px-1,py) = bkg then px=px-1 : goto 420
|
||||
419 if btn$="A" and px><0 and scrn(px-1,py) >< bkg and scrn(px-1,py-1) = bkg then px=px-1 : py=py-1
|
||||
420 if btn$="M" then ctp = ctp + 1
|
||||
421 if btn$="N" then ctp = ctp - 1
|
||||
489 if ctp > etp then ctp = 0
|
||||
490 if ctp < 0 then ctp = etp
|
||||
497 if btn$="W" and py><0 and scrn(px,py-1) = 2 and scrn(px,py-2) = bkg then py=py-2 : goto 500
|
||||
498 if scrn(px,py+1) = bkg then py=py+1 : goto 500
|
||||
499 if btn$="W" and scrn(px,py-1) = bkg then py=py-1
|
||||
500 color=0: plot px, py : return
|
|
@ -0,0 +1,84 @@
|
|||
1 REM CODABAR BARCODE GENERATOR BY GOLDEN CHILD
|
||||
2 REM ALL INFO NEEDED FROM WIKIPEDIA ARTICLE ON CODABAR
|
||||
3 TEXT : HOME
|
||||
4 PRINT "CODABAR GENERATOR" : ?
|
||||
5 PRINT "LEGAL CHARACTERS ARE: "
|
||||
6 PRINT " 0123456789 ./+-$: ABCD" : ?
|
||||
7 PRINT " BEGIN AND END WITH ABCD STOP CODES" : ?
|
||||
8 PRINT " ADD # AS FIRST CHAR FOR CHECK DIGIT" : ?
|
||||
9 PRINT "EXAMPLES: A1234A A5678B" : ? " #A1234A (WITH CHECK DIGIT)":?
|
||||
10 DIM HB$(4),HS$(6)
|
||||
20 DIM CB(128),CS(128),CK(128)
|
||||
|
||||
100 FOR I = 1 TO 4 : READ HB$(I) : NEXT : REM HORIZ BAR PATTERN
|
||||
105 FOR I = 1 TO 4 : READ IB$(I) : NEXT : REM INVERT BAR PATTERN
|
||||
110 FOR I = 1 TO 6 : READ HS$(I) : NEXT : REM HORIZ SPACE PATTERN
|
||||
120 READ CH$ : IF CH$ = "END" THEN GOTO 150
|
||||
130 C = ASC(CH$) : READ CB(C),CS(C),CK(C)
|
||||
140 GOTO 120
|
||||
150 REM DONE READING
|
||||
160 FOR I = 1 TO 128
|
||||
165 REM IF CB(I)<>0 OR CS(I) <> 0 THEN PRINT CHR$(I),CB(I),CS(I)
|
||||
170 NEXT
|
||||
|
||||
176 X0 = 20 : X=X0 : Y0 = 5 : Y=Y0 : Y1=20 : Y2 = 20
|
||||
180 W0 = 1 : REM DEFAULT WIDTH
|
||||
200 PRINT " (# FOR CHECK DIGIT, USE | FOR :)":INPUT "BARCODE:";A$ : CS = 0
|
||||
205 IF MID$(A$,1,1)<>"#" THEN GOTO 210 : REM SKIP CHECKSUM
|
||||
206 A$=MID$(A$,2,LEN(A$)-1) : FOR I = 1 TO LEN(A$) : C = ASC(MID$(A$,I,1)) : ? "CHAR="C" CHECKSUM="CS : CS=CS+CK(C) : NEXT
|
||||
207 IF CS > 16 THEN CS = CS - 16 : GOTO 207
|
||||
208 A$ = MID$(A$,1,LEN(A$)-1) + MID$("0123456789-$:/.+",(16-CS)+1,1) + MID$(A$,LEN(A$),1) : REM ADD CHECKSUM DIGIT JUST BEFORE END
|
||||
210 F$ = MID$(A$,1,1) : IF F$ <> "A" AND F$ <> "B" AND F$ <> "C" AND F$ <> "D" THEN PRINT "NEED START CODES (ABCD)" : GOTO 200
|
||||
211 F$ = MID$(A$,LEN(A$),1) : IF F$ <> "A" AND F$ <> "B" AND F$ <> "C" AND F$ <> "D" THEN PRINT "NEED END CODES (ABCD)" : GOTO 200
|
||||
215 IF SF=0 THEN HGR: HCOLOR=3 : FOR I = 0 TO 191 : HPLOT 0,I TO 279,I : NEXT : SF=1 : VTAB 23
|
||||
216 FOR I = 1 TO LEN(A$) : C = ASC(MID$(A$,I,1)) : ? "CHAR="C
|
||||
220 B = CB(C) : S = CS(C) : REM B=BAR TYPE, SPACE= SPACE TYPE
|
||||
230 FOR BI = 1 TO 4
|
||||
235 W = W0 : BA$ = HB$(B) : IF HS$(S)="0000" THEN BA$=IB$(B) : REM IB IS INVERT BARCODE PATTERN
|
||||
240 IF MID$(BA$,BI,1)="1" THEN W = W0 * 3
|
||||
250 X1 = X : X2 = X1 + W : FOR X = X1 TO X2-1 : HCOLOR=0: HPLOT X,Y TO X,Y+Y1 : NEXT : X = X2
|
||||
|
||||
260 W = W0 : IF MID$(HS$(S),BI,1)="1" THEN W = W0 * 3
|
||||
270 X = X + W
|
||||
280 NEXT
|
||||
290 NEXT
|
||||
300 ? "BARCODE="A$
|
||||
|
||||
350 X=X0 : Y=Y+Y1+Y2
|
||||
360 IF Y > 160-Y2 THEN SF=0 : Y=Y0 : REM CHECK TO SEE IF WE ARE AT BOTTOM
|
||||
|
||||
400 GOTO 200
|
||||
|
||||
2000 REM BAR PATTERN DATA
|
||||
2001 DATA 0001,0010,0100,1000
|
||||
2002 REM INVERT BAR PATTERN DATA FOR WHEN SPACES = 0000
|
||||
2003 DATA 1110,1101,1011,0111
|
||||
2009 REM SPACE PATTERN DATA
|
||||
2010 DATA 0010,0100,1000,0110,1100,0000
|
||||
|
||||
2020 DATA 0,1,1,0 : REM CHAR 0 IS BAR 1 SPACE 1 CHECKSUM 0
|
||||
2021 DATA 1,2,1,1 : REM CHAR 1 IS BAR 2 SPACE 1 CHECKSUM 1
|
||||
2022 DATA 4,3,1,4
|
||||
2023 DATA 5,4,1,5
|
||||
2024 DATA 2,1,2,2
|
||||
2025 DATA -,2,2,10
|
||||
2026 DATA "$",3,2,11
|
||||
2027 DATA 9,4,2,9
|
||||
2028 DATA 6,1,3,6
|
||||
2029 DATA 7,2,3,7
|
||||
2030 DATA 8,3,3,8
|
||||
2031 DATA 3,4,3,3
|
||||
2032 DATA C,1,4,18
|
||||
2033 DATA D,2,4,19
|
||||
2034 DATA A,3,4,16
|
||||
2035 DATA F,4,4,17 : REM EFGH IS ABCD REVERSE
|
||||
2036 DATA B,1,5,17
|
||||
2037 DATA E,2,5,16
|
||||
2038 DATA H,3,5,19
|
||||
2039 DATA G,4,5,18
|
||||
2040 DATA ".",1,6,14
|
||||
2041 DATA /,2,6,13
|
||||
2042 DATA ":",3,6,12
|
||||
2043 DATA +,4,6,15
|
||||
2044 DATA "|",3,6,12 : REM APPLESOFT DOESN'T LET YOU TYPE COLONS
|
||||
2050 DATA END
|
Loading…
Reference in New Issue