Golf Code - stuck over par, which is usually my score

Golf Code - stuck over par, which is usually my score
0

#1

Okay, so I think I have a decent grasp on this, but I was curious where I may have gone wrong…

function golfScore(par, strokes) {
  // Only change code below this line
  if (strokes == 1) {
    return "Hole in one!";
  }
  else if (strokes <= par -2) {
    return "Eagle";
  }
  else if (strokes <= par -1) {
    return "Birdie";
  }
  else if (strokes == par) {
    return "Par";
  }
  else if (strokes >= par +1) {
    return "Bogey";
  }
  else if (strokes >= par +2) {
    return "Double Bogey";
  }
  else if (strokes >= par +3) {
    return "Go Home!";
  }
  
  return "Change Me";
  // Only change code above this line
}

// Change these values to test
golfScore(5, 4);

#2
  else if (strokes >= par +1) {
    return "Bogey";
  }
  else if (strokes >= par +2) {
    return "Double Bogey";
  }
  else if (strokes >= par +3) {
    return "Go Home!";
  }

What happens if par is 3 and strokes is 5? It should return Double Bogey, but since strokes >= par +1 results in true, it will actually return “Bogey”. Without ever getting to the other tests.

Besides that Hole in one! should be Hole-in-one!


#3

I had “Hole-in-one!” spelled incorrectly, but now I can’t get “Go Home!” to produce :confused:


#4

I got it! Sailing through these pretty good now.