78 lines
2.0 KiB
Go
78 lines
2.0 KiB
Go
package game_test
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/google/uuid"
|
|
"github.com/iliadenisov/galaxy/internal/controller"
|
|
"github.com/iliadenisov/galaxy/internal/model/game"
|
|
)
|
|
|
|
var (
|
|
Race_0 = game.Race{
|
|
ID: uuid.New(),
|
|
Name: "Race_0",
|
|
Drive: 1.1,
|
|
Weapons: 1.2,
|
|
Shields: 1.3,
|
|
Cargo: 1.4,
|
|
}
|
|
Race_1 = game.Race{
|
|
ID: uuid.New(),
|
|
Name: "Race_1",
|
|
Drive: 2.1,
|
|
Weapons: 2.2,
|
|
Shields: 2.3,
|
|
Cargo: 2.4,
|
|
}
|
|
Map = game.Map{
|
|
Width: 10,
|
|
Height: 10,
|
|
Planet: []game.Planet{
|
|
controller.NewPlanet(R0_Planet_0_num, "Planet_0", Race_0.ID, 0, 0, 100, 0, 0, 0, game.ProductionNone.AsType(uuid.Nil)),
|
|
controller.NewPlanet(R1_Planet_1_num, "Planet_1", Race_1.ID, 1, 1, 100, 0, 0, 0, game.ProductionNone.AsType(uuid.Nil)),
|
|
controller.NewPlanet(R0_Planet_2_num, "Planet_2", Race_0.ID, 2, 2, 100, 0, 0, 0, game.ProductionNone.AsType(uuid.Nil)),
|
|
},
|
|
}
|
|
Game = &game.Game{
|
|
Race: []game.Race{
|
|
Race_0,
|
|
Race_1,
|
|
},
|
|
Map: Map,
|
|
}
|
|
Race_0_idx = 0
|
|
Race_0_Gunship = "R0_Gunship"
|
|
Race_0_Freighter = "R0_Freighter"
|
|
R0_Planet_0_num uint = 0
|
|
R0_Planet_2_num uint = 2
|
|
|
|
Race_1_idx = 1
|
|
Race_1_Gunship = "R1_Gunship"
|
|
Race_1_Freighter = "R1_Freighter"
|
|
R1_Planet_1_num uint = 1
|
|
|
|
ShipType_Cruiser = "Cruiser"
|
|
)
|
|
|
|
func init() {
|
|
assertNoError(Game.CreateShipType(Race_0.Name, Race_0_Gunship, 60, 30, 100, 0, 3))
|
|
assertNoError(Game.CreateShipType(Race_0.Name, Race_0_Freighter, 8, 0, 2, 10, 0))
|
|
assertNoError(Game.CreateShipType(Race_0.Name, ShipType_Cruiser, 15, 15, 15, 0, 1))
|
|
|
|
assertNoError(Game.CreateShipType(Race_1.Name, Race_1_Gunship, 60, 30, 100, 0, 3))
|
|
assertNoError(Game.CreateShipType(Race_1.Name, Race_1_Freighter, 8, 0, 2, 10, 0))
|
|
assertNoError(Game.CreateShipType(Race_1.Name, ShipType_Cruiser, 15, 15, 15, 0, 2)) // same name - different type
|
|
}
|
|
|
|
func assertNoError(err error) {
|
|
if err != nil {
|
|
panic(fmt.Sprintf("init assertion failed: %v", err))
|
|
}
|
|
}
|
|
|
|
func copyGame() *game.Game {
|
|
g := *Game
|
|
return &g
|
|
}
|