End of Game Button MODULE PSEUDOCODE
EOGButton Module
InitEOGButton reads nothing, returns true
// AD port is initialized in main function
// AD6 is BUTTON_LIGHT, AD7 is BUTTON_READ
initialize Mp3 module
turn off button light
return true
End of InitEOGButton
RunEOGButton
If currentState is EOGButtonInit
If EventType is ES_HAMMER_DOWN
set currentState to ButtonReady,
turn on button light.
Else if EventType is ES_GAME_OVER
play music if slave
set currentState to ButtonIDLE
End if
Else if currentState is ButtonReady
If EventType is ES_BUTTON_DOWN
post ES_GAME_OVER to all modules
post bear finished to HealthBar module
play music if slave
turn on S - light
set currentState to ButtonIDLE
Else if EventType is ES_GAME_OVER
play music if slave
set currentState to ButtonIDLE
Else if EventType is ES_GAME_STOPPED
turn off button light
stop music if slave
set currentState to ButtonIDLE
Else if EventType is ES_CARD_REMOVED
turn off button light
stop music if slave
set currentState to EOGButtonInit
End if
Else if currentState is ButtonIDLE
If EventType is ES_CARD_REMOVED
turn off button light
turn off S- light
stop music if slave
set currentState to EOGButtonInit
End if
End if
End of RunEOGButton
InitEOGButton reads nothing, returns true
// AD port is initialized in main function
// AD6 is BUTTON_LIGHT, AD7 is BUTTON_READ
initialize Mp3 module
turn off button light
return true
End of InitEOGButton
RunEOGButton
If currentState is EOGButtonInit
If EventType is ES_HAMMER_DOWN
set currentState to ButtonReady,
turn on button light.
Else if EventType is ES_GAME_OVER
play music if slave
set currentState to ButtonIDLE
End if
Else if currentState is ButtonReady
If EventType is ES_BUTTON_DOWN
post ES_GAME_OVER to all modules
post bear finished to HealthBar module
play music if slave
turn on S - light
set currentState to ButtonIDLE
Else if EventType is ES_GAME_OVER
play music if slave
set currentState to ButtonIDLE
Else if EventType is ES_GAME_STOPPED
turn off button light
stop music if slave
set currentState to ButtonIDLE
Else if EventType is ES_CARD_REMOVED
turn off button light
stop music if slave
set currentState to EOGButtonInit
End if
Else if currentState is ButtonIDLE
If EventType is ES_CARD_REMOVED
turn off button light
turn off S- light
stop music if slave
set currentState to EOGButtonInit
End if
End if
End of RunEOGButton