You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
862 B
PowerShell
66 lines
862 B
PowerShell
# A = Rock
|
|
# B = Paper
|
|
# C = Scissors
|
|
|
|
# Rock 1 points
|
|
# Paper 2 points
|
|
# Scissors 3 points
|
|
|
|
# X = Loss 0 points
|
|
# Y = Draw 3 points
|
|
# Z = Win 6 points
|
|
|
|
|
|
$scoring = @{
|
|
rock = 1
|
|
paper = 2
|
|
scissors = 3
|
|
|
|
X = 0
|
|
Y = 3
|
|
Z = 6
|
|
}
|
|
|
|
$shapes = @{
|
|
# rock
|
|
A = @{
|
|
# loss
|
|
X = 'scissors'
|
|
# draw
|
|
Y = 'rock'
|
|
# win
|
|
Z = 'paper'
|
|
}
|
|
# paper
|
|
B = @{
|
|
# loss
|
|
X = 'rock'
|
|
# draw
|
|
Y = 'paper'
|
|
# win
|
|
Z = 'scissors'
|
|
}
|
|
# scissors
|
|
C = @{
|
|
# loss
|
|
X = 'paper'
|
|
# draw
|
|
Y = 'scissors'
|
|
# win
|
|
Z = 'rock'
|
|
}
|
|
}
|
|
|
|
|
|
$points = 0
|
|
|
|
Get-Content input
|
|
| ForEach-Object {
|
|
$shape,$result = $_.Split(' ')
|
|
|
|
$points += $scoring.($shapes.$shape.$result)
|
|
$points += $scoring.$result
|
|
}
|
|
|
|
$points
|