Jump to content

  • Log In with Google      Sign In   
  • Create Account






Programming Cause and Effect.

Posted by Tutorial Doctor, 21 January 2014 · 378 views

boolean. cause effect subroutine coroutine
So, it is sunny outside, and that makes you happy, so you go outside to play. But then, it starts raining which makes it rainy, and that causes you to be sad. So, you decide to go to sleep.

I sat down today and thought of a way to program cause and effect. I came up with this notation:
(initCondtion, initState, initBehavior) + Action = (deltaState, deltaCondition,deltaBehavior) = Reaction
The initial condition is that it is sunny outside.
The initial state is that you are happy.
This causes an initial behavior-- you go outside to play.

But then, something happens (an action).

It starts to rain. Now it is rainy outside.
Now you are sad.
This causes you to go back inside and go to sleep.


The action triggers a change in state and a change in condition.
This change in state and condition produces a reaction-- You go inside to go to sleep.

PseudoExample:
--States
normal = true
happy = false
sad = false
 
 
--Conditions
clear = true
rainy= false
sunny = false
 
--Behaviors
 
--Initial Behavior
function GoOutToPlay()
 
--Change in Behavior
function GoToSleep()
 
--Action
function Rain()
start to rain
end
 
--Reaction
function ChangeState()
sad = true
 
function ChangeCondition()
rainy = true
 
function ChangeBehavior()
if sad && rainy
GoToSleep()
 
I wonder if this is solid enough to implement. hmm.




PARTNERS