|  | @@ -43,11 +43,57 @@ func readInput(file string) (int, int) {
 | 
											
												
													
														|  |  	return player1, player2
 |  |  	return player1, player2
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +var dice int
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +func roll() int {
 | 
											
												
													
														|  | 
 |  | +	dice++
 | 
											
												
													
														|  | 
 |  | +	return dice
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +func part1(player1, player2 int) int {
 | 
											
												
													
														|  | 
 |  | +	var score1, score2 int
 | 
											
												
													
														|  | 
 |  | +	first := true
 | 
											
												
													
														|  | 
 |  | +	countDice := 0
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +	for {
 | 
											
												
													
														|  | 
 |  | +		if score1 >= 1000 || score2 >= 1000 {
 | 
											
												
													
														|  | 
 |  | +			break
 | 
											
												
													
														|  | 
 |  | +		}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +		if first {
 | 
											
												
													
														|  | 
 |  | +			player1 = (roll() + roll() + roll() + player1) % 10
 | 
											
												
													
														|  | 
 |  | +			if player1 == 0 {
 | 
											
												
													
														|  | 
 |  | +				player1 = 10
 | 
											
												
													
														|  | 
 |  | +			}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +			score1 += player1
 | 
											
												
													
														|  | 
 |  | +			first = false
 | 
											
												
													
														|  | 
 |  | +			countDice += 3
 | 
											
												
													
														|  | 
 |  | +		} else {
 | 
											
												
													
														|  | 
 |  | +			player2 = (roll() + roll() + roll() + player2) % 10
 | 
											
												
													
														|  | 
 |  | +			if player2 == 0 {
 | 
											
												
													
														|  | 
 |  | +				player2 = 10
 | 
											
												
													
														|  | 
 |  | +			}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +			score2 += player2
 | 
											
												
													
														|  | 
 |  | +			first = true
 | 
											
												
													
														|  | 
 |  | +			countDice += 3
 | 
											
												
													
														|  | 
 |  | +		}
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +	if score1 > score2 {
 | 
											
												
													
														|  | 
 |  | +		return score2 * countDice
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +	return score1 * countDice
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  func main() {
 |  |  func main() {
 | 
											
												
													
														|  |  	if len(os.Args) < 2 {
 |  |  	if len(os.Args) < 2 {
 | 
											
												
													
														|  |  		log.Fatal("Please provide a file name as argument")
 |  |  		log.Fatal("Please provide a file name as argument")
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  	player1, player2 := readInput(os.Args[1])
 |  |  	player1, player2 := readInput(os.Args[1])
 | 
											
												
													
														|  | -	fmt.Println(player1, player2)
 |  | 
 | 
											
												
													
														|  | 
 |  | +	dice = 0
 | 
											
												
													
														|  | 
 |  | +	fmt.Println("Part1:", part1(player1, player2))
 | 
											
												
													
														|  |  }
 |  |  }
 |