# Basic JavaScript - Counting Cards

Tell us what’s happening:

I already got the test, but I don’t really how it worked.

I hope I find someone who understands what I’m trying to point out.
Like, I think I know how the cards got calculated, like this:

if we have cards:
K, 8, 2, 3, Q, A

That means, we have:
-1, 0, +1, +1, -1, -1 = -3+2 = -1
==> -1 Hold

But I think, that calculation I did it’s not reflected in the code

OR

Is it that
count++ means adding up all the positive cards, say five of them (2,3,4,5,6) making +5
and
count-- means adding them up also (10, “J”, “Q”, “K”, “A”) making -5

And, by chance, we have mixed cards like 2,7, Q, 5,J how come we got the output 0 Hold

But. this following code doesn’t depicts the calculation:

``````  if (count > 0) {
return count + " Bet";
} else {
return count + " Hold";}
``````

That’s my code below:

``````let count = 0;

function cc(card) {
// Only change code below this line
switch (card) {
case 2:
case 3:
case 4:
case 5:
case 6:
count++;
break;
case 10:
case "J":
case "Q":
case "K":
case "A":
count--;
break;
}
if (count > 0) {
return count + " Bet";
} else {
return count + " Hold";}

}
// Only change code above this line

cc(2); cc(3); cc(7); cc('K'); cc('A');
``````

Challenge: Basic JavaScript - Counting Cards

Hi

The `count` variable is a global variable - it’s defined outside your function.
And the function is called repeatedly.

`console.log(count)`
just before your `if` statement, to see what happens.

Hmm, okay I did, but didn’t get what output means. It’s well.

Anyways, Please can you tell me what this mean on the function:

``````        cc(4), cc("Q"), cc(7)
``````

and all

Thanks.

If you mean

`cc(4); cc("Q"); cc(7);`

then that’s your function being called three times.

The first time, it’s called with `card`=4
`cc(4);`
The second time, it’s called with `card`=“Q”
`cc("Q");`
And the third time, it’s called with `card`=7
`cc(7);`

Okay, so that means

4, Q, 7
= +1-1+0
=0
==> 0 Hold

am I corect Sir?

That’s absolutely correct.

The(global) ` count` variable starts at 0, and each successive call to your function then increments or decrements the count variable based on the card value.

Does that make more sense now?

1 Like