Files
youlegames/codes/games/server/games/Doudizhu/method/method.ddz.time.js
2026-02-04 23:47:45 +08:00

200 lines
5.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
var cls_method_doudizhu = cls_method_doudizhu || {};
//获取时间
cls_method_doudizhu.get_time = function(){
var data = new Date();
var hour = data.getHours();
var min = data.getMinutes();
var sec = data.getSeconds();
//小时
if(hour<10){
hour = "0"+hour;
}
//分钟
if(min<10){
min = "0"+min;
}
//秒
if(sec<10){
sec = "0"+sec;
}
var time =min_day()+" "+hour+":"+min+":"+sec;
return time ;
}
//先手出牌
cls_method_doudizhu.start_card = function(){
}
//对象克隆 使数组相等
cls_method_doudizhu.clone = function(myObj){
return JSON.parse(JSON.stringify(myObj));
}
//判断是否为数组
cls_method_doudizhu.isArray = function(o){
return Object.prototype.toString.call(o)=='[object Array]';
}
// 数字排序
// _list:需要排序的一维数组
// mode:是否从小到大(true or 1:从小到大 false、0 or 不填:从大到小)
cls_method_doudizhu.sortArray = function(_list,mode){
var sortList = cls_method_doudizhu.clone(_list);
if(mode){
sortList.sort(function(a,b){return a>b?1:-1});
}else{
sortList.sort(function(a,b){return a<b?1:-1});
}
}
//删除数组元素(传入元素)
cls_method_doudizhu.removeElementFromArray = function(_list,val){
var list = cls_method_doudizhu.clone(_list);
for(var i=0; i < list.length; i++) {
if(list[i] == val) {
list.splice(i, 1);
return list;
break;
}
}
}
//删除数组元素(传入数组)
// cls_method_doudizhu.removeListFromArray = function(_list1,_list2){
// var list1 = cls_method_doudizhu.clone(_list1);
// var list2 = cls_method_doudizhu.clone(_list2);
// for(var i=0;i<list2.length;i++){
// for(var j=0;j<list1.length;j++){
// if(list1[j] == list2[i]){
// list1.splice(j,1);
// j--;
// }
// }
// }
// return list1;
// }
//删除数组元素(传入数组)
cls_method_doudizhu.removeListFromArray = function(_list1,_list2){
var list1 = cls_method_doudizhu.clone(_list1);
var list2 = cls_method_doudizhu.clone(_list2);
for(var i=0;i<list2.length;i++){
for(var j=0;j<list1.length;j++){
if(list1[j].toString() === list2[i].toString()){
list1.splice(j,1);
j--;
}
}
}
return list1;
}
//数组去重
cls_method_doudizhu.distinct = function(arr) {
var arr = arr,
i,
obj = {},
result = [],
len = arr.length;
for(i = 0; i < arr.length; i++) {
if(!obj[arr[i]]) { //如果能查找到,证明数组元素重复了
obj[arr[i]] = 1;
result.push(arr[i]);
}
}
return result;
}
//打乱数组 用法XXX(数组).sort(randomsort);
cls_method_doudizhu.randomsort = function(a, b) {
return Math.random()>.5 ? -1 : 1;
//用Math.random()函数生成0~1之间的随机数与0.5比较,返回-1或1
}
//获取5 10 K的 ID(传入ID) 一般用于捡分
cls_method_doudizhu.get_510K = function(shoupai){
var wu = [];
var shi = [];
var k = [];
var result = [[],[],[]];
for(var a = 0;a<shoupai.length;a++){
var yu = shoupai[a] % 54;
var jieguo = yu % 13 + 1;
if(jieguo == 5){
wu.push(shoupai[a]);
}else if(jieguo == 10){
shi.push(shoupai[a]);
}else if(jieguo == 13){
k.push(shoupai[a]);
}
}
result[0] = result[0].concat(wu);
result[1] = result[1].concat(shi);
result[2] = result[2].concat(k);
return result;
}
cls_method_doudizhu.jigeji = function(result) {//返回一个数组中有几个几 [2,2,2,3,3,3,4,5] 返回值为:[[2,3],[3,3],[4,1],[5,1]]
var arr = [];
result.sort();
for(var i = 0; i < result.length;) {
var count = 0;
for(var j = i; j < result.length; j++) {
if(result[i] === result[j]) {
count++;
}
}
arr.push([result[i],count]);
i += count;
}
// var rr = 0;
// for (var i = 0; i < arr.length; i++) {
// if (arr[i].count == 3) {
// rr++;
// }
// }
return arr;
}
//从一个给定的数组arr中,随机返回num个不重复项
cls_method_doudizhu.getArrayItems = function(arr, num){
//新建一个数组,将传入的数组复制过来,用于运算,而不要直接操作传入的数组;
var temp_array = new Array();
for (var index in arr) {
temp_array.push(arr[index]);
}
//取出的数值项,保存在此数组
var return_array = new Array();
for (var i = 0; i<num; i++) {
//判断如果数组还有可以取出的元素,以防下标越界
if (temp_array.length>0) {
//在数组中产生一个随机索引
var arrIndex = Math.floor(Math.random()*temp_array.length);
//将此随机索引的对应的数组元素值复制出来
return_array[i] = temp_array[arrIndex];
//然后删掉此索引的数组元素,这时候temp_array变为新的数组
temp_array.splice(arrIndex, 1);
} else {
//数组中数据项取完后,退出循环,比如数组本来只有10项,但要求取出20项.
break;
}
}
return return_array;
}
cls_method_doudizhu.duplicate = function(arr) { //数组中相同数tmp 有几个tem.length
var tmp = [];
arr.concat().sort().sort(function(a, b) {
if(a == b && tmp.indexOf(a) === -1) tmp.push(a);
});
return tmp;
}
cls_method_doudizhu.hebing = function(arr) {//将N维数组合并为一个一维数组
var arr1 = (arr + '').split(','); //将数组转字符串后再以逗号分隔转为数组
var arr2 = arr1.map(function(x) {
return Number(x);
});
return arr2;
}