- _Title "Wordiff - Rosetta Code" 'b+ 2021-09-02 ref: http://rosettacode.org/wiki/Wordiff 
- Const-  nWords  = 24819 ' precounted for  unixdict.txt word list
 
- Dim Shared-  words$ (1 To-  nWords ),-  used$ (1 To 1000),-  nUsed ,-  players$ (1 To 100),-  nPlayers ,-  nextPlayer 
 
- Q$(0) = "Good!": Q$(1) = "used already.": Q$(2) = "not in dictionary.": Q$(3) = "bad minus letter." 
- Q$(4) = "bad letter change.": Q$(5) = "bad add letter.": Q$(6) = "bad length." 
- LoadWords 
- getPlayers 
- nextPlayer = 1 
- newRound: 
- lastWord$ = StartWord$ 
-     Print-  players$ (- nextPlayer )- ; 
 
-     Input ", please enter your try "- ; try$ 
 
-     badtry = bad%(lastWord$, try$) 
-     Print-  try$  + " is " +-  Q$ (- badtry )
 
-         nUsed = nUsed + 1 
-         used$(nUsed) = try$ 
-         lastWord$ = try$ 
-     nextPlayer = nextPlayer + 1 
-     If-  nextPlayer  >-  nPlayers  Then-  nextPlayer  = 1
 
- Print "Wordiffs found for " +-  lastWord$  + " are:"
 
- finds lastWord$ 
-   
-             ok = -1 
-             If-  ok  Then-  i  =-  i  + 1- : words$ (- i ) =-  wd$ 
 
-   
-     nPlayers = 0 
-         Input "Enter a player name or nothing to finish list "- ; player$ 
 
-         If-  player$  <> "" Then-  nPlayers  =-  nPlayers  + 1- : players$ (- nPlayers ) =-  player$ 
 
-   
-         StartWord$  =-  words$ (Int(Rnd *-  nWords ) + 1)
-             OK = -1 
-             For-  i  = 1 To-  nUsed  ' let us at least not start with a word used in last game
 
-                 If-  used$ (- i ) =-  StartWord$  Then-  OK  = 0
 
-         If-  OK  Then Erase-  used$: nUsed  = 1- : used$ (1) =-  StartWord$ 
 
-   
- Function-  wordFound%  (- word$ ) ' is the word 3 or more letters in dictionary
 
-         lo = 1: hi = nWords 
-             test  = Int((- hi  +-  lo ) / 2)
-                 lo = test + 1 
-                 hi = test - 1 
-   
- Function-  oneLess%  (- last$ ,-  test$ ) ' is word one letter less than last word
 
-         lastfind = 1 
-             find  = InStr(- lastfind ,-  last$ , Mid$(- test$ ,-  i , 1))
-         oneLess% = -1 
-   
- Function-  oneMore%  (- last$ ,-  test$ ) ' is word one letter more than last word
 
-         lastfind = 1 
-             find  = InStr(- lastfind ,-  test$ , Mid$(- last$ ,-  i , 1)) ' typo fix 2021-09-03
-         oneMore% = -1 
-   
-         If-  strike  = 1 Then-  oneChange%  = -1
 
-   
-         If-  oneLess% (- last$ ,-  test$ ) = 0 Then-  bad%  = 3
 
-         If-  oneChange% (- last$ ,-  test$ ) = 0 Then-  bad%  = 4
 
-         If-  oneMore% (- last$ ,-  test$ ) = 0 Then-  bad%  = 5
 
-         bad% = 6 
-   
- Sub-  finds  (- last$ ) ' find all words that would have worked
 
-         test$ = words$(i) 
-             If-  test$  =-  used$ (- j ) Then GoTo-  skip  '_continue didn't work
 
-         skip: 
-