home *** CD-ROM | disk | FTP | other *** search
/ Run Magazine ReRun: Game Pak / rerun-gamepak / findword (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  2KB  |  67 lines

  1. 10 rem jerry caron
  2. 12 rem berkley st.
  3. 14 rem berkley,ma.
  4. 20 rem initialize
  5. 30 print"[147]   find a word"
  6. 40 print"are you using":print"a vic 20[146] or a 64[146]"
  7. 50 input"enter 20 or 64";ma:ifma<>20and ma<>64then50
  8. 55 ifma=20thenpoke36879,8
  9. 60 print"[147]setting up please wait..."
  10. 70 dime$(20,22),d$(20),zx(20),zy(20),qa(8),qb(8),tw(20)
  11. 80 fori=1to20:forj=1to20:e$(i,j)="":next:next
  12. 90 restore:fori=1to8:readqa(i),qb(i):next
  13. 100 data0,-1,1,-1,1,0,1,1,0,1,-1,1,-1,0,-1,-1
  14. 110 fori=1to20:d$(i)="":zx(i)=0:zy(i)=0:next
  15. 200 rem input words
  16. 210 print"[147]how many words(max 20)"
  17. 220 input nd$
  18. 230 print:nw=val(nd$):ifnw<1ornw>20then8010
  19. 240 print"[147] now type in the words"
  20. 250 print"  they must be between 3 and 15 letters"
  21. 260 fori=1tonw
  22. 270 printi"[157]) ";
  23. 280 input"[157]";d$(i)
  24. 290 if len(d$(i))<3 or  len(d$(i))>15 thenprintchr$(13)"[145][145][145]":goto270
  25. 300 print:next
  26. 310 open4,4
  27. 320 fori=1tonw
  28. 330 print#4,d$(i);spc(20-len(d$(i)));:ifi=4ori=8ori=12ori=16thenprint#4,:
  29. 340 next
  30. 350 print#4,:print#4,:forr=1to64:print#4,"*";:nextr:print#4,:print#4,"*";
  31. 360 print#4," ";spc(61);"*"
  32. 370 close4
  33. 400 rem place
  34. 410 print"[147]  making grid "
  35. 420 print"    please wait"
  36. 430 pw=0:forab=1tonw:pw=pw+1
  37. 440 zx(pw)=int(20*rnd(1)+1)
  38. 450 zy(pw)=int(20*rnd(1)+1)
  39. 460 dr=int(8*rnd(1)+1):tw(pw)=dr
  40. 470 cx=zx(pw)+len(d$(pw))*qa(dr):cy=zy(pw)+len(d$(pw))*qb(dr)
  41. 480 ifcx<1orcx>20orcy<1orcy>20then440
  42. 490 f=0:forck=0tolen(d$(pw))-1
  43. 500 z1$=mid$(d$(pw),ck+1,1):z2$=e$(zx(pw)+ck*qa(dr),zy(pw)+ck*qb(dr))
  44. 510 ifz2$<>""andz1$<>z2$thenf=1
  45. 520 next:iff=1then440
  46. 530 forck=0tolen(  d$(pw))-1
  47. 540 z1$=mid$(d$(pw),ck+1,1):e$(zx(pw)+ck*qa(dr),zy(pw)+ck*qb(dr))=z1$
  48. 550 next
  49. 560 next ab
  50. 600 remprintsearchmatrix
  51. 610 print"[147]"
  52. 620 print"":fory=1to20:forx=1to20
  53. 630 ife$(x,y)=""thene$(x,y)=mid$(d$(nw*rnd(1)+1),3*rnd(1)+1,1)
  54. 640 ifma=64thenprinte$(x,y);" ";:goto660
  55. 650 ifma=20thenprinte$(x,y);
  56. 660 next
  57. 670 ifma=20thenprint
  58. 690 c=0:next
  59. 700 open4,4
  60. 710 fory=1to20:print#4,"*  ";:forx=1to20
  61. 720 print#4,e$(x,y);"  ";
  62. 730 next:print#4,"*":print#4,"*";spc(62);"*":next
  63. 740 forr=1to64:print#4,"*";:nextr:print#4,:print#4:close4
  64. 800 print"[147]program over"
  65. 810 input"y[146]es to run again ";s$
  66. 820 ifs$="y"thenclr:goto30
  67.