|
Joined: Nov 2004
Posts: 95
journeyman
|
OP
journeyman
Joined: Nov 2004
Posts: 95 |
The whole point of not awarding bonuses (boni?) to prefixes and suffixes is to encourage more interesting words; otherwise people will have a tendency to just tack on suffixes to boring words, especially if "s" or "ed" gives a high point value. So I think that if it exists as a suffix, it shouldn't be awarded extra points. But that's just my take on it.
Some people say camping is boring. I say it's in tents.
|
|
|
|
Joined: Oct 2000
Posts: 5,400
Carpal Tunnel
|
Carpal Tunnel
Joined: Oct 2000
Posts: 5,400 |
re:The whole point of not awarding bonuses (boni?) to prefixes and suffixes is to encourage more interesting words; otherwise people will have a tendency to just tack on suffixes to boring words, especially if "s" or "ed" gives a high point value. So I think that if it exists as a suffix, it shouldn't be awarded extra points. But that's just my take on it.
Ah but here is the rub-- when you start a game (or a thread) you are letting loose a child into the world.
no matter what YOUR dream, or hopes, the thread or game, or child will go the way its wills..
you can try to exert influence, but in the big wide worls, all alone, it will wander, perhaps far from what you envisioned.. It might exceed your expectations, it might disapoint, (worst of all, it might linger and die, unresponed to to!)
i agree (even though i most likely won't play) a game filled with worked and then the same word with an UN, or IN or ED, or an S taked on are less interesting.. *but there is a penalty for too many letters.. besides what are these 'points' good for? (can i trade them in for cash? or are the just ego points?)
If they have a cash value, i might join the game and insist on clear rules.. but if they are just ego points.. well what the harm?
|
|
|
|
Joined: Jan 2002
Posts: 1,526
veteran
|
veteran
Joined: Jan 2002
Posts: 1,526 |
I had a few minutes so I wrote a perl script that searches the twl98 (scrabble) dictionary I downloaded from www.isc.ro and prints the highest scoring words. It doesn't include all words, of course, and some of the words in this dictionary may not be in others. Still, I ran it against your scoring criteria and the ones you guys came up with were pretty good.
I won't spoil the fun, but there were a few words that totalled higher than 85.
k
# search through the dictionary twl98.txt for scrabble # to find words that score more than a certain number of points # based on the scoring in the file lettercost.txt
$LIMIT = 85; # only display words meeting this criterion. $numArgs = $#ARGV + 1;
# get name of letter cost file. # currently only works for: lettercost.txt # if ($numArgs > 0) { $fileName = $ARGV[0];
} else { printf "Enter name of cost file: "; $fileName = <>; }
# parse the letter scoring data into a $cost{} hash. # open (FIL, "$fileName" ) || die "Unable to open file $fileName\n"; $lineCount = 0; while (<FIL>) { chop; $lineCount++; $line = $_; $line =~ s/\s+$//; $line =~ y/a-z/A-Z/; if (length($line) > 0 ) { ($num, $let1, $let2) = split(" ", $line); $num += 0; $let1 =~ s/,$//; $cost{$let1} = $num; $cost{$let2} = $num; } else { # do nothing. } }
close (FIL);
# read the dictionary # $dictionary = "twl98.txt"; open (DICT, "$dictionary") || die "Unable to the find the dictionary $dictionary\n"; while ( <DICT> ) { $word = <DICT>; # read a line $word =~ s/\n$//; # ditch the end of line character $word =~ y/a-z/A-Z/; # convert to upper case. if (length($word) >= 7 ) { #only use words > 7 chars $sum = &costOf($word); $sum -= 10 * (length($word) - 7); # -10 for each letter over 7. $usum = $sum + &unique($word); # unique letter bonus if ($sum >= $LIMIT || $usum >= $LIMIT) { print "$word $sum $usum\n"; } } } close(DICT);
sub costOf { local ($word) = @_; local ($i, $letter); local ($answer, $sum);
$sum = 0; for ($i = 0; $i< length($word); $i++) { $letter = substr($word, $i, 1); $sum += $cost{$letter}; } $answer = $sum; }
sub unique { local($w) = @_; local ($i, $j); local ($unq); local ($letteri, $letterj); local ($answer);
$unq = 15; for ($i=0; $i < length($w)-1; $i++) { for ($j = $i+1; $j < length($w); $j++) { $letteri = substr($w, $i,1); $letterj = substr($w, $j,1); if ($letteri eq $letterj) { $unq = 0; } } } $answer = $unq; }
|
|
|
|
Joined: Jun 2002
Posts: 7,210
Carpal Tunnel
|
Carpal Tunnel
Joined: Jun 2002
Posts: 7,210 |
formerly known as etaoin...
|
|
|
Forums16
Topics13,913
Posts229,810
Members9,187
|
Most Online3,341 Dec 9th, 2011
|
|
0 members (),
458
guests, and
1
robot. |
Key:
Admin,
Global Mod,
Mod
|
|
|
|