diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2025-07-19 18:39:59 -0400 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2025-08-20 15:57:25 +0200 |
| commit | 0be3f6cb2373a71e301bb693fa947d7fa258fba0 (patch) | |
| tree | 871d5ecc64e0d5e09047737ed1e9e3389eeaee2a /go/game/ai_test.go | |
| parent | 5af1145d2cfe50fcd61098f3bbc853ef06cbf04e (diff) | |
| download | muhqs-game-0be3f6cb2373a71e301bb693fa947d7fa258fba0.tar.gz muhqs-game-0be3f6cb2373a71e301bb693fa947d7fa258fba0.zip | |
add simple ai implementation
Diffstat (limited to 'go/game/ai_test.go')
| -rw-r--r-- | go/game/ai_test.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/go/game/ai_test.go b/go/game/ai_test.go index 08cef2cb..632c6991 100644 --- a/go/game/ai_test.go +++ b/go/game/ai_test.go @@ -168,3 +168,34 @@ symbols: t.Fatal("Target is not a Tile") } } + +func TestSuggestUnitAi(t *testing.T) { + mapDef := `map: |1- + HST + HSF + TST +symbols: + T: tower + H: house + F: farm + S: street +` + r := strings.NewReader(mapDef) + m, _ := readMap(r) + a := NewUnit(NewCard("base/archer"), m.TileAt(Position{0, 0}), nil) + if SuggestUnitAI(a) != "aggressive" { + t.Fatal("expected aggressive") + } + + f := NewUnit(NewCard("misc/farmer"), m.TileAt(Position{2, 2}), nil) + exp := "target-oriented farm tile" + is := SuggestUnitAI(f) + if exp != is { + t.Fatal(exp, " != ", is) + } + + tc := NewUnit(NewCard("base/tax_collector"), m.TileAt(Position{3, 3}), nil) + if SuggestUnitAI(tc) != "shy" { + t.Fatal("expected shy") + } +} |
