M5: minikarta med dimma, riktmärken och avgångslista
All checks were successful
release / build-release (push) Successful in 1m40s
All checks were successful
release / build-release (push) Successful in 1m40s
- sim.Fog: avslöjar tre gångsteg från spelaren plus gränsande väggar (ser längs gången, inte genom väggen); riktmärken (perronger, start, spärrar) syns alltid; Explored ger utforskad andel; nollställs per omgång - game/minimap: 1–3 px per ruta i det hörn som varken täcker inforutan eller spelaren, perrong vit när tåget är inne, spelaren blinkar, följarna i sina toner, avgångslista per spår (● inne / ○ kommer); M döljer/visar - resultatskärmen visar utforskad andel och antal försörjda; layout justerad - docs/README/wiki uppdaterade Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -70,6 +70,9 @@ type Run struct {
|
||||
LearnedDest []string // resmålets ord som lärdes in tack vare bra resultat
|
||||
parSec float64
|
||||
|
||||
// Minikartans dimma: vad spelaren sett i den här omgången.
|
||||
Fog *Fog
|
||||
|
||||
// Sällskapet (lämmeltåget) och pågående toalettbesök.
|
||||
Party *Party
|
||||
Facility FacilityState
|
||||
@@ -142,7 +145,9 @@ func NewRun(l *level.Level, o RunOptions) *Run {
|
||||
Party: NewParty(l.Party, l.SpawnPoint(), o.Seed.Derive("party")),
|
||||
baseSpeed: o.Speed,
|
||||
NoticeAt: -1,
|
||||
Fog: NewFog(l, FogRadius),
|
||||
}
|
||||
r.Fog.Reveal(l, l.SpawnPoint())
|
||||
if r.parSec <= 0 {
|
||||
n := len(l.Path(l.SpawnPoint(), l.CorrectPlatform(), l.CanEnter))
|
||||
r.parSec = float64(max(0, n-1))*ParSecPerTile + ParSlackSec
|
||||
@@ -196,6 +201,7 @@ func (r *Run) Step(dt float64, want Dir, board bool) {
|
||||
r.Steps += r.Player.Step(dt, want, r.CanEnter)
|
||||
if r.Player.Tile != before {
|
||||
r.Party.OnLeaderArrived(r.Player.Tile)
|
||||
r.Fog.Reveal(r.Level, r.Player.Tile)
|
||||
}
|
||||
logged := len(r.Party.Log)
|
||||
r.Party.Advance(dt, r.Time)
|
||||
|
||||
Reference in New Issue
Block a user