From aeb2700d14c23c175376e2a5749295cd9a5d72c7 Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Sat, 3 Jan 2026 09:59:33 +0300 Subject: Refactor: building binary with no extra --- extra/cluedo.go | 73 --------------------------------------------------------- 1 file changed, 73 deletions(-) delete mode 100644 extra/cluedo.go (limited to 'extra/cluedo.go') diff --git a/extra/cluedo.go b/extra/cluedo.go deleted file mode 100644 index 1ef11cc..0000000 --- a/extra/cluedo.go +++ /dev/null @@ -1,73 +0,0 @@ -package extra - -import ( - "math/rand" - "strings" -) - -var ( - rooms = []string{"HALL", "LOUNGE", "DINING ROOM", "KITCHEN", "BALLROOM", "CONSERVATORY", "BILLIARD ROOM", "LIBRARY", "STUDY"} - weapons = []string{"CANDLESTICK", "DAGGER", "LEAD PIPE", "REVOLVER", "ROPE", "SPANNER"} - people = []string{"Miss Scarlett", "Colonel Mustard", "Mrs. White", "Reverend Green", "Mrs. Peacock", "Professor Plum"} -) - -type MurderTrifecta struct { - Murderer string - Weapon string - Room string -} - -type CluedoRoundInfo struct { - Answer MurderTrifecta - PlayersCards map[string][]string -} - -func (c *CluedoRoundInfo) GetPlayerCards(player string) string { - // maybe format it a little - return "cards of " + player + "are " + strings.Join(c.PlayersCards[player], ",") -} - -func CluedoPrepCards(playerOrder []string) *CluedoRoundInfo { - res := &CluedoRoundInfo{} - // Select murder components - trifecta := MurderTrifecta{ - Murderer: people[rand.Intn(len(people))], - Weapon: weapons[rand.Intn(len(weapons))], - Room: rooms[rand.Intn(len(rooms))], - } - // Collect non-murder cards - var notInvolved []string - for _, room := range rooms { - if room != trifecta.Room { - notInvolved = append(notInvolved, room) - } - } - for _, weapon := range weapons { - if weapon != trifecta.Weapon { - notInvolved = append(notInvolved, weapon) - } - } - for _, person := range people { - if person != trifecta.Murderer { - notInvolved = append(notInvolved, person) - } - } - // Shuffle and distribute cards - rand.Shuffle(len(notInvolved), func(i, j int) { - notInvolved[i], notInvolved[j] = notInvolved[j], notInvolved[i] - }) - players := map[string][]string{} - cardsPerPlayer := len(notInvolved) / len(playerOrder) - // playerOrder := []string{"{{user}}", "{{char}}", "{{char2}}"} - for i, player := range playerOrder { - start := i * cardsPerPlayer - end := (i + 1) * cardsPerPlayer - if end > len(notInvolved) { - end = len(notInvolved) - } - players[player] = notInvolved[start:end] - } - res.Answer = trifecta - res.PlayersCards = players - return res -} -- cgit v1.2.3