目录结构调整

This commit is contained in:
2026-02-04 23:47:45 +08:00
parent 6938c911c3
commit 6b22238c6e
8780 changed files with 15333 additions and 574 deletions

View File

@@ -0,0 +1,77 @@
var module_const = module_const || {};
//-------------------------------------
//常量单元
//
//--------------------------------------
module_const.pairs = 2;//几副牌
module_const.playerCnt = 3;//玩家数量
var CARDTYPE = {
cone:1,//单牌A
ctwo:2,//双牌 AA
cthree:3,//三牌AAA
cboom4:4,//炸弹(4)
cboom5:5,//炸弹(5)
cboom6:6,//炸弹(6)
cboom7:7,//炸弹(7)
cboom8:8,//炸弹(8)
csgllink5:9,//单顺(5)
csgllink6:10,//单顺(6)
csgllink7:11,//单顺(7)
csgllink8:12,//单顺(8)
csgllink9:13,//单顺(9)
csgllink10:14,//单顺(10)
csgllink11:15,//单顺(11)
csgllink12:16,//单顺(12)
cdbllink2:17,//双顺(2)
cdbllink3:18,//双顺(3)
cdbllink4:19,//双顺(4)
cdbllink5:20,//双顺(5)
cdbllink6:21,//双顺(6)
cdbllink7:22,//双顺(7)
cdbllink8:23,//双顺(8)
cdbllink9:24,//双顺(9)
cdbllink10:25,//双顺(10)
cdbllink11:26,//双顺(11)
cdbllink12:27, //双顺(12)
ctrblink2:28,//三顺(2)
ctrblink3:29,//三顺(3)
ctrblink4:30,//三顺(4)
ctrblink5:31,//三顺(5)
ctrblink6:32,//三顺(6)
ctrblink7:33,//三顺(7)
ctrblink8:34,//三顺(8)
ctrblink9:35,//三顺(9)
ctrblink10:36,//三顺(10)
ctrblink11:37,//三顺(11)
ctrblink12:38,//三顺(12)
cboom510K1:39,//单510K牌型
cboom510K3:40,//三510K牌型
cboom510K4:41,//四510K牌型
cboom510K5:42,//五510K牌型
cboomjoker3:43,//三张王
cboomjoker4:44,//四张王
};
module_const.TAG = {
sde:0,//单牌位
beg:1,//起始位
mid:2,//中间位
end:3,//结束位
lnk:4,//连牌位
};

View File

@@ -0,0 +1,9 @@
var module_data = module_data || {};
module_data.handsCardInfo = null;//用于存储当前手牌的info

View File

