38 lines
693 B
Plaintext
38 lines
693 B
Plaintext
fp.canMakeWord = ($word, $blocks) -> {
|
|
if(!$word) {
|
|
return 1
|
|
}
|
|
|
|
$word = fn.toLower($word)
|
|
|
|
$c $= $word[0]
|
|
$i = 0
|
|
while($i < @$blocks) {
|
|
$block $= fn.toLower($blocks[$i])
|
|
|
|
if($block[0] != $c && $block[1] != $c) {
|
|
$i += 1
|
|
|
|
con.continue
|
|
}
|
|
|
|
$blocksCopy $= ^$blocks
|
|
fn.listRemoveAt($blocksCopy, $i)
|
|
|
|
if(fp.canMakeWord(fn.substring($word, 1), $blocksCopy)) {
|
|
return 1
|
|
}
|
|
|
|
$i += 1
|
|
}
|
|
|
|
return 0
|
|
}
|
|
|
|
$blocks = fn.listOf(BO, XK, DQ, CP, NA, GT, RE, TG, QD, FS, JW, HU, VI, AN, OB, ER, FS, LY, PC, ZM)
|
|
|
|
$word
|
|
foreach($[word], [\e, A, BARK, BOOK, TREAT, COMMON, SQUAD, CONFUSE, Treat, cOmMoN]) {
|
|
fn.printf(%s: %s%n, $word, fp.canMakeWord($word, $blocks))
|
|
}
|