WestWorld3 StateMachine Demo¶
This is the main exectuable for the westworld3 demo.
Game Data¶
Game-wide constants for WestWorld3 demo.
Game Entities¶
MINER_BOB: Miner Bob, Elsa’s husband
WIFE_ELSA: Wife Elsa, scourge of wandering goats
BILLY: The goat (now a real GameEntity!)
Locations¶
SHACK: Bob and Elsa’s humble home
MINE: Gold mine. Dig for nuggets here!
BANK: A bank, duh. Deposit nuggets here!
SALOON: Quench yer thirst here!
YARD: Frequently invaded by flower-eating goats!
FIELDS: Thar be goats in them fields!
Message Types¶
MINER_HOME: Bob sends this when he comes home from digging.
STEW_READY: Elsa sends this when she’s finished cooking.
GOAT_IN_YARD: Send this to Elsa when Billy enters the yard.
GOAT_SHOO: Elsa sends to Billy to attempt to shoo (extra=shoo_force)
GOAT_OUT: Reserved for future use.
- class gamedata.Locations(value)¶
An enumeration.
- class gamedata.MsgTypes(value)¶
An enumeration.
- exception gamedata.GameOver¶
Raise this exception to end the game.
Miner Class¶
Miner Entity using simple FSM functionality.
- class ent_miner.Miner(entity_idstr)¶
Miner Bob, the only miner in the world!
- Parameters
entity_idstr (String) – The id string used by BaseEntity.
Since there’s only one Miner, everything except the BaseEntity idstr is hard-coded. We assume this entity is MINER_BOB, and his spouse is WIFE_ELSA.
- update()¶
Just updates the StateMachine logic.
- receive_msg(message)¶
Let our statemachine handle any messages.
- change_location(newlocation)¶
Instantaneously teleport to a new location.
- Parameters
newlocation (Locations) – Must match import from gamedata.py.
- change_gold(amount)¶
Add/subtract the amount of gold currently carried
- Parameters
amount – How much gold to add (or subtract, if negative)
- pockets_full()¶
True if this Miner is carrying enough gold (3+ nuggets).
- add_fatigue(amount=1)¶
Increases our current fatigue.
- remove_fatigue(amount=1)¶
Remove fatigue, but don’t let it go below zero.
- is_thirsty()¶
True if this Miner is thirsty.
- remove_thirst(amount)¶
Remove thirst, but don’t let it go below zero.
- work_done()¶
Check if we’ve met our mining goal for now.
Miner State Events¶
Auto-generated from event docstrings.
— MINER_GLOBAL defined events — MINER_GLOBAL: on_enter()
Check that my spouse is in the game world.
- MINER_GLOBAL: on_execute()
Increases thirst, unless I’m at the SALOON.
— DIG_IN_MINE defined events — DIG_IN_MINE: on_enter()
If not already in the mine, travel there.
- DIG_IN_MINE: on_execute()
Increase fatigue and dig for gold.
- StateChange:
Pockets are Full –> DEPOSIT GOLD
Thirsty –> DRINK_AT_SALOON
- DIG_IN_MINE: on_exit()
Print dialog for leaving the mine.
— DEPOSIT_GOLD defined events — DEPOSIT_GOLD: on_enter()
If I’m not at the bank, travel there.
- DEPOSIT_GOLD: on_execute()
Deposit all the gold being carried, and check for victory.
StateChange: * If work_done (enough money in bank) –> REST_AT_HOME * Otherwise –> DIG_IN_MINE
- DEPOSIT_GOLD: on_exit()
Print dialog for leaving the bank.
— DRINK_AT_SALOON defined events — DRINK_AT_SALOON: on_enter()
If not already at SALOON, go there.
- DRINK_AT_SALOON: on_execute()
Drink until I’ve quenched my thirst.
StateChange: * When no longer thirsty –> revert to previous
- DRINK_AT_SALOON: on_exit()
Print dialog for leaving the saloon.
— REST_AT_HOME defined events — REST_AT_HOME: on_enter()
If not at SHACK, go there. Tell my spouse I’m home.
- REST_AT_HOME: on_execute()
Sleep until rested or woken for dinner.
StateChange: * When fully rested –> DIG_IN_MINE
- REST_AT_HOMEon_msg()
Wake up when dinner is ready.
Messages: * STEW_READY: If from my spouse, change state –> EAT_STEW_MINER
— EAT_STEW_MINER defined events — EAT_STEW_MINER: on_enter()
It doesn’t matter where you get hungry, as long as you go home for dinner.
- EAT_STEW_MINER: on_execute()
Eat that tasty stew and recover some fatigue.
- StateChange:
update(1) –> revert to previous
- EAT_STEW_MINER: on_exit()
Print after-dinner dialog.
Wife Class¶
Wife Entity using simple FSM functionality
- class ent_wife.Wife(*args)¶
Wife Elsa, scourge of the goats.
- Parameters
entity_idstr (String) – The id string used by BaseEntity.
Since there’s only one Wife, everything except the BaseEntity idstr is hard-coded. We assume this entity is WIFE_ELSA, and her spouse is MINER_BOB.
- update()¶
Just updates the StateMachine logic.
- receive_msg(message)¶
Let the statemachine handle any messages.
- change_location(newlocation)¶
Instantaneously teleport to a new location.
- Parameters
newlocation (Locations) – Must match import from gamedata.py.
- score_shoo(count)¶
Score a point for each goat chased from the yard.
- final_score()¶
Final score = number of goats chased away.
Wife State Events¶
Auto-generated from event docstrings.
— WIFE_GLOBAL defined events — WIFE_GLOBAL: on_enter()
Check that my spouse is in the game world.
- WIFE_GLOBALon_msg()
Listen for goats eating flowers and spouse coming home.
— DO_HOUSEWORK defined events — DO_HOUSEWORK: on_enter()
Housework is done at the SHACK only; make sure I’m there.
- DO_HOUSEWORK: on_execute()
Occasionally sing while doing the housework…obviously.
— COOK_STEW defined events — COOK_STEW: on_enter()
Go home and cook, if my spouse is still there.
- COOK_STEW: on_execute()
Keep an eye on the stew.
- StateChange:
stew_is_ruined –> DO_HOUSEWORK
- COOK_STEWon_msg()
Listen for STEW_READY and notify my spouse.
- Messages:
STEW_READY: change state –> EAT_STEW_WIFE
— EAT_STEW_WIFE defined events — EAT_STEW_WIFE: on_enter()
Make sure I’m actually at home.
- EAT_STEW_WIFE: on_execute()
Quickly eat and then go back to housework.
- StateChange:
After one update –> DO_HOUSEWORK
— CHASE_GOAT defined events — CHASE_GOAT: on_enter()
Stare down an incoming goat, or move to the YARD and shoo it!
- CHASE_GOAT: on_execute()
Attempt to shoo the goat.
- StateChange:
Target goat no longer in yard –> revert state
- CHASE_GOATon_msg()
Busy chasing the goat, so forward messages to future self if needed.
Goat Class¶
Goat Entity using simple FSM functionality
- class ent_goat.Goat(*args)¶
An actual goat, not just a placeholder for some non-goat.
- Parameters
entity_idstr (String) – The id string used by BaseEntity.
Since there’s only one Goat, everything except the BaseEntity idstr is hard-coded. We assume this entity is GOAT_BILLY, and will pester WIFE_ELSA.
- update()¶
To be called by the EntityManager each update.
- receive_msg(message)¶
Used by the EntityManage for basic messaging.
- change_location(newlocation)¶
Instantaneously teleport to a new location.
- Parameters
newlocation (Locations) – Must match import from gamedata.py.
- eat_flowers(count)¶
Nom nom flowers.
- final_score()¶
Final score = number of flowers nommed.
Goat State Events¶
Auto-generated from event docstrings.
— GOAT_GLOBAL defined events — GOAT_GLOBAL: on_enter()
Check that I have somebody’s flowers to eat.
- GOAT_GLOBAL: on_execute()
Bleat every so often, because that’s what goats do.
— WANDER_FIELDS defined events — WANDER_FIELDS: on_enter()
If not in the FIELDS, go there and wander for a bit.
- WANDER_FIELDS: on_execute()
Wander aimlessly for some time.
- StateChange:
Wander countdown complete –> EAT_FLOWERS
— EAT_FLOWERS defined events — EAT_FLOWERS: on_enter()
If not in the YARD, go there and let Elsa know.
- EAT_FLOWERS: on_execute()
Eat flowers until we’re shooed away.
- EAT_FLOWERSon_msg()
Possibly be shooed by Elsa, but goats are stubborn.
- Messages:
GOAT_SHOO: If sufficient force, change state –> WANDER_FIELDS
Sample Run¶
[State info output moved elsewhere]
Miner Bob : Spouse is WIFE_ELSA
Miner Bob : Walkin' to the gold mine...
Wife Elsa : Spouse is MINER_BOB
Wife Elsa : Housework ain't gonna do itself!
Billy the Goat : I will eat the flowers of WIFE_ELSA
=== Clock time is now 0 ===
=== Clock time is now 1 ===
Miner Bob : Found me a gold nugget!
Wife Elsa : Workin' round the house...tra-la-lah-la-lah...
Billy the Goat : Baaaaah!
=== Clock time is now 2 ===
Miner Bob : Found me a gold nugget!
Wife Elsa : Workin' round the house...tra-la-lah-la-lah...
=== Clock time is now 3 ===
Miner Bob : Found me two nuggets, whaddaya know!
Miner Bob : Done diggin' fer now.
Miner Bob : Headin' to bank, yessiree!
Billy the Goat : Baaaaah!
=== Clock time is now 4 ===
Miner Bob : Now depositin' 4 gold...
Miner Bob : Saved myself 4 gold...soon'll be rich!
Miner Bob : Leavin' the bank...
Miner Bob : Walkin' to the gold mine...
Wife Elsa : Workin' round the house...tra-la-lah-la-lah...
Billy the Goat : Baaaaah!
Wife Elsa : Thar's a goat out in mah yard!
=== Clock time is now 5 ===
Miner Bob : Found me a gold nugget!
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : *Scampers away*
Billy the Goat : Baaaaah!
=== Clock time is now 6 ===
Miner Bob : Keep on a-diggin'...
Wife Elsa : Mah flowers are safe fer now.
Wife Elsa : Headin' on home...
Wife Elsa : Housework ain't gonna do itself!
Billy the Goat : Baaaaah!
=== Clock time is now 7 ===
Miner Bob : Found me two nuggets, whaddaya know!
Miner Bob : Done diggin' fer now.
Miner Bob : Headin' to bank, yessiree!
=== Clock time is now 8 ===
Miner Bob : Now depositin' 3 gold...
Miner Bob : Saved myself 7 gold...soon'll be rich!
Miner Bob : Leavin' the bank...
Miner Bob : Walkin' to the gold mine...
=== Clock time is now 9 ===
Miner Bob : Keep on a-diggin'...
Miner Bob : Done diggin' fer now.
Miner Bob : Headin' to the saloon fer a drink...
Billy the Goat : Baaaaah!
=== Clock time is now 10 ===
Miner Bob : Havin' a whiskey...mighty refreshin'!
Miner Bob : Leavin' the saloon fer now...
Miner Bob : Walkin' to the gold mine...
Billy the Goat : Baaaaah!
Wife Elsa : Thar's a goat out in mah yard!
=== Clock time is now 11 ===
Miner Bob : Found me a gold nugget!
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : Baaaaah!
Billy the Goat : *Nom flowers*
=== Clock time is now 12 ===
Miner Bob : Found me two nuggets, whaddaya know!
Miner Bob : Done diggin' fer now.
Miner Bob : Headin' to bank, yessiree!
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : *Scampers away*
Billy the Goat : Baaaaah!
=== Clock time is now 13 ===
Miner Bob : Now depositin' 3 gold...
Miner Bob : Saved myself 10 gold...soon'll be rich!
Miner Bob : Leavin' the bank...
Miner Bob : Day's a finished, headin' on home!
Wife Elsa : Mah flowers are safe fer now.
Wife Elsa : Headin' on home...
Wife Elsa : Housework ain't gonna do itself!
Billy the Goat : Baaaaah!
=== Clock time is now 14 ===
Miner Bob : Zzzzzz....
Wife Elsa : Workin' round the house...tra-la-lah-la-lah...
Billy the Goat : Baaaaah!
Wife Elsa : Gonna rustle up some mighty fine stew!
=== Clock time is now 15 ===
Miner Bob : Zzzzzz....
Wife Elsa : Wrassalin' with dinner...
Billy the Goat : Baaaaah!
=== Clock time is now 16 ===
Miner Bob : Zzzzzz....
Wife Elsa : Wrassalin' with dinner...
Billy the Goat : Baaaaah!
Wife Elsa : Thar's a goat out in mah yard!
=== Clock time is now 17 ===
Miner Bob : Zzzzzz....
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : *Scampers away*
Billy the Goat : Baaaaah!
=== Clock time is now 18 ===
Miner Bob : Zzzzzz....
Wife Elsa : Mah flowers are safe fer now.
Wife Elsa : Heading back to the kitchen...
Wife Elsa : Hope mah stew ain't burnt!
Billy the Goat : Baaaaah!
Wife Elsa : Stew's ready, come an' git it!
Miner Bob : I hears ya', lil' lady...
=== Clock time is now 19 ===
Miner Bob : That's some might fine stew...thank ya much, Elsa!
Miner Bob : Now where was I...?
Wife Elsa : Eatin' the stew...I outdone myself this time.
Wife Elsa : Housework ain't gonna do itself!
Billy the Goat : Baaaaah!
=== Clock time is now 20 ===
Miner Bob : Done restin' fer now, back to work!
Miner Bob : Walkin' to the gold mine...
Wife Elsa : Workin' round the house...tra-la-lah-la-lah...
Billy the Goat : Baaaaah!
=== Clock time is now 21 ===
Miner Bob : Found me two nuggets, whaddaya know!
Miner Bob : Done diggin' fer now.
Miner Bob : Headin' to the saloon fer a drink...
Wife Elsa : Workin' round the house...tra-la-lah-la-lah...
Billy the Goat : Baaaaah!
Wife Elsa : Thar's a goat out in mah yard!
=== Clock time is now 22 ===
Miner Bob : Havin' a whiskey...mighty refreshin'!
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : *Scampers away*
Billy the Goat : Baaaaah!
=== Clock time is now 23 ===
Miner Bob : Havin' a whiskey...mighty refreshin'!
Miner Bob : Leavin' the saloon fer now...
Miner Bob : Walkin' to the gold mine...
Wife Elsa : Mah flowers are safe fer now.
Wife Elsa : Headin' on home...
Wife Elsa : Housework ain't gonna do itself!
Billy the Goat : Baaaaah!
=== Clock time is now 24 ===
Miner Bob : Keep on a-diggin'...
Wife Elsa : Workin' round the house...tra-la-lah-la-lah...
Billy the Goat : Baaaaah!
=== Clock time is now 25 ===
Miner Bob : Keep on a-diggin'...
Billy the Goat : Baaaaah!
=== Clock time is now 26 ===
Miner Bob : Found me a gold nugget!
Miner Bob : Done diggin' fer now.
Miner Bob : Headin' to bank, yessiree!
Billy the Goat : Baaaaah!
Wife Elsa : Thar's a goat out in mah yard!
=== Clock time is now 27 ===
Miner Bob : Now depositin' 3 gold...
Miner Bob : Saved myself 13 gold...soon'll be rich!
Miner Bob : Leavin' the bank...
Miner Bob : Walkin' to the gold mine...
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : *Scampers away*
Billy the Goat : Baaaaah!
=== Clock time is now 28 ===
Miner Bob : Keep on a-diggin'...
Miner Bob : Done diggin' fer now.
Miner Bob : Headin' to the saloon fer a drink...
Wife Elsa : Mah flowers are safe fer now.
Wife Elsa : Headin' on home...
Wife Elsa : Housework ain't gonna do itself!
Billy the Goat : Baaaaah!
=== Clock time is now 29 ===
Miner Bob : Havin' a whiskey...mighty refreshin'!
Miner Bob : Leavin' the saloon fer now...
Miner Bob : Walkin' to the gold mine...
Wife Elsa : Workin' round the house...tra-la-lah-la-lah...
Wife Elsa : Thar's a goat out in mah yard!
=== Clock time is now 30 ===
Miner Bob : Found me two nuggets, whaddaya know!
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : Baaaaah!
Billy the Goat : *Nom flowers*
=== Clock time is now 31 ===
Miner Bob : Keep on a-diggin'...
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : Baaaaah!
Billy the Goat : *Nom nom nom flowers*
=== Clock time is now 32 ===
Miner Bob : Found me a gold nugget!
Miner Bob : Done diggin' fer now.
Miner Bob : Headin' to bank, yessiree!
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : Baaaaah!
Billy the Goat : *Nom flowers*
=== Clock time is now 33 ===
Miner Bob : Now depositin' 3 gold...
Miner Bob : Saved myself 16 gold...soon'll be rich!
Miner Bob : Leavin' the bank...
Miner Bob : Walkin' to the gold mine...
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : *Nom flowers*
=== Clock time is now 34 ===
Miner Bob : Found me a gold nugget!
Miner Bob : Done diggin' fer now.
Miner Bob : Headin' to the saloon fer a drink...
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : *Scampers away*
=== Clock time is now 35 ===
Miner Bob : Havin' a whiskey...mighty refreshin'!
Miner Bob : Leavin' the saloon fer now...
Miner Bob : Walkin' to the gold mine...
Wife Elsa : Mah flowers are safe fer now.
Wife Elsa : Headin' on home...
Wife Elsa : Housework ain't gonna do itself!
=== Clock time is now 36 ===
Miner Bob : Keep on a-diggin'...
Billy the Goat : Baaaaah!
=== Clock time is now 37 ===
Miner Bob : Found me two nuggets, whaddaya know!
Miner Bob : Done diggin' fer now.
Miner Bob : Headin' to bank, yessiree!
Wife Elsa : Workin' round the house...tra-la-lah-la-lah...
Billy the Goat : Baaaaah!
Wife Elsa : Thar's a goat out in mah yard!
=== Clock time is now 38 ===
Miner Bob : Now depositin' 3 gold...
Miner Bob : Saved myself 19 gold...soon'll be rich!
Miner Bob : Leavin' the bank...
Miner Bob : Walkin' to the gold mine...
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : Baaaaah!
Billy the Goat : *Nom nom nom flowers*
=== Clock time is now 39 ===
Miner Bob : Keep on a-diggin'...
Miner Bob : Done diggin' fer now.
Miner Bob : Headin' to the saloon fer a drink...
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : *Scampers away*
Billy the Goat : Baaaaah!
=== Clock time is now 40 ===
Miner Bob : Havin' a whiskey...mighty refreshin'!
Miner Bob : Leavin' the saloon fer now...
Miner Bob : Walkin' to the gold mine...
Wife Elsa : Mah flowers are safe fer now.
Wife Elsa : Headin' on home...
Wife Elsa : Housework ain't gonna do itself!
Billy the Goat : Baaaaah!
=== Clock time is now 41 ===
Miner Bob : Found me a gold nugget!
Wife Elsa : Workin' round the house...tra-la-lah-la-lah...
=== Clock time is now 42 ===
Miner Bob : Keep on a-diggin'...
Wife Elsa : Workin' round the house...tra-la-lah-la-lah...
Billy the Goat : Baaaaah!
=== Clock time is now 43 ===
Miner Bob : Keep on a-diggin'...
Billy the Goat : Baaaaah!
=== Clock time is now 44 ===
Miner Bob : Found me two nuggets, whaddaya know!
Miner Bob : Done diggin' fer now.
Miner Bob : Headin' to bank, yessiree!
Wife Elsa : Workin' round the house...tra-la-lah-la-lah...
Billy the Goat : Baaaaah!
Wife Elsa : Thar's a goat out in mah yard!
=== Clock time is now 45 ===
Miner Bob : Now depositin' 3 gold...
Miner Bob : Saved myself 22 gold...soon'll be rich!
Miner Bob : Leavin' the bank...
Miner Bob : Day's a finished, headin' on home!
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : *Scampers away*
Billy the Goat : Baaaaah!
=== Clock time is now 46 ===
Miner Bob : Zzzzzz....
Wife Elsa : Mah flowers are safe fer now.
Wife Elsa : Headin' on home...
Wife Elsa : Housework ain't gonna do itself!
Wife Elsa : Gonna rustle up some mighty fine stew!
=== Clock time is now 47 ===
Miner Bob : Zzzzzz....
Wife Elsa : Wrassalin' with dinner...
=== Clock time is now 48 ===
Miner Bob : Zzzzzz....
Wife Elsa : Wrassalin' with dinner...
Billy the Goat : Baaaaah!
=== Clock time is now 49 ===
Miner Bob : Zzzzzz....
Wife Elsa : Wrassalin' with dinner...
Billy the Goat : Baaaaah!
=== Clock time is now 50 ===
Miner Bob : Zzzzzz....
Wife Elsa : Wrassalin' with dinner...
Wife Elsa : Thar's a goat out in mah yard!
=== Clock time is now 51 ===
Miner Bob : Zzzzzz....
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : *Scampers away*
Billy the Goat : Baaaaah!
=== Clock time is now 52 ===
Miner Bob : Zzzzzz....
Wife Elsa : Mah flowers are safe fer now.
Wife Elsa : Heading back to the kitchen...
Wife Elsa : Darnit, done burnt mah stew!
Billy the Goat : Baaaaah!
=== Clock time is now 53 ===
Miner Bob : Zzzzzz....
Wife Elsa : Better clean up this mess.
Wife Elsa : Housework ain't gonna do itself!
=== Clock time is now 54 ===
Miner Bob : Zzzzzz....
Wife Elsa : Workin' round the house...tra-la-lah-la-lah...
Billy the Goat : Baaaaah!
=== Clock time is now 55 ===
Miner Bob : Zzzzzz....
Billy the Goat : Baaaaah!
Wife Elsa : Thar's a goat out in mah yard!
=== Clock time is now 56 ===
Miner Bob : Zzzzzz....
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : *Scampers away*
=== Clock time is now 57 ===
Miner Bob : Zzzzzz....
Wife Elsa : Mah flowers are safe fer now.
Wife Elsa : Headin' on home...
Wife Elsa : Housework ain't gonna do itself!
=== Clock time is now 58 ===
Miner Bob : Zzzzzz....
Billy the Goat : Baaaaah!
=== Clock time is now 59 ===
Miner Bob : Zzzzzz....
Wife Elsa : Workin' round the house...tra-la-lah-la-lah...
Billy the Goat : Baaaaah!
=== Clock time is now 60 ===
Miner Bob : Zzzzzz....
Wife Elsa : Workin' round the house...tra-la-lah-la-lah...
Billy the Goat : Baaaaah!
Wife Elsa : Thar's a goat out in mah yard!
=== Clock time is now 61 ===
Miner Bob : Zzzzzz....
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : *Scampers away*
Billy the Goat : Baaaaah!
=== Clock time is now 62 ===
Miner Bob : Done restin' fer now, back to work!
Miner Bob : Walkin' to the gold mine...
Wife Elsa : Mah flowers are safe fer now.
Wife Elsa : Headin' on home...
Wife Elsa : Housework ain't gonna do itself!
=== Clock time is now 63 ===
Miner Bob : Found me a gold nugget!
Miner Bob : Done diggin' fer now.
Miner Bob : Headin' to the saloon fer a drink...
Billy the Goat : Baaaaah!
=== Clock time is now 64 ===
Miner Bob : Havin' a whiskey...mighty refreshin'!
Wife Elsa : Thar's a goat out in mah yard!
=== Clock time is now 65 ===
Miner Bob : Havin' a whiskey...mighty refreshin'!
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : Baaaaah!
Billy the Goat : *Nom nom flowers*
=== Clock time is now 66 ===
Miner Bob : Havin' a whiskey...mighty refreshin'!
Wife Elsa : Shoo, ya silly goat!
Billy the Goat : *Scampers away*
=== Clock time is now 67 ===
Miner Bob : Havin' a whiskey...mighty refreshin'!
Miner Bob : Leavin' the saloon fer now...
Miner Bob : Walkin' to the gold mine...
Wife Elsa : Mah flowers are safe fer now.
Wife Elsa : Headin' on home...
Wife Elsa : Housework ain't gonna do itself!
Billy the Goat : Baaaaah!
=== Clock time is now 68 ===
Miner Bob : Found me a gold nugget!
Miner Bob : Done diggin' fer now.
Miner Bob : Headin' to the saloon fer a drink...
Wife Elsa : Workin' round the house...tra-la-lah-la-lah...
=== Clock time is now 69 ===
Miner Bob : Havin' a whiskey...mighty refreshin'!
Miner Bob : Leavin' the saloon fer now...
Miner Bob : Walkin' to the gold mine...
Wife Elsa : Workin' round the house...tra-la-lah-la-lah...
Billy the Goat : Baaaaah!
=== Clock time is now 70 ===
Miner Bob : Found me two nuggets, whaddaya know!
Miner Bob : Done diggin' fer now.
Miner Bob : Headin' to bank, yessiree!
Wife Elsa : Thar's a goat out in mah yard!
=== Clock time is now 71 ===
Miner Bob : Now depositin' 4 gold...
Miner Bob : Saved myself 26 gold...soon'll be rich!
Miner Bob : Whee, doggy! A winner is y'all!
=== Final Results ===
Elapsed time: 71 clock ticks.
Miner Bob: Deposited 26 gold nuggets.
Wife Elsa: Chased a goat 12 times.
Billy the Goat: Ate 12 flowers.