78 lines
2.1 KiB
JavaScript
78 lines
2.1 KiB
JavaScript
////////////////////////////////////////////////////////
|
|
///////////小局类/////////////////
|
|
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;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|