こんばんは、ファルコン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があったらそれを削除し、残りの部分を左詰めする関数です。
コメントを残す