初心者プログラミング 七並べ – 最初に7を場に出す –

こんばんは、ファルコンM です。

初心者プログラミング 七並べシリーズの第2回です。

七並べの場合は、カードを配り終わった後、自動的に最初に7を場に出します。

このゲームは、「開始」を押した後、自動的にカードを配り、7を場に出すようにします。

最初に7を場に出す

4人が手札を持っていて、7だけ場に出した状態です。その時の、プログラムは以下。

<!-- 開始ボタン押し -->
$("#start").on("click", function(){
  --- 略 ---
  <!-- 7 のカードを場に出す -->
  for(var i=0; i<4; i++){
    cardChk7(i);
  }
  for(var i=0; i<4; i++){
    displayCardNum(i*13+6);
  }
  --- 略 ---
});

<!-- 数字の7 を検索し、7 を捨てる -->
function cardChk7(idx){
  var arr = handcard[idx];
  var num = arr.length;
  for( var i=0; i<num; i++ ){
    if( arr[i] % 13 == 6){
      <!-- 数値が7 の場合 -->
      arr[i] = -1;
    }
  }
  cardSride(idx);
}

<!-- 指定番号のカードを表示する -->
function displayCardNum(x){
  var posStr = '#cardnum' + x;
  $(posStr).css("visibility","visible");
}

開始ボタン押し

プレイヤー1人とコンピューター3人で、4回ループを回し、cardChk7 関数を呼びます。その後、displayCardNum でカードを表示します。引数は、6、19、33、46 を指定します。これらは、数値の7を表してます。( 0~12 ハート、13~25 スペード、26~38 ダイヤ、39~51 ダイヤ )

詳しくは、前回の記事を参照。

数値の7を検索し、捨てる

cardChk7 関数の処理です。handcard[i] はi番目の人( 0 プレイヤー、1~3 コンピューター ) の手札です。手札を全検索し、7の場合は、その値を-1にします。arr[i] を13で割った余りが6だったら、数値の7を表しています。

cardSride 関数は、handcard[i] で-1があったらそれを削除し、残りの部分を左詰めする関数です。


アルゴリズム図鑑 絵で見てわかる26のアルゴリズム


アルゴリズムを、はじめよう

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする