From d9a54f1319cc9dcc2861cecc9edfde14cf039c5b Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Sat, 6 Jun 2026 20:59:12 +0200 Subject: Add examples catalog with subcommand dispatch - Extract game engine from package main to engine/ library package - Create examples/ package with registry, Entry type, and BuilderDeps - Register default world as an example (moved from main()) - Add combat example: two teams of units facing each other - Rewrite main.go as thin dispatch: go run . example [name] - Update README with examples catalog one-liner --- examples/examples.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 examples/examples.go (limited to 'examples/examples.go') diff --git a/examples/examples.go b/examples/examples.go new file mode 100644 index 0000000..9e18d6b --- /dev/null +++ b/examples/examples.go @@ -0,0 +1,20 @@ +package examples + +import ( + "age_of_empires/engine" + + "github.com/hajimehoshi/ebiten/v2/text/v2" +) + +type BuilderDeps struct { + FaceSource *text.GoTextFaceSource + UnitBuilder engine.EntityBuilder +} + +type Entry struct { + Name string + Description string + Build func(*engine.Game, BuilderDeps) +} + +var Registry = map[string]Entry{} -- cgit v1.3