Find the birds hidden in the following word search puzzle
(It can be in any direction: Forward, backward, up, down or diagonally)
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| R | A | K | D | C | A | L | T | L | L | K | D | O | V | E |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| S | C | R | O | W | R | E | R | E | W | B | E | U | L | V |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| I | I | A | F | T | C | A | V | R | O | V | C | G | C | U |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| B | K | L | E | O | V | N | L | T | Q | U | A | L | I | K |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| I | C | N | V | U | R | A | V | E | N | E | O | Y | O | L |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| F | E | A | T | H | E | R | S | P | G | I | T | B | S | L |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| K | K | C | N | D | O | O | U | S | C | R | W | O | L | U |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| N | I | I | G | A | O | B | F | L | Y | O | E | O | E | G |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| E | O | L | V | G | R | H | R | O | H | O | Y | B | N | I |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| N | C | E | K | V | T | Y | E | A | W | F | E | I | E | C |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| Y | L | P | R | O | L | W | C | R | N | L | W | H | V | H |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| E | A | R | O | B | I | N | R | J | O | T | C | H | N | R |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| W | J | C | T | H | A | W | K | L | S | N | I | P | E | S |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| O | X | C | S | W | R | U | J | M | I | A | H | O | D | Y |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| O | H | E | S | J | A | Y | S | F | O | D | J | B | H | C |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
DECLARE FUNCTION isWord! (w$)
DATA RAKDCALTLLKDOVE
DATA SCROWREREWBEULV
DATA IIAFTCAVROVCGCU
DATA BKLEOVNLTQUALIK
DATA ICNVURAVENEOYOL
DATA FEATHERSPGITBSL
DATA KKCNDOOUSCRWOLU
DATA NIIGAOBFLYOEOEG
DATA EOLVGRHROHOYBNI
DATA NCEKVTYEAWFEIEC
DATA YLPROLWCRNLWHVH
DATA EAROBINRJOTCHNR
DATA WJCTHAWKLSNIPES
DATA OXCSWRUJMIAHODY
DATA OHESJAYSFODJBHC
DIM grid(15, 15) AS STRING
FOR i = 1 TO 15
READ l$
FOR j = 1 TO 15
grid(i, j) = MID$(l$, j, 1)
NEXT
NEXT
OPEN "birdlist.txt" FOR OUTPUT AS #3
FOR row = 1 TO 15
FOR col = 1 TO 15
FOR dr = -1 TO 1
FOR dc = -1 TO 1
IF ABS(dr) + ABS(dc) > 0 THEN
w$ = grid(row, col)
r = row: c = col
DO
r = r + dr: c = c + dc
IF r > 0 AND r <= 15 AND c > 0 AND c <= 15 THEN
w$ = w$ + grid(r, c)
IF LEN(w$) > 2 THEN
IF isWord(LCASE$(w$)) THEN
PRINT row; col, r; c, w$
PRINT #3, row; col, r; c, w$
END IF
END IF
ELSE
GOTO nextDC
END IF
LOOP
END IF
nextDC:
NEXT
NEXT
NEXT
NEXT
FUNCTION isWord (w$)
n = LEN(w$)
w1$ = SPACE$(n)
OPEN "\words\words" + LTRIM$(STR$(n)) + ".txt" FOR BINARY AS #2
l = LOF(2) / n
low = 1: high = l
DO
mid = INT((low + high) / 2)
GET #2, (mid - 1) * n + 1, w1$
IF w1$ = w$ THEN isWord = 1: CLOSE 2: EXIT FUNCTION
IF w1$ < w$ THEN low = mid + 1: ELSE high = mid - 1
LOOP UNTIL low > high
isWord = 0
CLOSE 2
END FUNCTION
finds these words of 3 or more letters:
start end
row col row col
1 2 3 4 ARF
1 4 4 1 DRIB
1 6 1 8 ALT
1 6 3 6 ARC
1 7 1 5 LAC
1 7 3 7 LEA
1 7 4 7 LEAN
1 10 3 8 LEV
1 11 3 13 KEG
1 12 1 15 DOVE
1 12 4 15 DUCK
2 1 4 1 SIB
2 2 2 5 CROW
2 3 2 5 ROW
2 3 4 1 RIB
2 4 2 2 ORC
2 4 2 1 ORCS
2 4 4 2 OAK
2 6 5 9 RALE
2 7 2 9 ERE
2 9 2 7 ERE
2 10 2 7 WERE
2 11 4 9 BOT
2 13 5 13 UGLY
3 1 1 3 ICK
3 3 1 3 ARK
3 3 3 5 AFT
3 4 5 6 FOR
3 5 5 3 TEN
3 7 1 5 ARC
3 7 3 5 ACT
3 7 5 7 ANA
3 7 5 9 ALE
3 8 3 6 VAC
3 10 1 10 OWL
3 13 5 11 GAE
3 14 1 12 CUD
4 1 2 1 BIS
4 1 1 4 BIRD
4 3 2 1 LIS
4 3 2 3 LAR
4 3 1 3 LARK
4 4 4 2 ELK
4 5 6 3 OVA
4 6 2 8 VAR
4 6 4 4 VOE
4 6 6 8 VAS
4 7 2 7 NAE
4 8 2 6 LAR
4 8 6 10 LEG
4 10 4 12 QUA
4 12 2 12 ACE
4 12 1 12 ACED
4 12 6 14 AYS
4 15 6 13 KOB
5 1 2 1 IBIS
5 2 7 4 CAN
5 2 10 7 CANARY
5 3 3 5 NET
5 6 5 9 RAVE
5 6 5 10 RAVEN
5 7 3 7 ANA
5 7 5 9 AVE
5 7 7 9 ASS
5 8 5 6 VAR
5 11 1 15 EAGLE
6 1 4 1 FIB
6 1 6 4 FEAT
6 1 6 7 FEATHER
6 1 6 8 FEATHERS
6 2 6 4 EAT
6 2 6 5 EATH
6 3 4 5 AVO
6 3 1 8 AVOCET
6 3 8 5 ANA
6 4 6 2 TAE
6 4 6 6 THE
6 5 6 7 HER
6 5 6 8 HERS
6 5 8 7 HOB
6 6 6 8 ERS
6 7 4 7 RAN
6 7 8 7 ROB
6 9 4 9 PET
6 9 1 9 PETREL
6 9 8 7 PUB
6 10 4 8 GEL
6 10 6 12 GIT
6 10 10 14 GREBE
6 12 8 10 TRY
6 12 8 14 TOE
6 13 8 13 BOO
6 13 9 13 BOOB
6 15 8 15 LUG
7 1 5 3 KEN
7 2 4 2 KECK
7 3 5 3 CAN
7 4 10 7 NARY
7 5 4 8 DEAL
7 5 9 5 DAG
7 7 5 7 ORA
7 7 5 9 OSE
7 10 9 12 COY
7 11 10 11 ROOF
7 11 9 13 REB
7 12 5 10 WIN
7 12 9 14 WON
7 14 7 12 LOW
8 2 10 4 ILK
8 3 10 1 ION
8 5 6 3 ANA
8 5 10 3 AVE
8 6 10 6 ORT
8 7 5 7 BORA
8 7 8 5 BOA
8 7 10 9 BRA
8 7 11 10 BRAN
8 7 12 11 BRANT
8 8 6 6 FOE
8 8 8 10 FLY
8 8 11 11 FOWL
8 12 6 10 ERG
8 12 10 12 EYE
8 13 10 13 OBI
8 14 6 14 ELS
8 15 6 15 GUL
8 15 5 15 GULL
9 5 7 5 GAD
9 5 7 7 GOO
9 5 6 8 GOOS
9 5 5 9 GOOSE
9 6 7 4 RAN
9 7 7 5 HOD
9 7 11 9 HER
9 7 12 10 HERO
9 7 13 11 HERON
9 8 11 8 REC
9 8 11 10 RAN
9 8 12 11 RANT
9 9 9 11 OHO
9 9 11 9 OAR
9 9 11 11 OWL
9 10 7 12 HOW
9 10 9 12 HOY
9 11 5 11 OORIE
9 11 9 9 OHO
9 12 7 12 YEW
9 12 11 12 YEW
9 13 6 10 BERG
9 13 7 13 BOO
9 13 6 13 BOOB
9 13 5 13 BOOBY
9 13 11 11 BEL
9 14 7 12 NOW
9 15 9 12 INBY
9 15 11 15 ICH
10 3 8 1 EON
10 4 12 6 KOI
10 6 10 8 TYE
10 6 12 4 TOO
10 7 10 9 YEA
10 9 8 7 ARB
10 9 12 11 ANT
10 9 13 12 ANTI
10 10 8 10 WHY
10 10 8 12 WOE
10 10 10 8 WAE
10 12 8 12 EYE
10 15 8 15 CIG
11 1 13 1 YEW
11 2 9 4 LEV
11 2 8 5 LEVA
11 3 5 3 PELICAN
11 3 11 1 PLY
11 3 11 5 PRO
11 3 13 1 PAW
11 3 13 5 POH
11 4 13 4 ROT
11 4 14 4 ROTS
11 6 14 6 LIAR
11 8 7 12 CAHOW
11 10 13 10 NOS
11 12 9 14 WIN
11 12 8 15 WING
11 12 14 15 WHEY
11 15 8 12 HEBE
12 1 9 1 EYNE
12 1 12 3 EAR
12 3 12 5 ROB
12 3 12 7 ROBIN
12 4 10 6 OOT
12 4 12 2 ORA
12 4 12 6 OBI
12 5 12 2 BORA
12 5 12 7 BIN
12 7 12 5 NIB
12 7 14 5 NAW
12 9 12 11 JOT
12 10 10 8 ORE
12 10 10 12 OLE
12 11 9 14 TWIN
12 13 14 15 HEY
13 1 11 3 WAP
13 1 15 1 WOO
13 3 11 1 CAY
13 3 11 5 COO
13 3 10 6 COOT
13 4 11 4 TOR
13 4 13 7 THAW
13 4 15 6 TWA
13 5 11 3 HOP
13 5 13 7 HAW
13 5 13 8 HAWK
13 6 11 6 AIL
13 9 15 11 LID
13 10 11 10 SON
13 10 13 13 SNIP
13 10 13 14 SNIPE
13 10 13 15 SNIPES
13 11 11 9 NOR
13 11 13 13 NIP
13 12 13 10 INS
13 13 13 11 PIN
13 13 13 10 PINS
13 13 13 15 PES
13 14 15 14 EDH
14 1 12 1 OWE
14 4 10 4 STORK
14 5 12 7 WAN
14 6 12 4 RHO
14 6 11 6 RAIL
14 10 11 13 INCH
14 11 12 11 ANT
14 11 14 9 AIM
14 12 12 12 HIC
14 12 14 14 HOD
14 14 12 14 DEN
14 15 12 13 YEH
15 2 15 4 HES
15 4 12 7 SWAN
15 5 15 7 JAY
15 5 15 8 JAYS
15 6 13 8 AUK
15 6 15 8 AYS
15 9 13 11 FIN
15 9 11 13 FINCH
15 12 13 14 JOE
15 13 13 13 BOP
of which the following are birds:
1 12 1 15 DOVE
1 12 4 15 DUCK
2 2 2 5 CROW
2 6 5 9 RALE
3 10 1 10 OWL
4 1 1 4 BIRD
4 3 1 3 LARK
5 1 2 1 IBIS
5 2 10 7 CANARY
5 6 5 10 RAVEN
5 7 5 9 AVE
5 11 1 15 EAGLE
6 3 1 8 AVOCET
6 9 1 9 PETREL
6 10 10 14 GREBE
8 7 12 11 BRANT
8 8 11 11 FOWL
8 15 5 15 GULL
9 5 5 9 GOOSE
9 7 13 11 HERON
9 9 11 11 OWL
9 13 5 13 BOOBY
11 3 5 3 PELICAN
11 8 7 12 CAHOW
12 3 12 7 ROBIN
13 3 10 6 COOT
13 5 13 8 HAWK
13 10 13 14 SNIPE
13 10 13 15 SNIPES
14 4 10 4 STORK
14 6 11 6 RAIL
15 4 12 7 SWAN
15 5 15 7 JAY
15 5 15 8 JAYS
15 6 13 8 AUK
15 9 11 13 FINCH
|
Posted by Charlie
on 2012-11-27 14:02:18 |