Files
Programming-Game-AI-by-Exam…/chapter-2-state-driven-agent-design/main.go
T
jonas 2764849943 feat: add Chapter 2 gold miner FSM example in Go
Port the finite state machine from "Programming Game AI by Example"
chapter 2: BaseGameEntity, a generic State[T]/StateMachine[T] pair
(Go generics standing in for the book's C++ templates), and a Miner
that cycles through digging, banking, sleeping, and drinking states.
VisitBankAndDepositGold, GoHomeAndSleepTilRested, and QuenchThirst
are original implementations based on the book's written behavior
description, since their C++ source wasn't available. Includes a
runnable demo in main.go.
2026-09-03 11:36:05 +02:00

23 lines
539 B
Go

// Command westworld runs a tiny demo of the finite state machine
// built in the westworld package: it creates one miner and lets him
// tick forward on his own, watching his state machine drive him
// around the loop (sleep -> dig -> bank/saloon -> sleep, ...).
package main
import (
"fmt"
"git.jjstudio.me/jonas/Programming-Game-AI-by-Example-Go/chapter-2-state-driven-agent-design/westworld"
)
func main() {
bob := westworld.NewMiner(1)
const numUpdateSteps = 30
for range numUpdateSteps {
bob.Update()
}
fmt.Println()
}