53 lines
795 B
Go
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": {},
|
|
}
|
|
}
|