Files
learn-pub-sub-starter/internal/gamelogic/gamedata.go
2024-12-02 13:11:09 -07:00

53 lines
795 B
Go

package gamelogic
type Player struct {
Username string
Units map[int]Unit
}
type UnitRank string
const (
RankInfantry = "infantry"
RankCavalry = "cavalry"
RankArtillery = "artillery"
)
type Unit struct {
ID int
Rank UnitRank
Location Location
}
type ArmyMove struct {
Player Player
Units []Unit
ToLocation Location
}
type RecognitionOfWar struct {
Attacker Player
Defender Player
}
type Location string
func getAllRanks() map[UnitRank]struct{} {
return map[UnitRank]struct{}{
RankInfantry: {},
RankCavalry: {},
RankArtillery: {},
}
}
func getAllLocations() map[Location]struct{} {
return map[Location]struct{}{
"americas": {},
"europe": {},
"africa": {},
"asia": {},
"australia": {},
"antarctica": {},
}
}