ブラックジャック、初めのディール
昨日はトランプのカードを表示させるコードを書いたので、今日はブラックジャックの手順中一番初めに行われる、ディーラーとプレイヤーへのカードのディールを作りました。このあたりは以前作ったのですが、画像の表示に手間取っているうちにいろいろ修正をしております。
本来、ブラックジャックは一つのテーブルに複数のプレイヤーが座るのですが、今回はとりあえずディーラーとプレイヤーの一対一となっております。まあ、それで基本的には変わりませんし。
ブラックジャックではまずプレイヤーとディーラーに二枚ずつカードが配られます。ディーラーのカードは一枚伏せられた状態、プレイヤーのカードは全て開かれた状態で配られます。今回はカードをmarkとnumberという二つのメンバをもったオブジェクトとして表し、それをplayerとdealerというオブジェクト型配列(という呼び方はJavaScriptでは意味がないのでしょうが)にpushするところまで作ります。
以下が今日書いたコードです。
function Card(mark,number){ this.mark = mark; this.number = number; } //mark,numberをメンバとするCardオブジェクトを定義 function deal(){ var mark; var number; mark = Math.floor(Math.random() * 4); //markをランダムに作成 number = Math.ceil(Math.random() * 13); //numberを以下略 var _card = new Card(mark,number); //ランダムなカードを作成 return _card; //Cardオブジェクトを返す } function firstDeal(player,dealer){ var Players = [player,dealer]; //配列型配列を作ることで手間が省ける var i; var j; for(i = 0;i<2;i++){ for(j = 0;j<2;j++){ var card = deal(); Players[i].push(card); //player,dealer配列にCardオブジェクトをpush } } } $(function(){ var player = new Array(); var dealer = new Array(); firstDeal(player,dealer); });
実際にはディールされるカードはランダムではなくデッキに残っているカードしかディールされないので、deal関数あたりは要修正なのですが、今日はここまでにしておきます。