package main import ( "bufio" "fmt" "os" "aoc2022/day02/common" ) func Parse(scanner bufio.Scanner) []common.Round { rounds := []common.Round{} for scanner.Scan() { line := scanner.Text() var round common.Round switch line { case "A X": round = common.Round{Opponent: common.Rock, Response: common.Scissor} case "A Y": round = common.Round{Opponent: common.Rock, Response: common.Rock} case "A Z": round = common.Round{Opponent: common.Rock, Response: common.Paper} case "B X": round = common.Round{Opponent: common.Paper, Response: common.Rock} case "B Y": round = common.Round{Opponent: common.Paper, Response: common.Paper} case "B Z": round = common.Round{Opponent: common.Paper, Response: common.Scissor} case "C X": round = common.Round{Opponent: common.Scissor, Response: common.Paper} case "C Y": round = common.Round{Opponent: common.Scissor, Response: common.Scissor} case "C Z": round = common.Round{Opponent: common.Scissor, Response: common.Rock} } rounds = append(rounds, round) } return rounds } func main() { rounds := Parse(*bufio.NewScanner(os.Stdin)) fmt.Println(common.GetTotalScore(rounds)) }