@@ -0,0 +1,132 @@
var module_card = module_card || {};
//--------------------------
//牌定义
// id -> 牌的绝对id
// score -> 牌的分值
// dealowner -> 发牌到谁手中
// playround -> 第几轮打出去的牌
//--------------------------
//实例化一张牌
module_card.new = function(id,score){
try{
var card = {};
card.method = {};
//牌属性
card.id = id;
card.score = score;
card.dealowner = -1;
card.playround = -1;
//card.logicNumber = -1;
//console.log(arguments);
card.method.getFlower = function(){
return module_card.getFlower(card);
}
card.method.getNumber = function(){
return module_card.getNumber(card);
}
card.method.setPlayRound = function(_round){
return module_card.setPlayRound(card,_round);
}
for(var key in module_rule.card_prototype){
//card.method.getPrototype = function(key) {return card[key]} ;
if(module_util.isArray(module_rule.card_prototype[key])){
card[key] = [];
card[key].length = module_rule.card_prototype[key].length;
for(var i=0;i < module_rule.card_prototype[key].length;i++){
card[key][i] = module_rule.card_type[key][module_card.getPrototypeIndex(card.id)][i];
}
}else{
card[key] = module_rule.card_type[key][module_card.getPrototypeIndex(card.id)];
}
}
return card;
}catch(e){
var _msg = {};
_msg.id = id;
_msg.score = score;
_msg.func = "module_card.new";
_msg.spyzuobiao = spyzuobiao;
_msg.chshoupai = chshoupai;
_msg.zshu = zshu;
_msg.bijiao = bijiao;
_msg = JSON.stringify(_msg);
module_util.submitError(_msg,e.stack);
}
}
//通过牌id列表生成card对象列表
module_card.convertIdListToObjectList = function(_cardIdList){
var o_card_list = [];
for(var i=0;i<_cardIdList.length;i++){
var _id = _cardIdList[i];
var _score = module_algorithm.convertIdToScore(_cardIdList[i]);
o_card_list.push(module_card.new(_id,_score));
}
return o_card_list;
}
//获得花色
module_card.getFlower = function(o_card){
var rt = o_card.id % 54;
if (rt == 52 || rt == 53){ //小王大王
return 5;
}
return parseInt(rt / 13) + 1;
}
//获得数值
module_card.getNumber = function(o_card){
var rt = o_card.id % 54;
if (rt == 52){ //小王
return 53;
}
if (rt == 53){ //大王
return 54;
}
return rt % 13 + 1;
}
//获得id所在数组的下标位置
module_card.getPrototypeIndex = function(_id){
var rt = _id % 54;
if (rt == 52){ //小王
return 13;
}
if (rt == 53){ //小王
return 14;
}
return rt % 13;
}
//设置牌的出牌轮数
module_card.setPlayRound = function(o_card,_round){
o_card.playround = _round;
}

View File

@@ -0,0 +1,62 @@
var module_rule = module_rule || {};
//----------------------------------
//牌规则定义
//----------------------------------
//需要添加到牌类中的属性值和默认值
module_rule.card_prototype = {
link:[0,0],
link510K:[0,0],
};
//牌型定义(从A到大王A,2,3,4,5,6,7,8,9,10,J,Q,K,小王,大王)若无此属性填0
//[type,level]
module_rule.card_type = {
link:[[3,12],[1,22],[3,1],[3,2],[3,3],[3,4],[3,5],[3,6],[3,7],[3,8],[3,9],[3,10],[3,11],[2,24],[2,25]],
link510K:[[0,0],[0,0],[0,0],[0,0],[1,1],[0,0],[0,0],[0,0],[0,0],[1,2],[0,0],[0,0],[1,3],[0,0],[0,0]],
};
//实际牌大小
module_rule.card_order = {
order:[14,16,3,4,5,6,7,8,9,10,11,12,13,53,54],
};
//牌型定义addition
module_rule.card_addition = {
//此属性的连牌是否可以带
type_0:[0],
type_1:[0],
type_2:[0],
type_3:[1],
addtion:[[3,2]],//[牌张数,可以带的牌数]
};
//牌比较规则
module_rule.card_compare = {
};

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,57 @@
var module_util = module_util || {};
//判断是否为数组
module_util.isArray = function(o){
return Object.prototype.toString.call(o)=='[object Array]';
}
//拷贝数组
module_util.deepcopy = function(obj) {
var out = [],i = 0,len = obj.length;
for (; i < len; i++) {
if (obj[i] instanceof Array){
out[i] = module_util.deepcopy(obj[i]);
}
else out[i] = obj[i];
}
return out;
}
//对象克隆
module_util.clone = function(myObj){
if(typeof(myObj) != 'object') return myObj;
if(myObj == null) return myObj;
var myNewObj = new Object();
for(var i in myObj)
myNewObj[i] = module_util.clone(myObj[i]);
return myNewObj;
}
module_util.removeItemFromArray = function(_array,_id){
var index = _array.indexOf(_id);
if(index>-1){
var id = _array.splice(index,1);
return id;
}else{
return null;
}
}
module_util.submitError = function(_msg,error){
//console.log("submitError");
//console.log(_msg);
//console.log(error);
Net.submit_error(_msg,error);
}

View File

@@ -0,0 +1,9 @@
var module_desk = module_desk || {};
//class Player {
//constructor (){
//}
//}