home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / textinfo / triangle.arj / TRIANGLE.BAS next >
Encoding:
BASIC Source File  |  1989-02-08  |  1.7 KB  |  116 lines

  1. 'Triangle v1.2 by Rick Lawsha  ** Public Domain **  Stork RBBS (309) 342-0637
  2.  
  3. CLS
  4. DEFINT A-Z
  5. RANDOMIZE TIMER
  6. Scrn = 0
  7. GOSUB Intro
  8. SCREEN Scrn
  9. CONST Bottom = 1
  10.  
  11. X1(1) = Xmed:  Y1(1) = 1
  12. X1(2) = 1:     Y1(2) = Yhigh
  13. X1(3) = Xhigh: Y1(3) = Yhigh
  14.  
  15. X2(1) = Xmed:  Y2(1) = 1
  16. X2(2) = 1:     Y2(2) = Yhigh
  17. X2(3) = Xhigh: Y2(3) = Yhigh
  18.  
  19. FOR A = 1 TO 3
  20.   IF Scrn = 0 THEN
  21.     LOCATE Y1(A), X1(A)
  22.     PRINT "*";
  23.     ELSE
  24.     PSET (X1(A), Y1(A))
  25.   END IF
  26. NEXT A
  27.  
  28. X3 = Xmed
  29. Y3 = Yhigh / 2
  30.  
  31. WHILE INKEY$ = ""
  32.   GOSUB RollDice
  33.   X1 = X3
  34.   Y1 = Y3
  35.   X2 = X2(Z)
  36.   Y2 = Y2(Z)
  37.  
  38.   IF X1 < X2 THEN
  39.     X3 = ((X2 - X1) / 2) + X1
  40.     ELSE
  41.     X3 = ((X1 - X2) / 2) + X2
  42.   END IF
  43.  
  44.   IF Y1 < Y2 THEN
  45.     Y3 = ((Y2 - Y1) / 2) + Y1
  46.     ELSE
  47.     Y3 = ((Y1 - Y2) / 2) + Y2
  48.   END IF
  49.  
  50.   IF Scrn = 0 THEN
  51.     LOCATE Y3, X3
  52.     PRINT "*";
  53.     ELSE
  54.     PSET (X3, Y3)
  55.   END IF
  56. WEND
  57. RUN
  58.  
  59. SetMda:
  60.   Xhigh = 80
  61.   Xmed = 40
  62.   Yhigh = 24
  63.   Scrn = 0
  64.   RETURN
  65.  
  66. SetCga:
  67.   Xhigh = 640
  68.   Xmed = 320
  69.   Yhigh = 200
  70.   Scrn = 2
  71.   RETURN
  72.  
  73. SetEga:
  74.   Xhigh = 640
  75.   Xmed = 320
  76.   Yhigh = 350
  77.   Scrn = 9
  78.   RETURN
  79.  
  80. SetVga:
  81.   Xhigh = 640
  82.   Xmed = 320
  83.   Yhigh = 480
  84.   Scrn = 11
  85.   RETURN
  86.  
  87. Quit:
  88.   END
  89.  
  90. RollDice:
  91.   Z = INT(RND * 3) + 1
  92.   RETURN
  93.  
  94. Intro:
  95.   SCREEN 0
  96.   CLS
  97.   PRINT "Triangle of CHAOS demo by Rick Lawsha"
  98.   PRINT "====================================="
  99.   PRINT "   Sysop, Stork RBBS (309)342-0637"
  100.   PRINT
  101.   PRINT
  102.   PRINT "1 -- MDA (80x25)"
  103.   PRINT "2 -- CGA (640x200)"
  104.   PRINT "3 -- EGA (640x350)"
  105.   PRINT "4 -- VGA (640x480)"
  106.   PRINT "5 -- Quit"
  107.   PRINT
  108.   INPUT "Your Choice"; Choice
  109.  
  110.   IF Choice > 5 OR Choice < 1 THEN RUN
  111.   ON Choice GOSUB SetMda, SetCga, SetEga, SetVga, Quit
  112.   CLS
  113.   RETURN
  114.  
  115.  
  116.