JavaScript 扑克牌十三张发牌

Unicode 符号、显示扑克牌四个花色,梅花 (CloverClubs)、砖块 (Diamonds)、红心 (Hearts)、黑桃 (Spades)。

十三张扑克发牌

十三张扑克游戏发牌、发牌以四人一桌,每人发 13 张牌。洗牌后可以切牌,接着发牌者由牌堆中任意翻出一张牌,由翻出之牌中的数字来决定由四桌之「北东南西」那一家先发牌,对家为北其边右为东,一般以逆时针方向开始发牌,扑克牌分为黑桃、红桃、梅花、方块四种花色,其中的花色大小依次排列黑桃「大于」红桃、而红桃「大于」梅花、梅花则「大于」方块。将五十二张牌平均分给各参与者,每人发十三张牌。将手中十三支牌依技巧分为头墩三张、中墩五张、尾墩五张。

使用 Unicode 特殊符号表示扑克十三支发牌,十三张扑克牌盛行于华人地区其玩法因区域会不同有些不同之规则,JavaScript 扑克牌十三张发牌只应用发牌,尚未无法支持计算牌中的各式各样组合算计、因为复杂度颇高。


Source_Poker 阵列中五十二张牌,保存 Unicode 符号字元代码,黑桃、红桃、梅花、方块四种花色及 1 到 13 数字。

let Source_Poker = [
  ["127137", "C", 1], ["127138", "C", 2], ["127139", "C", 3], ["127140", "C", 4], ["127141", "C", 5], ["127142", "C", 6], ["127143", "C", 7], ["127144", "C", 8], ["127145", "C", 9], ["127146", "C", 10], ["127147", "C", 11], ["127149", "C", 12], ["127150", "C", 13],
  ["127153", "D", 1], ["127154", "D", 2], ["127155", "D", 3], ["127156", "D", 4], ["127157", "D", 5], ["127158", "D", 6], ["127159", "D", 7], ["127160", "D", 8], ["127161", "D", 9], ["127162", "D", 10], ["127163", "D", 11], ["127165", "D", 12], ["127166", "D", 13],
  ["127169", "H", 1], ["127170", "H", 2], ["127171", "H", 3], ["127172", "H", 4], ["127173", "H", 5], ["127174", "H", 6], ["127175", "H", 7], ["127176", "H", 8], ["127177", "H", 9], ["127178", "H", 10], ["127179", "H", 11], ["127181", "H", 12], ["127182", "H", 13],
  ["127185", "S", 1], ["127186", "S", 2], ["127187", "S", 3], ["127188", "S", 4], ["127189", "S", 5], ["127190", "S", 6], ["127191", "S", 7], ["127192", "S", 8], ["127193", "S", 9], ["127194", "S", 10], ["127195", "S", 11], ["127197", "S", 12], ["127198", "S", 13]
  ];
let dealingPoker = function () {
  // 五十二张牌重新洗牌
  for (let i = 0; i < 600; i++) {
    let j = parseInt(Math.random() * 52);
    let k = parseInt(Math.random() * 52);
    let t = Source_Poker[j];
    Source_Poker[j] = Source_Poker[k];
    Source_Poker[k] = t;
  }
  // 给玩家发十三张牌,使用 Array 阵列
  let DealingPoker = [],
    cardImages = "";
  for (let i = 1; i <= 13; i++) {
    DealingPoker.push(Source_Poker[i]);
  };
  DealingPoker.sort();
  DealingPoker.sort(function (a, b) {
    return a[2] - b[2];
  });
  // 使用 Unicode 特殊符号字元、建立扑克牌图形输出
  for (let i = 0; i < DealingPoker.length; i++) {
    if (DealingPoker[i][1] == "D" || DealingPoker[i][1] == "H") {
      let dClass = " class='R'";
    } else {
      let dClass = "";
    }
    cardImages += ("<span" + dClass + ">&#" + DealingPoker[i][0] + ";</span>");
  };
  document.getElementById("cardsDrawing").innerHTML = cardImages;
};
const btn = document.getElementById("dealing_13_Poker");
btn.addEventListener("click", dealingPoker, false);

Unicode 符号是并非用以键盘输入书写文字,但可用于文字上的 Unicode 字元。国际性标准 Unicode 符号的编码是持续进行的过程,随着不同领域和文化的需求和发展,Unicode 标准会不断地增加新的符号或修改现有的符号。Unicode 标准也会提供机制来支援更多的符号,以创造出更多的可能性。