tUse player struct to construct the badge/flag strings - scoreboard - Interactive scoreboard for CTF-like games
(HTM) git clone git://git.z3bra.org/scoreboard.git
(DIR) Log
(DIR) Files
(DIR) Refs
---
(DIR) commit d3aeebcb5ccad3ef7c0d1febb9525189d90ed1c0
(DIR) parent 7c6f4cba8dd3a4237b4af377832f24c60c6c794d
(HTM) Author: Willy Goiffon <contact@z3bra.org>
Date: Tue, 1 Oct 2024 15:47:57 +0200
Use player struct to construct the badge/flag strings
Diffstat:
M player.go | 26 ++------------------------
1 file changed, 2 insertions(+), 24 deletions(-)
---
(DIR) diff --git a/player.go b/player.go
t@@ -169,6 +169,7 @@ func (p *Player) FlagStr() string {
func (p *Player) FlagsStr() string {
var flaglist strings.Builder
+ flaglist.WriteString("[-::-]")
for _, f := range p.flags {
flaglist.WriteString(fmt.Sprintf("%s %s\n", f.badge, f.value))
}
t@@ -181,7 +182,6 @@ func (p *Player) FlagsStr() string {
}
return false
}
- flaglist.WriteString("[::-][::d]")
for _, r := range scoreboard.flag_ref {
if !hasflag(p.flags, r) {
flaglist.WriteString(fmt.Sprintf("[::d]%s %64s[::-]\n", r.badge, ""))
t@@ -194,30 +194,8 @@ func (p *Player) FlagsStr() string {
func (p *Player) BadgeStr() string {
var badges strings.Builder
- var flags []Flag
-
- query := `SELECT
- flag.badge, flag.value, flag.score
- FROM flag
- INNER JOIN score ON score.flag = flag.value
- WHERE score.name = ?;`
-
- rows, err := p.db.Query(query, p.name)
- if err != nil {
- return ""
- }
-
- for rows.Next() {
- var f Flag
- err := rows.Scan(&f.badge, &f.value, &f.score)
- if err != nil {
- return ""
- }
- flags = append(flags, f)
- }
-
badges.WriteString("[-::-]\n")
- for n, f := range flags {
+ for n, f := range p.flags {
if n > 0 && n % 8 == 0 {
badges.WriteString("\n")
}