M10c: vem betalar i kiosken och spärrar utan återvändo
All checks were successful
release / build-release (push) Successful in 2m7s
All checks were successful
release / build-release (push) Successful in 2m7s
Björns tillägg 2026-10-24. Med egna kort och fler i sällskapet frågar kiosken vem som betalar (minigame.Payer: kontant, spelarens kort eller en följares kort; den som inte har råd nekas, Esc avbryter). Avgiften dras nu när man passerar spärren in i det betalda området (level.InsideGates), inte på spärrrutan. Banflaggan oneWayGates: incheckad släpps inte ut igen förrän man åkt; Enter vid spärren kallar på personal (10 s) som låser upp korten; ny inpassering kostar igen. På i 005, 007/007b och 008/008b. Skriptkommandon urge och push. Docs, wiki och skärmdumpar uppdaterade. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -32,9 +32,44 @@ func (s *LevelScene) drawMinigame(g *Game, screen *ebiten.Image) {
|
||||
s.drawRide(a, screen, m, panel)
|
||||
case *minigame.CarPick:
|
||||
s.drawCarPick(a, screen, m, panel)
|
||||
case *minigame.Payer:
|
||||
s.drawPayer(a, screen, m, panel)
|
||||
}
|
||||
}
|
||||
|
||||
// drawPayer: vem betalar i kiosken – kontant, spelarens kort eller en
|
||||
// följares kort, med saldon; de som inte har råd i rött.
|
||||
func (s *LevelScene) drawPayer(a *Assets, screen *ebiten.Image, m *minigame.Payer, p image.Rectangle) {
|
||||
x, y := p.Min.X+8, p.Min.Y+8
|
||||
a.DrawBig(screen, "支払い", x, y, colKnown)
|
||||
a.Draw(screen, a.T("mini.payer.title"), x+60, y+2, colText)
|
||||
y += 20
|
||||
a.Draw(screen, fmt.Sprintf(a.T("mini.payer.price"), m.Price), x, y, colDim)
|
||||
y += LineH + 4
|
||||
for i, o := range m.Options {
|
||||
name, kind := o.Name, a.T("mini.payer.card")
|
||||
if o.Cash {
|
||||
name, kind = a.T("mini.payer.cash"), ""
|
||||
}
|
||||
col := colText
|
||||
if !m.CanAfford(i) {
|
||||
col = colBad
|
||||
}
|
||||
if i == m.Cursor {
|
||||
vector.DrawFilledRect(screen, float32(x-2), float32(y+i*LineH-1), 220, LineH, colBar, false)
|
||||
if m.CanAfford(i) {
|
||||
col = colKnown
|
||||
}
|
||||
}
|
||||
a.Draw(screen, fmt.Sprintf("%-8s %5d¥ %s", name, o.Yen, kind), x, y+i*LineH, col)
|
||||
}
|
||||
y += len(m.Options)*LineH + 4
|
||||
if m.Refused {
|
||||
a.Draw(screen, a.T("mini.payer.short"), x, y, colBad)
|
||||
}
|
||||
a.Draw(screen, a.T("mini.payer.hint"), x, p.Max.Y-14, colDim)
|
||||
}
|
||||
|
||||
// drawCarPick: vagnarna i rad, rosa för kvinnovagn, figurer för trängsel,
|
||||
// kömarkeringar under, och en fas där folk kliver av först.
|
||||
func (s *LevelScene) drawCarPick(a *Assets, screen *ebiten.Image, m *minigame.CarPick, p image.Rectangle) {
|
||||
|
||||
Reference in New Issue
Block a user