//////////////////////////////////////////////////////// ///////////小局类///////////////// var cls_aset2_gp=cls_aset2.NewClass(); //几副牌 cls_aset2_gp.get_cardcount = function(){ return 1; } //初始化牌列表 cls_aset2_gp.initcardlist = function(o_aset){ //几副牌 var card_count = this.get_cardcount(); //牌类 var card_class = this.get_cardclass(); //初始化 for (var i = 1; i <= card_count; i++){ //几副牌 for (var j = 1; j <= 4; j++){ //方块、梅花、红心、黑桃四种花色 for (var k = 1; k <= 13; k++){ //A到K var id = (i - 1) * 54 + (j - 1) * 13 + k - 1; //牌的绝对id //新建一张牌 var card_object = card_class.New(id); o_aset.cardlist.push(card_object); } } //小王 var card_object = card_class.New((i - 1) * 54 + 53 - 1); o_aset.cardlist.push(card_object); //大王 var card_object = card_class.New((i - 1) * 54 + 54 - 1); o_aset.cardlist.push(card_object); } } //每人需要发多少张牌 cls_aset2_gp.get_dealcount = function(o_aset, o_desk){ return 17; } //将牌id列表转换成牌对象列表 cls_aset2_gp.CardIdsToCards = function(o_aset, cardidlist){ var cardlist = []; for (var i = 0; i < cardidlist.length; i++){ if(cardidlist[i]==214||cardidlist[i]==215){ var o_card = o_aset.cardlist[cardidlist[i]-52]; }else{ var o_card = o_aset.cardlist[cardidlist[i]]; } cardlist.push(o_card); } return cardlist; } //设置每张牌的分值 cls_aset2_gp.setcardscore = function(o_aset){ //下面的代码是设置5、10、K分值的例子。类似功能需要在子游戏中重写该方法 for (var i = 0; i < o_aset.cardlist.length; i++){ var o_card = o_aset.cardlist[i]; var card_deal = this.get_cardclass().GetDeal(o_card); if (card_deal != -2){ var card_number = this.get_cardclass().GetNumber(o_card); switch (card_number){ case 5: this.get_cardclass().SetScore(o_card, 5); break; case 10: this.get_cardclass().SetScore(o_card, 10); break; case 13: this.get_cardclass().SetScore(o_card, 10); break; default : this.get_cardclass().SetScore(o_card, 0); break; } } } }