0

I'm calling getNumber with a number from 1 -51 in a card stack, that is representing a card.

But I'm seeing a lot of getNumber results in getting 0 and 1 as value.

For example, card with number 13 would return 0 in getNumber function. while 39 would be 0 .

The 13 would ideally return 13.

How can I make so the getNumber from 1-52 would result in getting the correct value represented? where 14 would be A ( aka 14), and King (13) ?

My code:

 function numbers() { return  ["2","3","4","5", "6", "7", "8", "9", "10", "11", "12", "13", "14"]; }


function suits() { return ["h", "s", "d", "c"]; }

function getSuit(card) {
    return (Math.floor(card / 13));
}
function getNumber(card)
{

    return card - (getSuit(card) * 13);
}
Lajos Arpad
  • 64,414
  • 37
  • 100
  • 175
maria
  • 207
  • 5
  • 22
  • 56

1 Answers1

0

I think you want to get the shortform of a card deck like 2,3,4,5,6,7,8,9,B,D,K,A :

function getNumber(n){
 n=(n-1)%12;
 return ["B","D","K","A"][n-8] || (n+2)+"";
}

for(var i=1;i<=52;i++) console.log(getNumber(i));

http://jsbin.com/wilifevaga/edit?console

Jonas Wilms
  • 132,000
  • 20
  • 149
  • 151