add CLI flags for ruleset settings and update hazardDamagePerTurn (#53)
This commit is contained in:
parent
e9f408cdbb
commit
2d57653d46
1 changed files with 17 additions and 4 deletions
|
|
@ -102,6 +102,11 @@ var ViewMap bool
|
||||||
var Seed int64
|
var Seed int64
|
||||||
var TurnDelay int32
|
var TurnDelay int32
|
||||||
|
|
||||||
|
var FoodSpawnChance int32
|
||||||
|
var MinimumFood int32
|
||||||
|
var HazardDamagePerTurn int32
|
||||||
|
var ShrinkEveryNTurns int32
|
||||||
|
|
||||||
var playCmd = &cobra.Command{
|
var playCmd = &cobra.Command{
|
||||||
Use: "play",
|
Use: "play",
|
||||||
Short: "Play a game of Battlesnake locally.",
|
Short: "Play a game of Battlesnake locally.",
|
||||||
|
|
@ -123,6 +128,13 @@ func init() {
|
||||||
playCmd.Flags().BoolVarP(&ViewMap, "viewmap", "v", false, "View the Map Each Turn")
|
playCmd.Flags().BoolVarP(&ViewMap, "viewmap", "v", false, "View the Map Each Turn")
|
||||||
playCmd.Flags().Int64VarP(&Seed, "seed", "r", time.Now().UTC().UnixNano(), "Random Seed")
|
playCmd.Flags().Int64VarP(&Seed, "seed", "r", time.Now().UTC().UnixNano(), "Random Seed")
|
||||||
playCmd.Flags().Int32VarP(&TurnDelay, "delay", "d", 0, "Turn Delay in Milliseconds")
|
playCmd.Flags().Int32VarP(&TurnDelay, "delay", "d", 0, "Turn Delay in Milliseconds")
|
||||||
|
|
||||||
|
playCmd.Flags().Int32Var(&FoodSpawnChance, "foodSpawnChance", 15, "Percentage chance of spawning a new food every round")
|
||||||
|
playCmd.Flags().Int32Var(&MinimumFood, "minimumFood", 1, "Minimum food to keep on the board every turn")
|
||||||
|
playCmd.Flags().Int32Var(&HazardDamagePerTurn, "hazardDamagePerTurn", 14, "Health damage a snake will take when ending its turn in a hazard")
|
||||||
|
playCmd.Flags().Int32Var(&ShrinkEveryNTurns, "shrinkEveryNTurns", 25, "In Royale mode, the number of turns between generating new hazards")
|
||||||
|
|
||||||
|
playCmd.Flags().SortFlags = false
|
||||||
}
|
}
|
||||||
|
|
||||||
var run = func(cmd *cobra.Command, args []string) {
|
var run = func(cmd *cobra.Command, args []string) {
|
||||||
|
|
@ -181,17 +193,18 @@ func getRuleset(seed int64, snakes []Battlesnake) rules.Ruleset {
|
||||||
var royale rules.RoyaleRuleset
|
var royale rules.RoyaleRuleset
|
||||||
|
|
||||||
standard := rules.StandardRuleset{
|
standard := rules.StandardRuleset{
|
||||||
FoodSpawnChance: 15,
|
FoodSpawnChance: FoodSpawnChance,
|
||||||
MinimumFood: 1,
|
MinimumFood: MinimumFood,
|
||||||
|
HazardDamagePerTurn: 0,
|
||||||
}
|
}
|
||||||
|
|
||||||
switch GameType {
|
switch GameType {
|
||||||
case "royale":
|
case "royale":
|
||||||
standard.HazardDamagePerTurn = 15
|
standard.HazardDamagePerTurn = HazardDamagePerTurn
|
||||||
royale = rules.RoyaleRuleset{
|
royale = rules.RoyaleRuleset{
|
||||||
StandardRuleset: standard,
|
StandardRuleset: standard,
|
||||||
Seed: seed,
|
Seed: seed,
|
||||||
ShrinkEveryNTurns: 10,
|
ShrinkEveryNTurns: ShrinkEveryNTurns,
|
||||||
}
|
}
|
||||||
ruleset = &royale
|
ruleset = &royale
|
||||||
case "squad":
|
case "squad":
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue