M11: oändligt läge och New Game+
All checks were successful
release / build-release (push) Successful in 1m34s
All checks were successful
release / build-release (push) Successful in 1m34s
internal/endless lottar mål ur en seed: en av storyns nätkopplade stationer (aldrig samma två gånger i rad) med ett resmål som minst ett tåg går rakt till men inte alla; banan kopieras, bedöms om mot nätet, sällskapet växer var tredje mål och tidsgränsen krymper. O på bankartan (eller -endless) startar en omgång; klarade mål ger poäng och XP, Enter ger nästa mål, förlust eller Esc avslutar och omgången hamnar i sparfilens poänglista (fem bästa). G två gånger startar New Game+: items, banresultat, pengar och debuffar nollställs, skills, XP och japanskan behålls, sällskapet är en person större per varv. Docs, wiki, tester och skärmdumpar uppdaterade. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -76,3 +76,19 @@ func TestDefaultPath(t *testing.T) {
|
||||
t.Fatalf("path=%q err=%v", p, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestEndlessRecords(t *testing.T) {
|
||||
s := New()
|
||||
if s.BestEndless() != nil {
|
||||
t.Fatal("tom lista")
|
||||
}
|
||||
if !s.AddEndless(EndlessRecord{Score: 100, Goals: 1}) || s.AddEndless(EndlessRecord{Score: 50, Goals: 1}) || !s.AddEndless(EndlessRecord{Score: 300, Goals: 3}) {
|
||||
t.Fatal("ny bästa ska rapporteras bara när poängen slår listans topp")
|
||||
}
|
||||
for i := 0; i < 10; i++ {
|
||||
s.AddEndless(EndlessRecord{Score: 10 + i})
|
||||
}
|
||||
if len(s.Endless) != MaxEndlessRecords || s.BestEndless().Score != 300 || s.Endless[1].Score != 100 {
|
||||
t.Fatalf("listan: %+v", s.Endless)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user