# mj-nest-server **Repository Path**: daiyehao/mj-nest-server ## Basic Information - **Project Name**: mj-nest-server - **Description**: 单独一个数据库,redis服务,需要设计一下房主带socket ip的操作 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-12-14 - **Last Updated**: 2024-03-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 1、多端口项目,公用同一个package.json(完成) 2、缓存机制: redis-》sql 3、通过token鉴权确定用户合法,有时效性的token 4、更新socketId, 进行单点 5、{userId:{socketId}} 6、人数设置、结束设置、带混设置、特殊设置、常规设置、计算设置、中途设置 roomId:roomInfo.roomId, button: //第一把随机庄家 roomInfo.numOfGames != 0 mahjongs: [], currentIndex: 0, gameSeats: [], turn: 0, laizi: [31], chuPai: -1, state: "idle", actionList: [], hupaiList: [], chupaiCnt: 0, //记录本局出牌数 seatIndex = i; userId = roomInfo.users[i].userId; socket_ip = roomInfo.users[i].socket_ip; //持有的 holds = []; //打出的 folds = []; //暗 penggangs = []; //用于快速判定碰杠 countMap = {}; //用于快速判定胡了的番数 tingMap = {}; //是否 canGang = false; //用于记录 gangPai = []; canChi = false, chiPai = [], //是否可 canPeng = false; //是否可以胡 canHu = false; //是否可以出牌 canChuPai = false; guoHuTime = 0; //是否 hued = false; //是否 iszimo = false; isGangHu = false; dactions = []; fan = 0; score = 0; lastFangGangSeat = -1; //统计信息 numZiMo = 0; numJiePao = 0; numDianPao = 0; numAnGang = 0; numMingGang = 0; 7、显示所有操作 添加交互规则 8、机器人概念:没有真实的socket,但是要实现用户操作,发送socket消息的必要性 1、骰子随机扣分 fan 2-4倍 2、封顶倍数限制 3、cm 码 (basescore*fan) 2 4倍 4、hz 码 (basescore+fan) 1 2 3 4倍 起手 target存位置 胡 target存位置