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:
@@ -409,3 +409,32 @@ func TestRideCrowdLetPass(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestPayerPicksSourceAndRefusesPoor(t *testing.T) {
|
||||
opts := []PayOption{{Cash: true, Yen: 100}, {Name: "Du", Yen: 50}, {Name: "Anna", Member: 1, Yen: 400}, {Name: "Ville", Member: 2, Yen: 0}}
|
||||
g := NewPayer(300, opts)
|
||||
if g.Cursor != 2 {
|
||||
t.Fatalf("markören ska stå på första som har råd, står på %d", g.Cursor)
|
||||
}
|
||||
g.Update(Input{MoveX: 1}, 0) // Ville: har inte råd
|
||||
g.Update(Input{Confirm: true}, 0)
|
||||
if g.Done() || !g.Refused {
|
||||
t.Fatal("den som inte har råd ska nekas utan att köpet avslutas")
|
||||
}
|
||||
g.Update(Input{MoveX: -1}, 0)
|
||||
if g.Refused {
|
||||
t.Fatal("att flytta markören nollställer nekandet")
|
||||
}
|
||||
g.Update(Input{Confirm: true}, 0)
|
||||
if !g.Done() || !g.Success() || g.Chosen == nil || g.Chosen.Name != "Anna" || g.Chosen.Member != 1 {
|
||||
t.Fatalf("Anna ska betala: %+v", g.Chosen)
|
||||
}
|
||||
h := NewPayer(300, opts)
|
||||
h.Update(Input{Cancel: true}, 0)
|
||||
if !h.Done() || h.Success() || h.Chosen != nil {
|
||||
t.Fatal("Esc avbryter utan köp")
|
||||
}
|
||||
if NewPayer(1000, opts).Cursor != 0 {
|
||||
t.Fatal("utan någon som har råd står markören först")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user