如何使用 Node 将 process.stdin 作为 Javascript 传递?

How to pass in process.stdin as Javascript with Node?

我正在 Javascript 中编写一个扑克游戏,它应该采用如下标准输入:

输入的第一行将包含一个表示玩家数量的整数。此数字将始终大于 0 且小于 8。

接下来的 n 行,其中 n 是玩家的数量,将包含一个表示玩家 ID 的整数,后跟三张 space 分隔的卡片,表示属于玩家的手牌。

打印到标准输出的输出将是获胜玩家的 ID。

但我的函数在 Javascript 中,所以...如何将此标准输入转换为整数和对象,如下所示:

function playPoker(n, cardsDealt){
  // functionality
}

const num = 3;
const hands = {
  '0': ['4c,', '5c', '6c'],
  '1': ['Kd', '5d,', '6d'],
  '2': ['Jc', 'Qd,', 'Ks'],
}
playPoker(num, hands);

我像这样玩 process.stdin 但不确定如何将输入解释为 Javascript:

将传入的整数传递给您的 playPoker 函数,然后使用计数循环遍历您的手生成逻辑,将其保存到数组,将数组传回,并使用它生成格式化字符串并确定你的赢家。

const playPoker = num => {
  let i = 1;
  let hands = [];

  if (!isNan(parseInt(num))) {
    while (i <= parseInt(num)) {
      let hand = [];
      // generate your hand
      hands.push(hand);
      i++;
    } 

    return hands;
  } else {
    return 'Not a valid number';
  }
}

process.stdin.on('data', data => {
  const hands = playPoker(data);
  const handsOut = hands.map(h => `${hands.indexOf(h)}: ${h[0]} ${h[1]} ${h[2]}`);
  process.stdout.write(handsOut.toString().replace(',', '\n'));

  let winner;
  // decide winner
  process.stdout.write(winner);
});