CSC 216/s08/clever imaginings: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
mNo edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Finite State Machines and the State Pattern==
==Finite State Machines==
 
Give the title of your exercise, which may include the name of the topic you are covering, or some other catchy title.


===The problem===
===The problem===


Finite state machines are abstract models of systems that have a set number of states, inputs, and rules for transitioning from one state to another. Understanding all the parts of a FSM can be difficult, especially in systems that feature a large number of states and transitions.   
Finite state machines are abstract models of systems that have a set number of states, inputs, and rules for transitioning from one state to another. Understanding all the parts of a FSM can be difficult, especially in systems that feature a large number of states and transitions.  As an interesting application, a Finite State Machine can be used to model the emotional states of an Non-Player Character (NPC) in video games.   


===Participants and props===
===Participants and props===


How many students will participate? What else do you need (e.g., old tennis ball, Powerpoint slides, software).
Students should work in pairs.  In Part 1, one student will act as the FSM, and the other will act as the environment. The student acting as the FSM should reference the following table (which may be printed on a notecard) to determine their reaction to stimuli.
 
<center>
{| border="1" cellspacing="0" cellpadding="5"
!
! Compliment
! Dull Comment
! Insult
|-
| '''Amicable'''
| Amicable
| Neutral
| Neutral
|-
| '''Neutral'''
| Amicable
| Neutral
| Agitated
|-
| '''Agitated'''
| Neutral
| Agitated
| Agitated
|}
</center>
 
The other student should use the following list of generic insults, compliments and dull comments:
<center>
{| border="1" cellspacing="0" cellpadding="5"
! Compliments
! Dull Comments
! Insults
|-
|
*"You have a lovely smile."
*"Your intellect astounds me."
*"You move very gracefully."
|
*"The weather is nice today."
*"That desk looks heavy."
*"Space travel is boring."
|
*"You disgust me."
*"Clearly, you don't understand."
*"Please be quiet, the adults are talking."
|}
</center>


===The script===
===The script===
The student issuing stimuli will try to guess the state table used by the FSM student (the FSM student should keep the table concealed).  The student acting as the environment will speak compliments, comments and insults to the student representing the FSM, who shall then respond by modifying their body language to express their current state.  The following postures may be used to express emotional states:
*Amicable - Establish eye contact and smile with arms relaxed.
*Neutral - Look away with arms relaxed.
*Agitated - Establish eye contact, frown and cross arms.
Once the environment student has recreated the state table of the FSM student, both students should work together to write corresponding methods (in pseudocode) to accurately model the system.


====Part 1: The Finite State Machine====


====Part 2: Extending with the State Patter====


===Formatting Resources===
===Formatting Resources===
[http://meta.wikimedia.org/wiki/Help:Wikitext_examples Formatting Help Guide from MetaWiki]
[http://meta.wikimedia.org/wiki/Help:Wikitext_examples Formatting Help Guide from MetaWiki]

Latest revision as of 04:53, 21 April 2008

Finite State Machines

The problem

Finite state machines are abstract models of systems that have a set number of states, inputs, and rules for transitioning from one state to another. Understanding all the parts of a FSM can be difficult, especially in systems that feature a large number of states and transitions. As an interesting application, a Finite State Machine can be used to model the emotional states of an Non-Player Character (NPC) in video games.

Participants and props

Students should work in pairs. In Part 1, one student will act as the FSM, and the other will act as the environment. The student acting as the FSM should reference the following table (which may be printed on a notecard) to determine their reaction to stimuli.

Compliment Dull Comment Insult
Amicable Amicable Neutral Neutral
Neutral Amicable Neutral Agitated
Agitated Neutral Agitated Agitated

The other student should use the following list of generic insults, compliments and dull comments:

Compliments Dull Comments Insults
  • "You have a lovely smile."
  • "Your intellect astounds me."
  • "You move very gracefully."
  • "The weather is nice today."
  • "That desk looks heavy."
  • "Space travel is boring."
  • "You disgust me."
  • "Clearly, you don't understand."
  • "Please be quiet, the adults are talking."

The script

The student issuing stimuli will try to guess the state table used by the FSM student (the FSM student should keep the table concealed). The student acting as the environment will speak compliments, comments and insults to the student representing the FSM, who shall then respond by modifying their body language to express their current state. The following postures may be used to express emotional states:

  • Amicable - Establish eye contact and smile with arms relaxed.
  • Neutral - Look away with arms relaxed.
  • Agitated - Establish eye contact, frown and cross arms.

Once the environment student has recreated the state table of the FSM student, both students should work together to write corresponding methods (in pseudocode) to accurately model the system.


Formatting Resources

Formatting Help Guide from MetaWiki