Build a Card Counting Assistant - Build a Card Counting Assistant

Tell us what’s happening:

Hello everyone,
I’m not quite sure how to phrase my question, but tests 4, 6, 8, and 9 fail, even though my function passes the other tests.

Your code so far

let count = 0;

function cc(card) {

  if (card <= 6 && count > 0) {
    return (count + 1) +" Bet";
  } else if (card <= 6 && count <= 0) {
    return (count + 1) +" Hold";
  } else if (card <= 9 && count > 0) {
    return count + " Bet";
  } else if (card <= 9 && count <= 0) {
    return count + " Hold";
  } else if ((card === 10 || card === "J" || card === "Q" || card === "K" || card === "A") && (count > 0)) {
return count - 1 + " Bet";
  } else if ((card === 10 || card === "J" || card === "Q" || card === "K" || card === "A") && (count <= 0)) {
return count - 1 + " Hold";
  }
}

console.log(cc(6));

Your browser information:

User Agent is: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36

Challenge Information:

Build a Card Counting Assistant - Build a Card Counting Assistant

https://www.freecodecamp.org/learn/full-stack-developer/lab-counting-cards/lab-counting-cards

What are tests 4, 6, 8, and 9?

What specific parts of your code do you think meet those requirements?

you may want to divide card counting from betting, right now your logic is all jumbled up making it difficult to get correct results

thanks all, so for this i just used prefix operand ++ to increment before return:

function cc(card) {

if (card <= 6 && count > 0) {

return ++count +" Bet";

} else if (card <= 6 && count <= 0) {

return ++count +" Hold";

} else if (card <= 9 && count > 0) {

return count + " Bet";

} else if (card <= 9 && count <= 0) {

return count + " Hold";

} else if ((card === 10 || card === “J” || card === “Q” || card === “K” || card === “A”) && (count > 0)) {

return --count + " Bet";

} else if ((card === 10 || card === “J” || card === “Q” || card === “K” || card === “A”) && (count <= 0)) {

return --count + " Hold";

}

}

That’s not a good solution. The logic for incrementing the count and the logic for the return statement should be totally separate

Okay, I’ll separate them for clarity.:ok_hand: