I'm wondering if it's possible to do something like the code below... obviously I haven't found the right way to do it so I'm looking for a corrections.
What I'm trying to do is go through a variable that contains all our players' best scores on each of the 18 holes on our course in order to count all types of scores for each hole.
The code doesn't return anything yet, that's normal, it's because what I wrote doesn't seem to work at all :
#Define Pars
$par1 = [int]4
$par2 = [int]5
$par3 = [int]4
$par4 = [int]3
$par5 = [int]4
$par6 = [int]4
$par7 = [int]3
$par8 = [int]5
$par9 = [int]4
$par10 = [int]4
$par11 = [int]4
$par12 = [int]5
$par13 = [int]4
$par14 = [int]3
$par15 = [int]4
$par16 = [int]3
$par17 = [int]4
$par18 = [int]5
#Set score type counts to 0
$hole = [int]1
while ($hole -in 1..18) {
$albatrosCount[$hole] = [int]0
$eagleCount[$hole] = [int]0
$birdieCount[$hole] = [int]0
$parCount[$hole] = [int]0
$bogeyCount[$hole] = [int]0
$doublebogeyCount[$hole] = [int]0
$worseCount[$hole] = [int]0
$hole = $hole + 1
}
#Collect statistics
foreach ($entry in $eclecticResults) {
$statsList = "" | Select-Object "Type","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","Totals"
#albatros
$hole = [int]1
while ($hole -in 1..18) {
$albatrosCount[$hole] = $albatrosCount[$hole] + $albatrosCount[$hole]
if ($entry.$hole -eq $par[$hole] - 3) {$albatrosCount[$hole] = $albatrosCount[$hole] + 1}
$hole = $hole + 1
}
#eagle
$hole = [int]1
while ($hole -in 1..18) {
$eagleCount[$hole] = $eagleCount[$hole] + $eagleCount[$hole]
if ($entry.$hole -eq $par[$hole] - 2) {$eagleCount[$hole] = $eagleCount[$hole] + 1}
$hole = $hole + 1
}
#birdie
$hole = [int]1
while ($hole -in 1..18) {
$birdieCount[$hole] = $birdieCount[$hole] + $birdieCount[$hole]
if ($entry.$hole -eq $par[$hole] - 1) {$birdieCount[$hole] = $birdieCount[$hole] + 1}
$hole = $hole + 1
}
#par
$hole = [int]1
while ($hole -in 1..18) {
$parCount[$hole] = $parCount[$hole] + $parCount[$hole]
if ($entry.$hole -eq $par[$hole]) {$parCount[$hole] = $parCount[$hole] + 1}
$hole = $hole + 1
}
#bogey
$hole = [int]1
while ($hole -in 1..18) {
$bogeyCount[$hole] = $bogeyCount[$hole] + $bogeyCount[$hole]
if ($entry.$hole -eq $par[$hole] + 1) {$bogeyCount[$hole] = $bogeyCount[$hole] + 1}
$hole = $hole + 1
}
#doublebogey
$hole = [int]1
while ($hole -in 1..18) {
$doublebogeyCount[$hole] = $doublebogeyCount[$hole] + $doublebogeyCount[$hole]
if ($entry.$hole -eq $par[$hole] + 2) {$doublebogeyCount[$hole] = $doublebogeyCount[$hole] + 1}
$hole = $hole + 1
}
#worse
$hole = [int]1
while ($hole -in 1..18) {
$worseCount[$hole] = $worseCount[$hole] + $worseCount[$hole]
if ($entry.$hole -gt $par[$hole] + 2) {$worseCount[$hole] = $worseCount[$hole] + 1}
$hole = $hole + 1
}
}
How can I use "$hole" to name variables so I don't have to "while" 18 times per type and per entry ?
$par1 ... $par18when an array with 18 elements is a better fit. And why is it always$xxxCount[$hole] = $xxxCount[$hole] + $xxxCount[$hole]? And what is in$eclecticResults? Why so manywhiles when one would be sufficent?group-objectit than hand-counting all the scores in a bunch ofwhileloops…