home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib17.dsk / SAFECRACKER.bas < prev    next >
BASIC Source File  |  2023-02-26  |  3KB  |  80 lines

  1. 1  REM  **********************
  2. 2  REM  *    SAFECRACKER     *
  3. 3  REM  *  BY JOANNE DAVIS   *
  4. 4  REM  * COPYRIGHT (C) 1984 *
  5. 5  REM  * BY MICROSPARC, INC *
  6. 6  REM  * LINCOLN, MA. 01773 *
  7. 7  REM  **********************
  8. 10 H = 125:V = 85:TI = 1000:D = 1:S =  -16336
  9. 20 M(1) =  INT(255 * RND(1)):M2 =  INT(255 * RND(1)):M(3) =  INT(255 * RND(1)):MO =  INT(10000 * RND(1))
  10. 30  SCALE= 3
  11. 35  GOSUB 1000
  12. 100  TEXT : HOME : VTAB 10: PRINT  TAB( 15)"SAFECRACKER"
  13. 110  VTAB 15: PRINT  TAB( 13)"BY JOANNE DAVIS": VTAB 20: PRINT "** COPYRIGHT 1984 BY MICROSPARC, INC. **"
  14. 120  FOR T = 1 TO 2000: NEXT 
  15. 140  HOME : VTAB 5: INVERSE : PRINT "HOW TO PLAY": NORMAL : PRINT 
  16. 150  PRINT "   THE OBJECT OF THE GAME IS TO FIND A": PRINT "THREE-DIGIT COMBINATION.  TURN PADDLE 1": PRINT "UNTIL YOU HEAR A CLICK.  THEN PRESS": PRINT "BUTTON 1.  IF YOU FIND ALL THREE NUM-": PRINT "BERS WITHIN THE TIME LIMIT YOU";
  17. 160  PRINT " WILL": PRINT "RECOVER MONEY FROM THE SAFE.": PRINT : PRINT 
  18. 170  PRINT "HIT ANY KEY TO BEGIN.": GET A$
  19. 180  HGR : HCOLOR= 3:R = 10: GOSUB 2000:R = 30: GOSUB 2000
  20. 250  HOME 
  21. 300 P(D) =  PDL(1):TI = TI -1: ROT=  PDL(1)
  22. 310  VTAB 22: PRINT "NUMBER:";: HTAB 22: PRINT "TIME LEFT: ";TI;
  23. 320  IF TI = 0  THEN 6000: IF TI = 9999  THEN  PRINT  TAB( 37)" "
  24. 330  IF TI = 99  THEN  PRINT  TAB( 36)"  "
  25. 340  IF TI = 9  THEN  PRINT  TAB( 35)"   "
  26. 350  VTAB 23: HTAB 3: PRINT P(D);: HTAB 22: PRINT "COMBO: ";N(1);"-";N(2);"-";N(3)
  27. 360  IF D = 4  THEN  GOTO 5000
  28. 370  GOSUB 3000
  29. 380  IF P(D) = M(D)  THEN  FOR T = 1 TO 5:SO =  PEEK(S): NEXT T
  30. 390 X =  PEEK( -16286): IF X >127  AND P(D) = M(D)  THEN  GOSUB 4000
  31. 400  VTAB 23: HTAB 3: PRINT "   "
  32. 410  GOTO 300
  33. 999  END 
  34. 1000  FOR T = 768 TO 773
  35. 1010  READ SH
  36. 1020  POKE T,SH
  37. 1030  NEXT T
  38. 1040  DATA 1,0,4,0,36,0
  39. 1050  POKE 232,0: POKE 233,3
  40. 1060  RETURN 
  41. 1999  REM  SAFE
  42. 2000  HPLOT 30,20 TO 230,20 TO 230,159 TO 30,159 TO 30,20
  43. 2010  HPLOT 60,40 TO 190,40 TO 190,130 TO 60,130 TO 60,40
  44. 2019  REM  DIALS
  45. 2020  FOR T = 90 TO 450  STEP 6
  46. 2030 A = H + COS(T/180 *3.141592654) *R:B = V - SIN(T/180 *3.141592654) *R
  47. 2040  HPLOT A,B
  48. 2045  IF R = 30  THEN  GOSUB 2500
  49. 2050  NEXT T
  50. 2100  RETURN 
  51. 2499  REM  OUTER DIAL
  52. 2500  IF T/30 =  INT(T/30)  THEN A = H + COS(T/180 *3.141592654) *(R -4):B = V - SIN(T/180 *3.141592654) *(R -4): HPLOT  TO A,B
  53. 2510  RETURN 
  54. 3000  REM  INDICATOR
  55. 3010  DRAW 1 AT 125,85
  56. 3015  FOR T = 1 TO 50: NEXT T
  57. 3020  XDRAW 1 AT 125,85
  58. 3030  RETURN 
  59. 4000  REM  PRINT COMBO
  60. 4050 N(D) = M(D)
  61. 4060 D = D +1
  62. 4070  RETURN 
  63. 4999  REM  OPEN SAFE
  64. 5000  HGR : HCOLOR= 3
  65. 5010  HPLOT 30,20 TO 230,20 TO 230,159 TO 30,159 TO 30,20
  66. 5020  HPLOT 60,40 TO 190,40 TO 190,130 TO 60,130 TO 60,40
  67. 5030  HCOLOR= 1
  68. 5040  HPLOT 170,60 TO 80,60 TO 80,80 TO 170,80 TO 170,100 TO 80,100
  69. 5050  HPLOT 110,50 TO 110,110: HPLOT 140,50 TO 140,110
  70. 5060  VTAB 22: PRINT "YOU OPENED IT! YOU FOUND ";: INVERSE : PRINT MO;: NORMAL : PRINT " DOLLARS!"
  71. 5070  PRINT "PLAY AGAIN (Y/N)?": GET A$: IF A$ = "Y"  THEN  RUN 
  72. 5080  IF A$ < >"N"  THEN 5070
  73. 5090  GOTO 999
  74. 5999  REM  TIME OUT
  75. 6000  TEXT : HOME : FOR X = 1 TO 3: PRINT  CHR$(7): NEXT X
  76. 6010  PRINT : PRINT : PRINT "GEEZ, IT'S THE COPS."
  77. 6015  PRINT : PRINT : FLASH : PRINT "HANDS UP !": NORMAL 
  78. 6020  VTAB 20: PRINT "PLAY AGAIN (Y/N)?": GET A$: IF A$ = "Y"  THEN  RUN 
  79. 6030  IF A$ < >"N"  THEN 6020
  80. 6040  GOTO 999