Files
youle_cocos/projects/doudizhu/js/01_SubGame/02_SubGame_Input.js
T
joywayerandClaude Opus 4.8 7ab748919a chore: 纳入项目全部源码进根仓库统一管理
删除 YouleNexus 内嵌 .git,统一由根仓库唯一管理。提交:
- projects/ 旧 H5 模板 Game_Surface_3 与各子游戏源码
- cocoscreator_projects/YouleNexus 工程 + cocos-creator-mcp 扩展源码
- CLAUDE.md、.mcp.json 等配置
library/temp/node_modules/dist 等缓存由 .gitignore 排除。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 11:55:13 +08:00

379 lines
11 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 gameHallImport = {};
gameHallImport.appStart =function(){
console.log("appStart");
}
gameHallImport.jumpMenuScene =function(){
console.log("jumpMenuScene");
}
gameHallImport.gameStart = function(){
console.log("gameStart");
}
gameHallImport.setGameList =function(){
console.log("setGameList");
}
gameHallImport.clearGameinfo = function(){
console.log("clearGameinfo");
}
gameHallImport.getWebdata = function(data){
console.log("getWebdata");
}
gameHallImport.isInstalled = function(data){
console.log("isInstalled");
return 1;
}
gameHallImport.up_imgurl = function(recid,photo){
console.log("up_imgurl");
}
gameHallImport.getphoto = function(recid,photo){
console.log("getphoto");
}
// Game_Modify.appStart =function(){
// }
Game_Modify.StartWar=function(_msg){//开战
}
Game_Modify._ReceiveData=function(_msg){//接收数据包
Col_net(_msg);
}
Game_Modify.createRoom=function(_roomtype,_infinite){//创建房间
Infinite.found();
}
Game_Modify.myJoinRoom=function(_msg){//自己进入房间
Infinite.join(Utl.getMySeat());
}
Game_Modify.Reconnect=function(_deskinfo){//重连
Public_data.Initialization();
Infinite.updata(_deskinfo.stage);
aset = cls_doudizhu_aset.New();//创建牌桌
for (var i = 0; i < aset.cardlist.length; i++) {
if (cls_doudizhu_card.GetNumber(aset.cardlist[i]) == 1) {
cls_doudizhu_card.SetArithN(aset.cardlist[i],14);
} else if (cls_doudizhu_card.GetNumber(aset.cardlist[i]) == 2){
cls_doudizhu_card.SetArithN(aset.cardlist[i],16);
}
}
if (_deskinfo.stage >=0) {
Updata_ui.net(_deskinfo);
}
}
Game_Modify.stopAllSounds=function(){//关闭所有声音 (游戏声音)
}
Game_Modify.Free=function(_msg){//投票解散结果为同意时,点击结果界面确认的按钮时触发
Public_data.data.grade = _msg.data.grade; //总分
Public_data.data.stage = _msg.data.stage; //阶段
game.shijian = _msg.data.shijian; //大局结算时间
endover();
}
Game_Modify.DeskInfo=function(_msg){//未开战状态下自己加入是牌桌数据
Infinite.no_join();
}
Game_Modify.breakRoom=function(){//游戏已开局情况下自己退出房间触发
Infinite.out();
}
Game_Modify.playerJoinRoom=function(seat){//其他玩家加入房间
Infinite.join(seat);
}
Game_Modify.playerLeaveRoom=function(seat){//其他玩家离开房间
}
Game_Modify.updateScene = function(){//更新游戏界面
//根据本地数据重新显示界面
Infinite.updata(Public_data.data.stage);
if (Public_data.data.stage != -1 && Public_data.data.stage != 4) {
All_ani.hide();
All_timer.hide();
Updata_ui.redraw();
}
}
Game_Modify.closeGameScene=function(){//关闭游戏界面
}
Game_Modify.playerOffline = function(seat){//玩家离线
}
Game_Modify.playerOnline = function(seat){//玩家上线
}
Game_Modify.playerphonestate = function(seat,type){//玩家电话状态type->挂断1->接打电话、有电话进来的状态
}
Game_Modify.shakeEvent = function(){
switch(GameData.shakeID){
case Game_Config.shakeList.startwar://摇一摇开战(如果有主动开战)
var data={};
data.agentid=GameData.AgentId;
data.gameid=GameData.GameId;
data.playerid=C_Player.playerid;
data.roomcode=Desk.roomcode;
Net.Send_self_makewar(data);
Func.stopshake();
GameData.shakeID=Game_Config.shakeList.nil;
break;
}
}
Game_Modify.calResult = function(inputArr){//计算器结果显示
Calculator.show(inputArr,22,295,348,28,1927,1930,1924);
}
Game_Modify.onEnterMainScene = function(roomtype){//进入游戏主场景
console.log("进入游戏主场景");
if (roomtype[3] == 2) {//如果是无限局
set_self(1069,37,1,0,0);
if (Utl.getstarName()=="星星") {
set_self(1069,43,1,0,0);
} else{
set_self(1069,43,2,0,0);
}
}
set_self(1070,37,1,0,0);//皮肤
set_self(149,1,pifu[1][pifu[0]][0]);
Utl.setFontColor(1045,pifu[1][pifu[0]][1]);//色号
}
Game_Modify.onExitMainScene = function(){//退出游戏主场景
console.log("退出游戏主场景");
}
Game_Modify.onGameConfig = function(_gameConfig){//获取到游戏配置时调用(只在game_config有数据时才调用)
game.config = _gameConfig;
Game_Modify.Type_1[0].des = game.config.jushu[0] + "局(房卡X" + game.config.kouka[0][0] + ")";
Game_Modify.Type_1[1].des = game.config.jushu[1] + "局(房卡X" + game.config.kouka[0][1] + ")";
Game_Modify.Type_7[0].des = game.config.dizhu[0] + "分";
Game_Modify.Type_7[1].des = game.config.dizhu[1] + "分";
Game_Modify.Type_7[2].des = game.config.dizhu[2] + "分";
Game_Modify.CreateRoomData.Type_5 = [game.config.gold[0],game.config.gold[3],game.config.gold[2]];
}
Game_Modify.onEnterVideo = function(){//进入牌局回放触发
}
Game_Modify.onSurrender = function(_msg){//收到投降回包
}
Game_Modify.onReady = function(seat){//玩家准备触发
}
Game_Modify.getRoomInfo = function(roomtype,type,tea){//通过roomtype获取房间描述每行最多18个字符超过需要自己换行type1系统房间2非系统房间
console.log("Game_Modify.getRoomInfo:"+roomtype);
return "房间描述"+roomtype;
}
Game_Modify.getStarLimit = function(roomtype){//通过roomtype获取房间星星场下限数量(准入)
console.log("Game_Modify.getStarLimit:"+roomtype);
return roomtype[4][1];
}
Game_Modify.getMult = function(roomtype,type){//通过roomtype获取房间星星场倍数
console.log("Game_Modify.getStarLimit:"+roomtype);
return roomtype[4][0];
}
Game_Modify.getFullRoomInfo = function(roomtype){//通过roomtype获取房间全部信息描述 每行最多26个字符超过需要自己换行
//console.log("Game_Modify.getFullRoomInfo:"+roomtype);
//房间信息
var _des = "";
if(roomtype[3] == 1){
_des= Game_Modify.Type_1[roomtype[0]-1].des+Game_Modify.Type_2[roomtype[1]-1].des+'\n'+"底分:"+Game_Modify.Type_7[roomtype[6]-1].des+'\n'+ Game_Modify.Type_9[roomtype[8]-1].des+' '+Game_Modify.Type_10[roomtype[9]-1].des+" "+Game_Modify.Type_3[roomtype[2]-1].des;
} else{
if (Utl.getIsInfinite() == 1){
_des= "底分:"+Game_Modify.Type_7[roomtype[6]-1].des+' '+ Game_Modify.Type_9[roomtype[8]-1].des+' '+Game_Modify.Type_10[roomtype[9]-1].des+" "+Game_Modify.Type_3[roomtype[2]-1].des
+'\n'+Utl.getstarName()+"倍数:" + roomtype[4][0]+''+"入场限制:" + roomtype[4][1];
}else{
_des = Game_Modify.Type_1[roomtype[0]-1].des+' '+"底分:"+Game_Modify.Type_7[roomtype[6]-1].des+'\n'+ Game_Modify.Type_9[roomtype[8]-1].des+' '+Game_Modify.Type_10[roomtype[9]-1].des+" "+Game_Modify.Type_3[roomtype[2]-1].des
+'\n'+Utl.getstarName()+"倍数:" + roomtype[4][0]+''+"入场限制:" + roomtype[4][1];
}
}
return _des;
}
Game_Modify.onOpenHelp = function(spid){//打开帮助页面触发
}
//显示大厅界面触发
Game_Modify.onMainMenuScene = function(){
Public_data.Initialization();
UI.hide();
All_ani.hide();
All_timer.hide();
}
//确认数字输入框回调
Game_Modify.onCheckInput = function(_result){
console.log(_result);
}
//创建房间成功后触发
Game_Modify.onCreateRoom = function(_data){
}
//获取离场限制
Game_Modify.getLeaveLimit = function(roomtype){
return 10;
}
//成功获取定位信息触发
Game_Modify.onLocationInfo = function(_locationInfo){
}
//进入游戏界面创建牌桌之前调用
Game_Modify.onCreateDesk = function(roomtype){
console.log("onCreateDesk:"+roomtype);
//最大人数
if(roomtype[2] == 1){
Game_Config.Max.PlayerCnt = 3;
}else if(roomtype[2] == 2){
Game_Config.Max.PlayerCnt = 2;
}
}
//通过roomtype获取是否开启视频功能0->不开启1->开启
Game_Modify.getVideoByRoomType = function(roomtype){
return 1;
}
//返回值为字符数组数组每项为房间一项描述信息
Game_Modify.getRoomTopDescAry = function(roomtype){
//console.log(roomtype);
//房间信息
if (roomtype[1] == 1) {
Game_Modify.Type_1[0].des = game.config.jushu[0] + "局(房卡X" + game.config.kouka[1][0] + ")";
Game_Modify.Type_1[1].des = game.config.jushu[1] + "局(房卡X" + game.config.kouka[1][1] + ")";
}else{
Game_Modify.Type_1[0].des = game.config.jushu[0] + "局(房卡X" + game.config.kouka[0][0] + ")";
Game_Modify.Type_1[1].des = game.config.jushu[1] + "局(房卡X" + game.config.kouka[0][1] + ")";
}
if(roomtype[3] == 1){
return [Game_Modify.Type_1[roomtype[0]-1].des,Game_Modify.Type_2[roomtype[1]-1].des,"底分:"+Game_Modify.Type_7[roomtype[6]-1].des,Game_Modify.Type_9[roomtype[8]-1].des,
Game_Modify.Type_10[roomtype[9]-1].des,Game_Modify.Type_3[roomtype[2]-1].des];
} else{
if (Utl.getIsInfinite() == 1) {
return ["底分:"+Game_Modify.Type_7[roomtype[6]-1].des,Game_Modify.Type_9[roomtype[8]-1].des,Game_Modify.Type_10[roomtype[9]-1].des,Game_Modify.Type_3[roomtype[2]-1].des
,Utl.getstarName()+"倍数:" + roomtype[4][0],"入场限制:" + roomtype[4][1]];
} else {
return [Game_Modify.Type_1[roomtype[0]-1].des,"底分:"+Game_Modify.Type_7[roomtype[6]-1].des,Game_Modify.Type_9[roomtype[8]-1].des,Game_Modify.Type_10[roomtype[9]-1].des,Game_Modify.Type_3[roomtype[2]-1].des
,Utl.getstarName()+"倍数:" + roomtype[4][0],"入场限制:" + roomtype[4][1]];
}
}
}
//星星场房间列表
Game_Modify.getShareRoom = function(_msg){
}
//玩家自己退出房间
Game_Modify.myExitRoom = function(seat){
Infinite.out();
}
//接收到换座包触发
Game_Modify.changeSeat = function(seat1,seat2){
}
//关闭vip选项时调用
Game_Modify.onCloseVip = function(){
}
//判断房间是否为金币场(是金币场返回1否则返回0)
Game_Modify.getRoomMode = function(roomtype){
return 0;
}
// //通过该接口获取房间最大玩家数量,获取最大玩家数量记得把Game_Config.Max.PlayerCnt的值设置成对应值,对于roomtype需要先判断是否合法,如果不合法,默认返回Game_Config.Max.PlayerCnt
// Game_Modify.getMaxPlayerCount = function(roomtype){
// return Game_Config.Max.PlayerCnt;
// }
// /**
// * 更新玩家信息界面显示(数据层方法)
// */
// Game_Modify.updatePlayerInfoUI = function(targetSeat){
// return false;
// }
//回放时触发
Game_Modify.recovery = function(_msg){
opencard(1);
opencard(2);
set_self(1064,41,1,0,0);
set_self(1064,37,1,0,0);
Public_data.aset_recovery(_msg);
config_carlen();
cards_interval();
liangdipai(1);//亮底牌
difenxs();//底分显示
beixs();//倍数显示
dzxs();//地主显示
}
//回放时退出触发
Game_Modify.recoveryout = function(){
set_group(220,37,0,0,0);
Public_data.Initialization();
UI.hide();
All_ani.hide();
All_timer.hide();
}
//开始回放时手牌排序
Game_Modify.sort = function(cards){
cards = cls_doudizhu_card.SortCardList(cls_doudizhu_aset.CardIdsToCards(aset,cards)
,[1,3]);
cards = cls_doudizhu_aset.CardsToCardIds(cards);
return cards;
}
//回放结束
Game_Modify.over = function(_msg){
Public_data.data.bei = _msg.data.gameinfo2.pjhf[dijiju][_msg.data.gameinfo2.pjhf[dijiju].length-1][1]; //当前倍数
asetover();
}
//回放中途触发
Game_Modify.recovery_step = function(num){
//set_group(220,37,0,0,0);
beixs();//倍数显示
}
//点击出牌时触发
Game_Modify.putcards = function(){
}