home *** CD-ROM | disk | FTP | other *** search
- .IF DSK1.C3
- .CE 2
- *IMPACT/99*
- by Jack Sughrue
-
- XB SPEED
-
- .IF DSK1.C2
-
-
- WORD HUNTING
-
- Puzzles are a word-processing tool we
- often forget about. Although I'm not
- much of a word hunt person (word
- search, find-a-word, whatever), my
- fifth-grade students are. I prefer
- crosswords or cryptograms, but
- wordhunts have their value. They are
- also a very pleasant way to introduce
- the names of bones in the human
- skeleton or the Presidents or
- geometrical terms. Computers are
- great teacher helpers in these
- matters. All one has to do is find a
- puzzle-creator program from somewhere
- and type in the words. The sorting
- and placement and completion of the
- puzzle is done by our 99. So is the
- making of hardcopies of puzzle,
- wordlist, answers. It's so easy.
- But not always so quick.
- Way back in 1982 WORD SAFARI
- was programmed for TI. It's amazing
- how many people own it but never use
- it. Most people got it with OLDIES
- BUT GOODIES before they got printers
- or disk drives. By the time they got
- these things they'd long since
- forgotten this puzzle gem.
- I have six word hunt programs, PD
- and commercial, but there was always
- a few things about WS that appealed
- to me. (The "thinking numbers" on
- the lower right screen, for one.)
- Though it was soundless and colorless
- and was SLOW BASIC and had very poor
- printouts, the program had a
- structure I liked. The way the menu
- operation worked appealed to me.
- I decided to use that original
- structure to make a more modern
- version of this puzzle, suited for
- disk. First it had to be XB for
- speed and because I don't know
- assembly. Then it had to have a
- continuing music pattern while the
- reading was going on internally. It
- also had to have color. And some
- better screen directions. And much
- better hardcopies (enlarged, double
- strike, etc.) with a better overall
- look. It also had to be drastically
- reduced in size, though XB would take
- care of some of that automatically.
- I printed out all six of my word
- hunt puzzles to see what features I
- wanted for this new one and how I
- could most efficiently program it.
- It was fun. Besides the menu
- operation, I found the sizes offered
- were excellent for the different
- kinds of things I planned to do in my
- classroom. Each of the programs
- presented me with interesting
- concepts and interesting problems.
- However, after three days (nights,
- actually) I had a debugged version
- which satisfied me. Then, as I do
- with all programs, I gave it to some
- adults and some kids to play with.
- The input from them helped me fine
- tune the project. I then (as I
- always do) put it away for a couple
- weeks.
- Later, I took the "worker" disk
- out of storage, turned on my Gemini,
- and set out to do my first "official"
- school puzzle: names of dinosaurs
- (thus I had to use the large
- square).
- Perfect.
- I made 27 copies of the puzzle
- and word list for the kids and one
- copy of the answers for me. FAST!
- Then I put this right on my
- FUNLPLUS! and was ready to use it
- whenever I word processed. Very
- handy. I since have added a few
- subprograms from Jim Peterson's
- wonderful NUTS 'n BOLTS disk which
- will not appear in the succinct piece
- below.
-
- Anyway, I'm not permitted to
- print the six original hunt programs,
- but if you have a copy of WORD
- SAFARI and/or some others you might
- want to try them out if you haven't
- used them for a while; then print out
- a copies of the listing.
- Next type in a copy of WORD
- HUNT, try it out, and make some
- comparisons. This will give you a
- good idea of how I went about the
- task.
- Think about some really good
- programs you recall from the past,
- dig them out, look them over, see if
- you can brighten them up, make them
- better. Sometimes it'll take drastic
- changes. Sometimes little. But in
- either case you've had some fun with
- some programs you probably would have
- left forgotten in a box in the
- closet. Now you can enjoy them all
- over again.
-
- NOTE: When I first wrote the
- program I was going to write it in
- BASIC. After I translated quite a
- few line from my flowchart notes, I
- decided to go into XB. I continued
- with the PRINT and colon lines
- instead of DISPLAY AT statements
- until testing. It turned out to be
- fine and fast as it was, so I left
- them in. Those of you who'd like to
- tighten this even more, adding or
- changing features, send me a copy.
- If the improvements are really good,
- I'll print an update in a future
- column. (Am also looking for
- original SHORT programs in XB for
- inclusion here with full credit.)
- JACK SUGHRUE, Box 459, E.Douglas
- MA 01516
-
- WORD HUNT
-
- .TL 126:94;
- .TL 123:64;
- .TL 125:38;
- .TL 124:42;
- .TL 92:46;
- .NF
- 100 {=1 :: CALL CLEAR :: DIM
- A$(728),A(7),B$(25)
- 110 C$="0" :: FOR B={ TO 8 :
- : CALL COLOR(B,2,13)
- 120 NEXT B :: CALL CHAR(96,"
- 0"):: GOSUB 200 :: PRINT "
- WORD HUNT PUZZLE ": : : : :
- : : : : : : :: PRINT " ~~~s
- trike~~~any~~~key~~~" :: GOS
- UB 750
- 130 GOSUB 200 :: PRINT " WOR
- D HUNT PUZZLE ": : :: PRINT
- : :" CHOOSE" :: PRINT :"
- 1 SETUP (CHOOSE FIRST)" ::
- PRINT :" 2 INPUT PUZZLE"
- 140 PRINT :" 3 OUTPUT LIS
- T"
- 150 PRINT :" 4 OUTPUT ANS
- WER" :: PRINT :" 5 QUIT":
- : : : :
- 160 GOSUB 750 :: IF C<49 THE
- N 160
- 170 IF C>53 THEN 160
- 180 ON C-48 GOSUB 770,230,97
- 0,870,190 :: GOTO 130
- 190 CALL CLEAR :: STOP
- 200 CALL CLEAR :: CALL SCREE
- N(11):: CALL VCHAR({,{,96,48
- ):: CALL VCHAR({,31,96,48)::
- FOR D={ TO 8
- 210 CALL SOUND(-999,VAL(SEG$
- ("26226229433034939244049452
- 3587659698784",INT(12|RND+{)
- |3-2,3)),0,VAL(SEG$("1311751
- 96",INT(3|RND+{)|3-2,3)),5)
- 220 NEXT D :: RETURN
- 230 GOSUB 200 :: PRINT " CHO
- OSE " :: PRINT :" 1 10
- X10 PUZZLE" :: PRINT :" 2
- 20X20 PUZZLE" :: PRINT :
- " 3 25X25 PUZZLE": : :
- : : : : : : : : :
- 240 GOSUB 750 :: IF C<49 THE
- N 240
- 250 IF C>51 THEN 240
- 260 E=(C-48)|10-5|INT(C/51):
- : GOSUB 200 :: F={ :: G={ ::
- H={ :: IF I=0 THEN 280
- 270 INPUT " TITLE OF PUZZLE?
- ":D$ :: INPUT " HOW MANY CO
- PIES? ":F
- 280 INPUT " HOW MANY WORDS?
- ":J :: IF J<26 THEN 300
- 290 PRINT "SORRY: 25-WORD MA
- XIMUM\" :: GOTO 280
- 300 FOR B=0 TO J-{
- 310 INPUT " WORD "}STR$(B+{)
- }" ? ":B$(B):: IF LEN(B$(B))
- >2 THEN 330
- 320 PRINT "SORRY: 3-LETTER M
- INIMUM\" :: GOTO 310
- 330 IF LEN(B$(B))<11 THEN 35
- 0
- 340 PRINT "SORRY: 10-LETTER
- MAXIMUM\" :: GOTO 310
- 350 NEXT B
- 360 INPUT "ANY CHANGES? (Y/N
- ) ":E$ :: IF E$<>"Y" THEN 39
- 0
- 370 INPUT "WHICH NUMBER? ":B
- 380 INPUT "MAKE CORRECTION?"
- :B$(B-{):: GOTO 360
- 390 GOSUB 200 :: PRINT : : :
- " THINKING\\\" :: A(
- 0)={ :: A(4)=-{ :: A({)=E+{
- :: A(5)=-A({):: A(2)=A({)+{
- :: A(6)=-A(2):: A(3)=A(2)+{
- :: A(7)=-A(3):: B=E+3
- 400 K=(E+2)~2-{-B :: FOR L=B
- TO K :: A$(L)=" "
- 410 NEXT L :: M=E+2 :: K=M|M
- -M :: FOR B=0 TO K STEP M ::
- A$(B)="||" :: A$(B+E+{)="||
- " :: A$(B/M)="||" :: A$(K+B/
- M)="||"
- 420 NEXT B :: K=0 :: FOR N=0
- TO J-{ :: D=0
- 430 D=D+{ :: E$=STR$(D)}" "
- :: CALL HCHAR(23,25,ASC(E$))
- :: CALL HCHAR(23,26,ASC(SEG$
- (E$,2,{))):: IF D<76 THEN 49
- 0
- 440 J=N :: GOSUB 200 :: PRIN
- T "SORRY: CAN ONLY SQUEEZE I
- N";STR$(J);" WORDS\": : : :
- : :: PRINT " CHOOSE" :: PRIN
- T :" 1 USE ";STR$(J):"P
- RESENT LIST\" :: PRINT :"
- 2 BEGIN AGAIN": : : : : :
- : : : : : :
- 450 GOSUB 750 :: IF C<>49 TH
- EN 470
- 460 GOSUB 200 :: PRINT "
- THINKING\\\": : : : : :
- : : : : : : :: GOTO 620
- 470 IF C=50 THEN 740
- 480 GOTO 450
- 490 B=INT(((E+2)~2-E)|RND)+E
- :: IF A$(B)<>" " THEN 430
- 500 FOR O=0 TO 7
- 510 IF K<8 THEN 530
- 520 K=0
- 530 L=B+A(K):: FOR P=2 TO LE
- N(B$(N)):: IF L<E+2 THEN 570
- 540 IF A$(L)<>" " THEN 570
- 550 L=L+A(K)
- 560 NEXT P :: GOTO 590
- 570 K=K+{
- 580 NEXT O :: GOTO 430
- 590 L=B :: FOR P={ TO LEN(B$
- (N)):: A$(L)=SEG$(B$(N),P,{)
- :: A$(L)=A$(L)}A$(L):: L=L+A
- (K)
- 600 NEXT P :: K=K+{
- 610 NEXT N
- 620 FOR B=0 TO (E+2)~2-{ ::
- IF A$(B)<>" " THEN 640
- 630 A$(B)=CHR$(INT(26|RND)+6
- 5)}" "
- 640 NEXT B :: GOSUB 200 :: I
- F I=0 THEN 660
- 650 PRINT " P R I N T I N G"
- 660 FOR M={ TO F :: IF I=0 T
- HEN 680
- 670 PRINT #I:CHR$(27)}CHR$(8
- 7)}CHR$({): : :" ";D$:"
- ~~~~~~~~~~":
- 680 FOR B=0 TO E+{ :: PRINT
- #I:CHR$(27)}CHR$(87)}CHR$({)
- :" ";:: FOR K=B|(E+2)TO (B
- +{)|(E+2)-{ :: PRINT #I:SEG$
- (A$(K),{,{);
- 690 NEXT K
- 700 NEXT B
- 710 NEXT M :: IF I<>0 THEN 7
- 30
- 720 PRINT :" PRESS ANY
- KEY";:: GOSUB 750
- 730 PRINT #I:CHR$(27)}CHR$(8
- 7)}CHR$({): : :
- 740 RETURN
- 750 CALL KEY(0,C,Q):: IF Q<=
- 0 THEN 750
- 760 RETURN
- 770 GOSUB 200 :: PRINT " CHO
- OSE" :: PRINT :" 1 SCREE
- N" :: PRINT :" 2 PARALLE
- L PRINTER" :: PRINT :" 3
- OTHER": : : : : : : : : : :
- : : : : :
- 780 GOSUB 750 :: IF C<49 THE
- N 780
- 790 IF C>51 THEN 780
- 800 I=0 :: IF C=49 THEN 860
- 810 I={ :: F$="PIO" :: IF C=
- 50 THEN 830
- 820 INPUT " DEVICE ? ":F$
- 830 IF C$="0" THEN 850
- 840 CLOSE #{
- 850 OPEN #{:F$,OUTPUT :: C$=
- "1"
- 860 RETURN
- 870 GOSUB 200 :: IF I=0 THEN
- 890
- 880 INPUT "HOW MANY COPIES?
- ":G :: PRINT : : :"PRINTING
- ANSWERS\"
- 890 FOR M={ TO G :: IF I=0 T
- HEN 910
- 900 PRINT #I: : : :" ";D
- $:" ~~~~~~~~~~":
- 910 FOR B=0 TO E+{ :: PRINT
- #I: :" ";:: FOR K=B|(E+2)T
- O (B+{)|(E+2)-{ :: PRINT #I:
- SEG$(A$(K),2,{);
- 920 NEXT K
- 930 NEXT B
- 940 NEXT M :: IF I<>0 THEN 9
- 60
- 950 PRINT :" PRESS ANY
- KEY";:: GOSUB 750
- 960 PRINT #I: : : : :: RETUR
- N
- 970 GOSUB 200 :: IF I=0 THEN
- 990
- 980 INPUT "HOW MANY COPIES?
- ":H :: PRINT : : :"PRINTING
- LIST\"
- 990 FOR M={ TO H :: IF I=0 T
- HEN 1010
- 1000 PRINT #I: : : :" ";
- D$:" ~~~~~~~~~~": :
- 1010 FOR B=0 TO J-{ :: PRINT
- #I:" ";B$(B)
- 1020 NEXT B :: PRINT #I: : :
- :
- 1030 NEXT M :: IF I<>0 THEN
- 1050
- 1040 PRINT " PRESS ANY
- KEY";:: GOSUB 750
- 1050 RETURN
- .FI;AD;
-
- ÇçǼçïÉòƒ⌐╒╒╒╒╒╒╒╒╒╒Çï