javascript - Card Counting Function - Stack Overflow

var count = 0;function cc(card) {if (card <= 6){count++;}else if (card >= 10){count--;}else {cou

var count = 0;
function cc(card) {
  if (card <= 6){
    count++;
  }
  else if (card >= 10){
    count--;
  }
  else {
    count += 0;
  } 
  return count;
}

cc(2); 
cc("K"); 
cc(7); 
cc('K'); 
cc('A');

Writing a card counting function in JavaScript. If count <= 0 is should return count + " Hold". If count > 0 it should return count + " Bet". My issue is where do place the return so the function prints these outputs without returning and exiting the function.

var count = 0;
function cc(card) {
  if (card <= 6){
    count++;
  }
  else if (card >= 10){
    count--;
  }
  else {
    count += 0;
  } 
  return count;
}

cc(2); 
cc("K"); 
cc(7); 
cc('K'); 
cc('A');

Writing a card counting function in JavaScript. If count <= 0 is should return count + " Hold". If count > 0 it should return count + " Bet". My issue is where do place the return so the function prints these outputs without returning and exiting the function.

Share Improve this question edited Jan 11, 2016 at 22:17 Mike Cluck 32.5k13 gold badges83 silver badges94 bronze badges asked Jan 11, 2016 at 22:15 Joe IannielloJoe Ianniello 291 gold badge1 silver badge3 bronze badges 3
  • It depends on where you want them returning you can simply console.log(cc(22)); to see the output or set it to a variable var x = cc(22) and the console.log(x) this will print it to your console output do you want it to write it to a page on insert it somewhere on your page? – Jordan Davis Commented Jan 11, 2016 at 22:18
  • return count + (count <= 0 ? " Hold" : " Bet"); – Johan Karlsson Commented Jan 11, 2016 at 22:22
  • Assuming that the example code is a sample and not the actual code and that your writing an app for a browser, you output them to the log as suggested but you could use more of an AJAX approach and modify the DOM elements in question. Either way this function will eventually exit. – Lionel Morrison Commented Jan 11, 2016 at 22:24
Add a ment  | 

10 Answers 10

Reset to default 4

You're nearly there. You simply need to add in the return statements in an if...else... at the end of the function so it will display the result after all the cards have been counted. Also for the cards to be counted correctly(blackjack rules), you have to change the else...if... condition to else if (card <= 9) for String("K") to be counted as -1, like so:

var count = 0;

function cc(card) {
if (card <= 6) {
  count++;
} else if (card <= 9) {
  count += 0;
} else {
  count--;
}
if (count <= 0){
  return count + " Hold"; /* Return here */
} else {
  return count + " Bet";  /* and here */
}

}

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

Create another if statement like this to return the count you want:

if (count <= 0) {
    console.log(count + " Hold");
    //or window.alert("Same text here");
}
else {
    console.log(return count + " Bet");
    //or window.alert("Same text here");
} 

you can place the returns inside the if statements such as:

if (card <=6) {
count++;
return count + " Bet";
} 
else if (card >= 10) {
count--;
return count + " Hold;
}

I'm still only learning, but I encountered this problem in FCC and this is how i solved it.

use the switch

var 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";
  }
  //return "Change Me";
  // Only change code above this line
}

// Add/remove calls to test your function.
// Note: Only the last will display
cc(2); cc(3); cc(7); cc('K'); cc('A');

I've just add the 0 case:

var 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 7:
case 8:
case 9:
  count += 0;
  break;
case 10:
case "J":
case "Q":
case "K":
case "A":
  count--;
  break;
}
if (count > 0){
return count + " Bet";
}else if (count<=0) {
return count + " Hold";
}
}

My answer:

LowValueCards = [2,3,4,5,6];
NoValueCards = [7,8,9];
HighValueCards = [10,"J","Q","K","A"];

if (LowValueCards.includes(card)) 
{
   count += 1;
} 
else if (NoValueCards.includes(card)) 
{
   count += 0;
}
else if (HighValueCards.includes(card))
{
   count -=1;
} 

return count + (count > 0 ? " Bet" : " Hold");

This is how I solved it on FCC.

    var 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 7:
     case 8:
     case 9:
       count = 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
}

// Add/remove calls to test your function.
// Note: Only the last will display
cc(2); cc("J"); cc(9); cc(2); cc(7);

var 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 7:
    case 8:
    case 9:
      break;
      
    case 10:
    case 'J':
    case 'Q':
    case 'K':
    case 'A':
      count--;
      break;
      
  }
  
  
  return  count>0?count + " Bet":count + " Hold";
  // Only change code above this line
}

// Add/remove calls to test your function.
// Note: Only the last will display
cc(2); cc(3); cc(7); cc('K'); cc('A');

var 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 7:
    case 8:
    case 9:
      break;
      
    case 10:
    case 'J':
    case 'Q':
    case 'K':
    case 'A':
      count--;
      break;
      
  }
  
  
  return  count>0?count + " Bet":count + " Hold";
  // Only change code above this line
}

// Add/remove calls to test your function.
// Note: Only the last will display
cc(2); cc(3); cc(7); cc('K'); cc('A');

This is my solution, you can use the ternary operator in the return:)

var 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 7:
    case 8:
    case 9:
      break;
      
    case 10:
    case 'J':
    case 'Q':
    case 'K':
    case 'A':
      count--;
      break;
      
  }
  
  
  return  count>0?count + " Bet":count + " Hold";
  // Only change code above this line
}

// Add/remove calls to test your function.
// Note: Only the last will display
cc(2); cc(3); cc(7); cc('K'); cc('A');

var 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 7:
    case 8:
    case 9:
      break;
      
    case 10:
    case 'J':
    case 'Q':
    case 'K':
    case 'A':
      count--;
      break;
      
  }
  
  
  return  count>0?count + " Bet":count + " Hold";
  // Only change code above this line
}

// Add/remove calls to test your function.
// Note: Only the last will display
cc(2); cc(3); cc(7); cc('K'); cc('A');

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745419195a4626890.html

相关推荐

  • javascript - Card Counting Function - Stack Overflow

    var count = 0;function cc(card) {if (card <= 6){count++;}else if (card >= 10){count--;}else {cou

    9小时前
    40

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信