5748457 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$ cat -n wordpuzl.bas
   1: DECLARE FUNCTION Revers$ (txt$)
   2: ON ERROR GOTO 120
   3: 
   4: DIM PUZL$(1 TO 25)
   5: CLS
   6: DO
   7: az = az + 1
   8: INPUT "Next line>", PUZL$(az)
   9: PUZL$(az) = UCASE$(PUZL$(az))
  10: LOOP UNTIL PUZL$(az) = ""
  11: az = az - 1
  12: CLS
  13: FOR q = 1 TO az
  14: PRINT LTRIM$(RTRIM$(STR$(q))); ">"; PUZL$(q)
  15: NEXT q
  16: DO
  17: LOCATE az + 2: INPUT "Enter word>"; wrd$: wrd$ = UCASE$(LTRIM$(RTRIM$(wrd$)))
  18: FOR q1 = 1 TO az
  19: FOR q2 = 1 TO LEN(PUZL$(q1))
  20: IF MID$(PUZL$(q1), q2, 1) = MID$(wrd$, 1, 1) THEN
  21:         IF q2 - LEN(wrd$) + 2 < 0 THEN bck = -1: PRINT q2; q2 - LEN(wrd$) + 2 ELSE PRINT "Back has level 1"
  22:         IF q2 + LEN(wrd$) - 2 > LEN(PUZL$(q1)) THEN fwd = -1: PRINT q2; q2 + LEN(wrd$) - 2 ELSE PRINT "Foward has level 1"
  23:         IF q1 + LEN(wrd$) > az THEN dwn = -1 ELSE PRINT "Down has level 1"
  24:         IF q1 - LEN(wrd$) < 0 THEN ups = -1 ELSE PRINT "Up has level 1"; q1; q1 - LEN(wrd$)
  25: END IF
  26: IF bck = 0 OR fwd = 0 OR dwn = 0 OR ups = 0 THEN
  27:         IF bck = 0 THEN IF MID$(wrd$, 2, 1) = MID$(PUZL$(q1), q2 - 1, 1) THEN bck = 1: PRINT "Back has level 2"
  28:         IF fwd = 0 THEN IF MID$(wrd$, 2, 1) = MID$(PUZL$(q1), q2 + 1, 1) THEN fwd = 1: PRINT "Foward has level 2"
  29:         IF ups = 0 THEN IF MID$(wrd$, 2, 1) = MID$(PUZL$(q1 - 1), q2, 1) THEN ups = 1: PRINT "Up has level 2"
  30:         IF dwn = 0 THEN IF MID$(wrd$, 2, 1) = MID$(PUZL$(q1 + 1), q2, 1) THEN dwn = 1: PRINT "Down has level 2"
  31: END IF
  32: IF bck = 1 THEN  ELSE GOTO BACKFALE
  33: IF Revers$(MID$(PUZL$(q1), q2 - LEN(wrd$) + 1, LEN(wrd$))) = wrd$ THEN bck = 2
  34: PRINT "Back has level 3!"
  35: BACKFALE:
  36: IF fwd = 1 THEN  ELSE GOTO FWDFALE
  37: IF MID$(PUZL$(q1), q2, LEN(wrd$)) = wrd$ THEN fwd = 2
  38: 'PRINT "Foward has level 3!"
  39: FWDFALE:
  40: IF ups = 1 THEN  ELSE GOTO UPFALE
  41: FOR zza = q1 TO LEN(wrd$) + q1
  42: up$ = up$ + MID$(PUZL$(zza), q2, 1)
  43: NEXT zza
  44: PRINT up$: SLEEP
  45: IF up$ = wrd$ THEN up = 2
  46: PRINT "Up has level 3!"
  47: UPFALE:
  48: 
  49: 
  50: 
  51: 
  52: 
  53: 
  54: NEXT q2
  55: NEXT q1
  56: 
  57: 
  58: 
  59: 
  60: 
  61: 
  62: 
  63: 
  64: 
  65: 
  66: 
  67: 
  68: 
  69: 
  70: 
  71: 
  72: LOOP UNTIL wrd$ = ""
  73: END
  74: 120 RESUME NEXT
  75: 
  76: FUNCTION Revers$ (txt$)
  77: FOR q = 1 TO LEN(txt$)
  78: mm$ = MID$(txt$, q, 1) + mm$
  79: NEXT q
  80: Revers$ = mm$
  81: END FUNCTION
  82: 
5748458 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$

Click here to go back to the directory listing.
Click here to download this file.
last modified: 2000-05-09 21:11:20