D&D Track

Developer(s): Tony Willing
Date: 198x
Type: Program
Platform(s): TS 1000

Appears on

Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.

Gallery

D&D Track

Source Code

   0 REM       TRACK                      ****D £ D TRACK****                 BY JIM LANE                 MODIFIED FOR %T%I%M%E%X/             SINCLAIR BY ANTHONY             WILLING  (4/1984)               *******************
  70 REM 
  80 CLS 
 100 LET R=0
 110 LET Z=1
 120 GOTO 210
 140 REM ** CONTROL **
 150 PRINT AT 19,1;"\##\##\##\##BEGINNING OF ROUND ";Z;"\##\##\##\##"
 160 PRINT AT 20,1;"%1=STATUS %2=DAMAGE %3=HEAL %4=REG. %5=BIND %6=DROP %7= RAND "
 170 INPUT J
 180 IF J=0 THEN STOP 
 190 IF J>7 THEN GOTO 170
 200 GOTO (360 AND J=1)+(590 AND J=2)+(1140 AND J=3)+(880 AND J=4)+(1320 AND J=5)+(1240 AND J=6)+(1380 AND J=7)
 210 REM ** BEGIN **
 215 PRINT AT 0,0;"HOW MANY CREATURES TO TRACK?"
 217 INPUT Q
 220 DIM A(Q)
 221 DIM B(Q)
 222 DIM C(Q)
 223 DIM D(Q)
 224 DIM E(Q)
 230 CLS 
 240 PRINT AT 20,1;"MONSTER NUMBER?"
 250 INPUT F
 260 IF F=0 THEN GOTO 290
 270 LET A(F)=1
 280 GOTO 230
 290 FOR F=1 TO Q
 300 IF A(F)=0 THEN GOTO 340
 310 PRINT AT 20,1;"HIT POINTS FOR ";F
 320 INPUT H
 330 LET A(F)=H
 335 LET B(F)=H
 340 NEXT F
 350 GOTO 130
 360 REM ** DISPLAY STATUS **
 370 CLS 
 380 LET G=1
 390 LET H=0
 400 FOR F=1 TO Q
 410 IF A(F)=0 THEN GOTO 490
 420 IF G>42 THEN GOSUB 510
 430 PRINT AT G-1,H;F
 440 PRINT AT G,H;A(F)
 450 LET H=H+4
 460 IF H<28 THEN GOTO 490
 470 LET H=1
 480 LET G=G+3
 490 NEXT F
 500 GOTO 580
 510 PRINT AT 21,1;"CONTINUE PRINTOUT?"
 520 INPUT A$
 530 IF A$="N" THEN GOTO 580
 540 LET G=3
 550 LET H=1
 560 CLS 
 570 RETURN 
 580 GOTO 140
 590 GOSUB 1530
 595 REM ** DAMAGE **
 600 LET Z=Z+1
 610 PRINT AT 21,1;"CHARACTER THAT TOOK DAMAGE? "
 620 INPUT F
 630 IF F=0 THEN GOTO 680
 640 PRINT AT 21,1;"AMOUNT OF DAMAGE?             "
 650 INPUT J
 660 LET A(F)=A(F)-J
 670 GOTO 610
 680 REM ** REGENERATE/ROUND **
 690 FOR F=1 TO Q
 700 IF A(F)>=0 THEN LET E(F)=0
 710 IF A(F)>=0 THEN GOTO 770
 720 IF E(F)=10 THEN GOTO 770
 730 IF E(F)=0 THEN GOTO 760
 740 LET A(F)=A(F)-1
 750 GOTO 770
 760 LET E(F)=1
 770 IF (C(F)=0 OR A(F)=B(F)) THEN GOTO 830
 780 IF (C(F)<10) AND (A(F)<B(F)) THEN GOTO 850
 790 IF D(F)=0 THEN LET D(F)=Z+3
 800 IF D(F)>Z THEN GOTO 830
 810 LET A(F)=A(F)+3
 820 IF A(F)>B(F) THEN LET A(F)=B(F)
 830 NEXT F
 840 GOTO 360
 850 LET A(F)=A(F)+C(F)
 860 IF A(F)>B(F) THEN LET A(F)=B(F)
 870 GOTO 830
 880 REM ** REGENERATE **
 890 LET R=1
 900 FOR F=1 TO Q
 902 LET B(F)=A(F)
 904 NEXT F
 910 REM ** TROLLS **
 920 GOSUB 1530
 930 PRINT AT 20,1;"FIRST TROLL NUMBER?"
 940 INPUT K
 950 IF K=0 THEN GOTO 1040
 960 PRINT AT 20,1;"LAST TROLL NUMBER? "
 970 INPUT L
 980 IF K>L THEN GOTO 1030
 990 IF A(K)<1 THEN GOTO 1010
1000 LET C(K)=10
1010 LET K=K+1
1020 GOTO 980
1030 GOTO 930
1040 REM ** OTHER REGENERATE **
1050 GOSUB 1530
1060 PRINT AT 20,1;"OTHER REGENERATING CREATURE?"
1070 INPUT F
1080 IF F=0 THEN GOTO 1130
1090 PRINT AT 20,1;"REGENERATION PER ROUND?     "
1100 INPUT M
1110 LET C(F)=M
1120 GOTO 1060
1130 GOTO 360
1140 REM ** HEAL **
1150 GOSUB 1530
1160 PRINT AT 20,1;"CHARACTER THAT WAS HEALED?"
1170 INPUT F
1180 IF F=0 THEN GOTO 1230
1190 PRINT AT 20,1;"AMOUNT OF CURE?           "
1200 INPUT N
1210 IF N=1000 THEN LET A(F)=B(F)
1212 IF N<>1000 THEN LET A(F)=A(F)+N
1220 GOTO 1160
1230 GOTO 360
1240 REM ** DROP CHARACTERS **
1250 GOSUB 1530
1260 PRINT AT 20,1;"CHARACTER TO DROP FROM STATUS?"
1270 INPUT F
1280 IF F=0 THEN GOTO 1310
1290 LET A(F)=0
1295 LET B(F)=0
1300 GOTO 1260
1310 GOTO 360
1320 REM ** BIND **
1330 PRINT AT 20,1;"CHARACTER NUMBER BOUND?"
1332 INPUT F
1340 IF F=0 THEN GOTO 1370
1350 LET E(F)=10
1360 GOTO 1330
1370 GOTO 360
1380 REM ** RANDOM ROLLS **
1390 CLS 
1400 PRINT "WHAT SIDED DICE?"
1410 INPUT F
1420 IF F=0 THEN GOTO 1510
1430 PRINT "NUMBER OF TIMES?"
1440 INPUT G
1445 CLS 
1450 FOR H=1 TO G
1470 LET K=INT (F*RND)+1
1480 PRINT K
1490 NEXT H
1492 PRINT "(PRESS %E%N%T%E%R TO GO ON)"
1495 PAUSE 4E4
1500 GOTO 1390
1510 CLS 
1520 GOTO 360
1530 PRINT AT 20,1;"                               "
1540 PRINT AT 21,1;"                               "
1570 RETURN 
1600 STOP 
1610 REM  RAND USR 14336
1620 REM SAVE "TRACK.B1"
1625 SAVE "1021%0"
1630 RUN 
Scroll to Top