DEV 1303: Add empty and royale maps and update game map interface (#72)
* move random generator into Settings * add empty and royale maps * place snakes on either cardinal or corner positions first
This commit is contained in:
parent
6fa2da2f01
commit
e94d758a9b
12 changed files with 479 additions and 52 deletions
|
|
@ -191,3 +191,26 @@ func TestStageFuncContract(t *testing.T) {
|
|||
require.NoError(t, err)
|
||||
require.True(t, ended)
|
||||
}
|
||||
|
||||
func TestRulesetBuilderGetRand(t *testing.T) {
|
||||
var seed int64 = 12345
|
||||
var turn int32 = 5
|
||||
ruleset := rules.NewRulesetBuilder().WithSeed(seed).PipelineRuleset("example", rules.NewPipeline(rules.StageGameOverStandard))
|
||||
|
||||
rand1 := ruleset.Settings().GetRand(turn)
|
||||
|
||||
// Should produce a predictable series of numbers based on a seed
|
||||
require.Equal(t, 80, rand1.Intn(100))
|
||||
require.Equal(t, 94, rand1.Intn(100))
|
||||
|
||||
// Should produce the same number if re-initialized
|
||||
require.Equal(
|
||||
t,
|
||||
ruleset.Settings().GetRand(turn).Intn(100),
|
||||
ruleset.Settings().GetRand(turn).Intn(100),
|
||||
)
|
||||
|
||||
// Should produce a different series of numbers for another turn
|
||||
require.Equal(t, 22, rand1.Intn(100))
|
||||
require.Equal(t, 16, rand1.Intn(100))
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue