home *** CD-ROM | disk | FTP | other *** search
/ Softdisk G-S 127 / SGDS 127.2mg / SDGS.127 / SDA127 / A / XWORD (.txt) < prev   
Encoding:
Applesoft BASIC Source Code  |  1992-04-04  |  2.0 KB  |  48 lines  |  [FC] Applesoft BASIC Program (0x0801)

  1. 0  PRINT  CHR$(21): HGR2 
  2. 2 BELL = 34319:GCOLR = 34313:HOT = 34310:INIT = 34304:CGEN = 32777:GBNW = 34316
  3. 5  VTAB 22: HTAB 12: PRINT "Choose puzzle to solve"
  4. 10  HIMEM: 7168:D$ =  CHR$(4): PRINT D$"BLOADCROSSWORD.ML": GOTO 1000
  5. 20  ONERR  GOTO 70
  6. 30  PRINT D$"PREFIX": INPUT P$: PRINT D$"OPEN"P$",TDIR": PRINT D$"READ"P$: INPUT F$,F$,F$
  7. 40  INPUT F$: IF F$ = ""  THEN 70
  8. 50  IF  LEFT$(F$,4) < >" XW."  THEN 40
  9. 60 N$(F) =  MID$ (F$,5,12):F = F +1: IF F <51  THEN 40
  10. 70  POKE 216,0: PRINT D$"CLOSE"
  11. 100 :
  12. 120 M$(0) = "Get a new puzzle":M$(1) = "Solve " +F$:M$(2) = "Save progress":M$(3) = "Recall progress":M$(4) = "Blank puzzle":M$(5) = "Quit": RETURN 
  13. 130  FOR Q1 = 10 TO 17: VTAB Q1: HTAB 12: PRINT  SPC( 19): PRINT : NEXT : RETURN 
  14. 200  HOME : GOSUB 130: FOR I = 1 -UO TO MN -UO: VTAB V +MI *I: HTAB H: PRINT M$(I): NEXT :K = 0: GOTO 230
  15. 210  FOR K = 0 TO 127:K =  PEEK(49152): NEXT : POKE 49168,0:K = K -129: IF K = 8  OR K = 11  THEN  PRINT M$(M):M = M -1:M = M +MN *(M =  -UO)
  16. 212  IF K < >8  AND K < >11  AND K < >10  AND K < >21  AND K < >13  THEN  CALL BELL: GOTO 210
  17. 220  IF K = 10  OR K = 21  THEN  PRINT M$(M):M = M +1:M = M -MN *(M = (MN +1 -UO))
  18. 230  VTAB V +MI *M: HTAB H: INVERSE : PRINT M$(M);: NORMAL : IF K < >13  THEN  HTAB H: GOTO 210
  19. 235  GOSUB 130: VTAB V +MI *M: HTAB H: INVERSE : PRINT M$(M);: NORMAL 
  20. 240  RETURN 
  21. 300 MN = 0:MI = 1:UO = 0: IF P >0  THEN UO = 1:M$(0) = "Previous page":MN = 1
  22. 305  VTAB 18: HTAB 10: PRINT "Choose puzzle to solve"
  23. 310  IF F >6  AND P <7  AND ((P +1) *6 < >F)  AND ( INT(F/6) < >P)  THEN MN = MN +1:M$(7) = "Next page"
  24. 315 E = F -P *6: IF E >6  THEN E = 6
  25. 320  FOR I = 1 TO E:M$(I) = "  " +N$(P *6 +I -1):MN = MN +1: NEXT 
  26. 330  GOSUB 200: IF M = 0  THEN P = P -1:M = 7: GOTO 300
  27. 340  IF M = 7  THEN P = P +1:M = 1: GOTO 300
  28. 350  VTAB 18: HTAB 10: PRINT  SPC( 22): RETURN 
  29. 400  GOSUB 130: POKE 222,0: VTAB 12: HTAB 13: PRINT "THERE HAS BEEN AN": HTAB 18: PRINT "ERROR!!"
  30. 410  VTAB 15: HTAB 15: PRINT "PRESS ANY KEY": HTAB 16: PRINT "TO CONTINUE";: GET A$: ON ER +1 GOTO 1030,1100
  31. 1000  HCOLOR= 3: SCALE= 1: ROT= 0: DIM N$(50): CALL CGEN: POKE 48688, PEEK(0): POKE 48689, PEEK(1): ONERR  GOTO 400
  32. 1001  PRINT D$"-piracy.rpk": VTAB 4: HTAB 12: PRINT "CROSSWORD MACHINE ][": VTAB 24: HTAB 16: PRINT "Press a key": GET A$
  33. 1002  POKE 230,32: PRINT D$"-crossword.bpk": GOSUB 20: ONERR  GOTO 400
  34. 1010  IF   NOT F  THEN  HOME : VTAB 12: HTAB 15: PRINT "No puzzles!": HTAB 15: PRINT "Hit any key ": HTAB 17: PRINT "to quit": GET A$: GOTO 1630
  35. 1020 M = 1:PM = 1: IF F >1  THEN 1100
  36. 1025 F$ = N$(0): GOTO 1110
  37. 1030 MN = 5 +(F >1):MI = 1:V = 11:H = 12:ER = 0:UO = (F >1): GOSUB 120
  38. 1040  GOSUB 200: ON M +1 GOTO 1100,1200,1300,1400,1500,1600
  39. 1100 ER = 1:M = PM:H = 15:V = 10: GOSUB 300:F$ =  RIGHT$(M$(M), LEN(M$(M)) -2):PM = M
  40. 1110  PRINT D$"BLOADXW."F$: CALL INIT:M = 1: GOTO 1030
  41. 1200  CALL GBNW: CALL HOT -W:W = 0: CALL GCOLR: GOSUB 100: GOTO 1030
  42. 1300  PRINT D$"BSAVEIP."F$",A32479,L289": GOTO 1030
  43. 1400  PRINT D$"BLOADIP."F$:W = 3: GOTO 1030
  44. 1500  CALL INIT: GOTO 1030
  45. 1600  GOSUB 130: VTAB 12: HTAB 19: PRINT "Quit?": VTAB 16: HTAB 15: PRINT "Press Y or N."
  46. 1610  GET A$: IF A$ = "N"  OR A$ = "n"  THEN 1030
  47. 1620  IF A$ < >"Y"  AND A$ < >"y"  THEN  CALL BELL: GOTO 1610
  48. 1630  CALL GCOLR: PRINT D$"PR#0": TEXT : HOME : PRINT D$"BYE"