[MUD-Dev] Re: Prescience Rules?
Richard Woolcock
KaVir at dial.pipex.com
Fri Jun 19 17:16:10 CEST 1998
Vadim Tkachenko wrote:
>
> Richard Woolcock wrote:
[big snip]
> > I would like to (when I have the time) replace the announce command with
> > a parser to check through spoken strings and determine what the players is
> > actually saying, creating a 'TRUE/FALSE' lie detection accordingly.
>
> Side note: make it external and pluggable, it may consume all the
> processor power :-)
I'm not sure...I guess I'll have to see ;) Here is how I was planning to code
it...
while not at end of string loop
if the current character is a space then
interpret the word
start a new word
continue
end if
if the current character is non-alphabetic then
continue
end if
if the current letter is a vowel and not the first letter of the word then
continue
end if
if the current letter is the same as the previous letter then
continue
end if
if not the first letter of the word then
word <<= 5 bits
end if
word &= character in lowercase - 'a' + 1
if the word is holding 6 values then
interpret the word
start a new word
end if
end loop
(roughly speaking)...then I'll have the "interpret_word" function which
does a switch case and stores some sort of result accordingly...for example
suppose you had the string "I have never committed diablerie" from my
previous example...the above function would send the following words one
after the other:
I = i = 9
have = hv = (8<<5)+(22) = 278 (I think)
never = nvr = (14<<10)+(22<<5)+(18) = something
committed = cmtd = ...
diablerie = dblr = ...
Doing a switch case on the first word (9), the mud determines that the
talker is referring to themself. The second word (278) determines that
the talker is referring to either something the own, or something they
have done. The third word would inform the mud that the talker was
inversing their claim. The fourth word would inform the mud that the
talker had performed a certain action. The fifth word would inform the
mud that the talker was referring to the act of diablerie. From this
(and this is the bit I don't yet know how to do) the mud could determine
that:
Bubba claims that the act of diablerie was not performed by himself.
This system wouldn't be perfect, but I could probably get it 'fairly'
accurate, and I don't think it would be too much of a drain on the
processor.
KaVir.
More information about the mud-dev-archive
mailing list