Manual for WinSam
for Windows with the .NET Framework 1.1 (or higher)

 

 

Notice:

Copyright © 2005, Kevin P. Albrecht

E-mail

kevin@albrecht.net

Website:

http://kevin.alteu.com/

Version:

1.00 (18 April 2005)

BrainScript:

B5, B6

Environment:

Windows with the .NET Framework 1.1 (or higher)

(1) Description

WinSam is the newest version of Sam, the Scriptable Artificial MindWinSam loads a predesigned brain file, which the user interacts with by typing.  Sam brain files have the extension .brn

(2) Usage

In the File menu, select Load Brain to open a .brn file.

(3) BrainScript, the Brain Scripting Language

To create brain files, the following commands are written, along with other text, into a brain file (*.brn).  The brain file is loaded into Sam upon startup.  Example brain files are included in the program download, or can be found at the Sam website at http://kevin.alteu.com/.

(3.1) Commands (Version B5)

n>>

Sets the name of the brain; Only set this once.

v>>

Sets the version of the scripting language of the brain; Only set this once.

>>>

Marks a comment

s>>

Matches exact sentence the user types. (Note: not case-sensitive.)

p>>

Matches phrase the user types in a sentence ending in a period, exlamation point, or nothing. (Note: not case-sensitive.)

p?>

Matches phrase the user types in a sentence ending in a question mark. (Note: not case-sensitive.)

e>>

Marks sentences to respond with when no match is found and the user's input ends in a period, exlamation point, or nothing.  There should only be one e>> block.

e?>

Marks sentences to respond with when no match is found and the user's input ends in a question mark.  There should only be one e?> block.

r>>

Sentence that brain responds with. If the responding sentence begins with <q>, the rest of the response is displayed, and then the program ends.

<<<

Marks the end of a block of responses (r>>).

(3.2) Commands (Version B6)

<err>

Precedes the text of a r>> command.  Causes the program to error out with the given error message.

<sys>

Precedes the text of a r>> command.  Executes the program given by the string.

@@#

Located within the text of a r>> command, where # is replaced with an integer from 1 to 9.  Replaces the tag with the word from the input corresponding to the # given.

g>>

Marks the beginning of a block of responses that display when the brain is started.  There should only be one g>> block.

(4) Technical Information

(5) BrainScript Hints

The following hints should help users design better BrainScript code for their brain files.  If you have more hints, let me know!

(5.1) Put shorter phrases after longer ones

When using the phrase command, don’t put any commands that are contained in a second command before the longer command, because the commands match in the order that they are given in the file.

 

For example, in the following section of a Brain file, an user input of “nobody” will result in a response of “No one is home?”, because the p>> no will match the “no” in “nobody”.

 

Example of what not to do:

p>> no

r>> Don’t be so negative!

<<<

 

p>> nobody

r>> No one is home?

<<<