feat: show party members in rankings and result screen

- Add Members field to RunRecord for party member names
- Save all party member names when recording a run
- Display party members in leaderboard (floor/gold tabs)
- Display party members in result screen rankings
- Solo runs show no party info, party runs show "(Alice, Bob, ...)"

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-26 00:03:08 +09:00
parent f28160d4da
commit 087ce31164
5 changed files with 35 additions and 20 deletions

View File

@@ -122,13 +122,14 @@ func (s *GameScreen) Update(msg tea.Msg, ctx *Context) (Screen, tea.Cmd) {
score += p.Gold
}
playerClass := ""
var members []string
for _, p := range s.gameState.Players {
if p.Fingerprint == ctx.Fingerprint {
playerClass = p.Class.String()
break
}
members = append(members, p.Name)
}
ctx.Store.SaveRun(ctx.PlayerName, s.gameState.FloorNum, score, playerClass)
ctx.Store.SaveRun(ctx.PlayerName, s.gameState.FloorNum, score, playerClass, members)
// Check achievements
if s.gameState.FloorNum >= 5 {
ctx.Store.UnlockAchievement(ctx.PlayerName, "first_clear")