您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

635 行
19 KiB

  1. local MJDefine = MJFramework.MJImport("mj.luaScript.MJDefine")
  2. local MJ = MJFramework.MJImport("mj.luaScript.Views.Game.MJ")
  3. local MJWanFa=MJFramework.ImportWanFa("luaScript.SubGameDefine.MaJiang.MJWanFa")
  4. local MJRoomXiaoJuView = MJFramework.MJFrameworkClassImprot("mj.luaScript.Views.Room.MJRoomXiaoJuView")
  5. -- 房间设置界面
  6. local luzhouguiRoomXiaoJuView = class("luzhouguiRoomXiaoJuView", MJRoomXiaoJuView)
  7. local MJ_WIDTH=47
  8. --起始位置
  9. local MJ_HAND_CARD_INIT_X=130+35
  10. local MJ_HAND_CARD_INIT_Y=50 * g_radio_y
  11. local MJ_GROUP_CARD_INIT_X=100
  12. --麻将组间隔
  13. local MJ_GROUP_PADDING_X=0
  14. --麻将直接间隔
  15. local MJ_PADDING_X=-3
  16. --胡牌麻将间隔
  17. local MJ_HU_X=8
  18. --暗杠上面的牌Y轴偏移量
  19. local GANG_OFFSET_Y=16
  20. function luzhouguiRoomXiaoJuView:ctor(...)
  21. luzhouguiRoomXiaoJuView.super.ctor(self,...)
  22. if self.desktopType == MJDefine.DesktopType.ThreeD then
  23. self.desktopType = MJDefine.DesktopType.TwoD
  24. end
  25. end
  26. function luzhouguiRoomXiaoJuView:loadUI()
  27. local ui = loadUI("mj_luzhougui/res/ui_fangjian/mj_luzhou_xiaoju_jiesuan.ui")
  28. self.ui = ui
  29. self:addChild(ui)
  30. end
  31. function luzhouguiRoomXiaoJuView:onEnter()
  32. luzhouguiRoomXiaoJuView.super.onEnter(self)
  33. self.ui.Items.Button_XiPai:setVisible(false)
  34. if G_LayerMain then
  35. -- G_LayerMain:showBoard(true)
  36. G_LayerMain:showFloat(true)
  37. end
  38. if app.room.roomInfo.isEapCreate == 1 then
  39. self.ui.Items.Button_Next:setVisible(false)
  40. self.ui.Items.Button_Cha:setVisible(false)
  41. self.ui.Items.Button_All:setVisible(false)
  42. if app.room.roomInfo.nGameStartCount ~= app.room.roomInfo.nTotalGameNum then
  43. local t = app.room.roomInfo.EapTime
  44. self.ui.Items.Text_EapTime:setText("倒计时"..t.."秒后自动开始")
  45. self.ui.Items.Text_EapTime:runAction(cc.RepeatForever:create(cc.Sequence:create(cc.DelayTime:create(1),cc.CallFunc:create(function()
  46. t=t-1
  47. if t<0 then
  48. t = 0
  49. self.ui.Items.Text_EapTime:stopAllActions()
  50. end
  51. self.ui.Items.Text_EapTime:setText("倒计时"..t.."秒后自动开始")
  52. end))))
  53. elseif app.room.roomInfo.nGameStartCount == app.room.roomInfo.nTotalGameNum then
  54. local t = app.room.roomInfo.EapTime
  55. self.ui.Items.Text_EapTime:setText("倒计时"..t.."秒后结束游戏")
  56. self.ui.Items.Text_EapTime:runAction(cc.RepeatForever:create(cc.Sequence:create(cc.DelayTime:create(1),cc.CallFunc:create(function()
  57. t=t-1
  58. if t<0 then
  59. t = 0
  60. self.ui.Items.Text_EapTime:stopAllActions()
  61. --清除 sdk 界面
  62. G_LayerMain:resetLayers();
  63. --回到大厅 不打开总结算界面
  64. app.room:dispatchEvent({name =MJDefine.MJEvent.DismissClose})
  65. self:removeFromParent()
  66. runInNextFrame(function()
  67. local roomInfo = app.room.roomInfo
  68. -- 房间号
  69. local roomId = roomInfo.nShowTableId
  70. gotoMainView(roomInfo.gameId,roomId)
  71. end)
  72. end
  73. self.ui.Items.Text_EapTime:setText("倒计时"..t.."秒后结束游戏")
  74. end))))
  75. end
  76. end
  77. -- cc.SpriteFrameCache:getInstance():addSpriteFramesWithFile("mj_luzhougui/res/zy_fangjian/luzhou_operateEffect.plist")
  78. --cc.SpriteFrameCache:getInstance():addSpriteFramesWithFile("mj_luzhougui/res/zy_fangjian/luzhou_xiaoju_jiesuan.plist")
  79. end
  80. function luzhouguiRoomXiaoJuView:initPlayerView()
  81. local roomInfo=app.room.roomInfo
  82. self.ui.Items.Layout_Player:removeAllChildren()
  83. self.items={}
  84. for k,v in pairs(roomInfo.memberList) do
  85. --local i = v.nSeatId+1
  86. local userId = app.room:getViewIdByUserId(v.nUserId)
  87. local nSeatId = app.room:getSeatIdByViewId(userId)
  88. local i = nSeatId+1
  89. local item=self:createPlayerItem()
  90. self.ui.Items.Layout_Player:addChild(item)
  91. self:setPlayerItemInfo(item,v)
  92. self.items[i]=item
  93. -- table.insert(self.items,)
  94. end
  95. end
  96. function luzhouguiRoomXiaoJuView:createPlayerItem()
  97. local ui=loadUI("mj_luzhougui/res/ui_fangjian/mj_luzhou_xiaoju_item.ui")
  98. autoAdapt(ui)
  99. return ui
  100. end
  101. function luzhouguiRoomXiaoJuView:setPlayerItemInfo(ui,player)
  102. local roomInfo=app.room.roomInfo
  103. local resultInfo=roomInfo.memberList
  104. local bg = "ImageView_ItemBg"--"ImageView_Win_"..i..""
  105. -- local bg2 = "ImageView_ItemBg_2"
  106. -- local lose = "ImageView_Lose_"..i
  107. local head = "ImageView_Head"
  108. local name = "Text_Name"
  109. local benJuScore = "TextBMFont_Score"
  110. local benJuScore1 = "Text_Score"
  111. local hu = "ImageView_Hu"
  112. local info = "Button_Info"
  113. local result="Text_ResultInfo"
  114. local nodeBg = ui.Items[bg]
  115. -- local nodeBg2 = ui.Items[bg2]
  116. -- local nodeLose = self.ui.Items[lose]
  117. local nodeHead = ui.Items[head]
  118. local nodeName = ui.Items[name]
  119. local nodeBenJu = ui.Items[benJuScore]
  120. local bmFontScore = true
  121. if not nodeBenJu then
  122. nodeBenJu = ui.Items[benJuScore1]
  123. bmFontScore = false
  124. end
  125. local nodeHu = ui.Items[hu]
  126. local nodeBanker= ui.Items.ImageView_Banker
  127. local nodeResult= ui.Items[result]
  128. --[[local huType = {
  129. [1] = "自摸(",
  130. [2] = "接炮(",
  131. [3] = "抢杠胡(",
  132. }--]]
  133. --[[local infoTab = {
  134. ["agang"] = "暗杠(x",
  135. ["bgang"] = "补杠(x",
  136. ["diangang_cnt"] = "点杠(x",
  137. ["mgang"] = "明杠(x",
  138. }--]]
  139. local infoStr = self:setHuType(player.nUserId)
  140. nodeResult:setText(infoStr)
  141. --[[local detailInfo = json.decode(app.room.roomInfo.opsCntMapString)
  142. if detailInfo then
  143. for k,v in pairs(detailInfo[tostring(player.nUserId)]) do
  144. if v > 0 then
  145. infoStr = infoStr..infoTab[k]..v..") "
  146. end
  147. end
  148. nodeResult:setText(infoStr)
  149. else
  150. nodeResult:setVisible(false)
  151. end--]]
  152. local userInfo = app.room:getUserInfo(player.nUserId)
  153. --先设置默认头像
  154. local width = nodeHead:getContentSize().width
  155. local nickname = ""
  156. if userInfo and userInfo.nickname then
  157. nickname = getSubStringNickname(userInfo.nickname)
  158. self:updateUserHead(nodeHead,player.nUserId, userInfo.sex, userInfo.headimgurl);
  159. end
  160. nodeName:setText(nickname)
  161. nodeHu:setVisible(false)
  162. if player.result>0 then
  163. nodeHu:setVisible(true)
  164. local orderNum = cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_num"..player.huOrder..".png")
  165. if player.result == MJDefine.MJGameHuType.HU_ZIMO then--自摸 huOrder
  166. nodeHu:loadTexture("mj/res/ui/zy_fangjian/operate/mj_effect_zimo.png")
  167. orderNum:setPosition(cc.p(260,65))
  168. elseif player.result == MJDefine.MJGameHuType.HU_DIANPAO or player.result == MJDefine.MJGameHuType.HU_QIANGGANG then --点炮胡
  169. nodeHu:loadTexture("mj/res/ui/zy_fangjian/operate/mj_effect_jiepao.png")
  170. orderNum:setPosition(cc.p(300,65))
  171. --nodeHu:setScale(1)
  172. end
  173. nodeHu:addChild(orderNum)
  174. end
  175. --[[if player.dpCount > 0 then --点炮
  176. nodeHu:setVisible(true)
  177. nodeHu:loadTexture("luzhou_room_img_dianpao.png",cc.TextureResType.plistType)
  178. end--]]
  179. --黄庄才会查叫和查花猪
  180. if roomInfo.stopFlag==MJDefine.StopFlag.STOP_FLAG_HUANG_ZHUANG then
  181. if player.result <= 0 and player.isDj == 1 then
  182. nodeHu:loadTexture("mj/res/ui/zy_fangjian/operate/mj_effect_chajiao.png")
  183. nodeHu:setVisible(true)
  184. nodeHu:setScale(0.4)
  185. end
  186. if player.result <= 0 and player.isHz == 1 then --花猪
  187. nodeHu:loadTexture("mj/res/ui/zy_fangjian/operate/mj_effect_chahuazhu.png")
  188. nodeHu:setScale(0.4)
  189. nodeHu:setVisible(true)
  190. end
  191. end
  192. if app.room:getUserIdBySeatId(app.room.roomInfo.nBankSeatId)~=player.nUserId then
  193. nodeBanker:setVisible(false)
  194. end
  195. if app.room:getMyUserId() == player.nUserId then
  196. nodeBg:loadTexture("xj_my_bg.png",cc.TextureResType.plistType)
  197. --[[else
  198. nodeBg:loadTexture("xj_other_bg.png",cc.TextureResType.plistType)--]]
  199. end
  200. if tonumber(player.nTurnScore) > 0 then
  201. nodeBenJu:setText("+"..player.nTurnScore)
  202. else
  203. nodeBenJu:setText(player.nTurnScore)
  204. if tonumber(player.nTurnScore) < 0 and bmFontScore == true then
  205. nodeBenJu:setFntFile("res/fonts/dt_jian_num.fnt")
  206. end
  207. end
  208. --番数
  209. ui.Items.Text_FanShu:setText(player.fanshu.."番")
  210. local viewId = app.room:getViewIdByUserId(player.nUserId)
  211. --local seatId = app.room:getSeatIdByViewId(viewId)
  212. if viewId and viewId>0 and viewId<=4 then
  213. if viewId == 4 then
  214. ui.Items.ImageView_Pos:loadTexture("result_pos_0.png",1)
  215. else
  216. ui.Items.ImageView_Pos:loadTexture(string.format("result_pos_%d.png", viewId), 1)
  217. end
  218. else
  219. ui.Items.ImageView_Pos:setVisible(false)
  220. end
  221. end
  222. function luzhouguiRoomXiaoJuView:setHuType(userId)
  223. local roomInfo = app.room.roomInfo
  224. local strGameInfo = json.decode(roomInfo.strGameInfo)
  225. local str = ""
  226. local huType1 = {
  227. [1] = "自摸(",
  228. [2] = "接炮(",
  229. [3] = "抢杠胡(",
  230. }
  231. local huOrder1 = 0
  232. local player = roomInfo.memberList[userId]
  233. if player then
  234. huOrder1 = player.huOrder
  235. --胡牌顺序
  236. if player.result == MJDefine.MJGameHuType.HU_ZIMO then
  237. local huNum = 0
  238. --快速成局时,strGameInfo.playnum默认传来的是4人
  239. if strGameInfo.isfaststart == 1 then
  240. huNum = roomInfo.nMaxPlayCount - player.huOrder
  241. else
  242. huNum = strGameInfo.playnum - player.huOrder
  243. end
  244. str = str..huType1[player.result]..huNum.."家) "
  245. elseif player.result == MJDefine.MJGameHuType.HU_DIANPAO or player.result == MJDefine.MJGameHuType.HU_QIANGGANG then
  246. local viewId = app.room:getViewIdBySeatId(player.dpSeatId)
  247. local userInfo = app.room:getUserInfoByViewId(viewId)
  248. local nickname = getSubStringNickname(userInfo.nickname)
  249. str = str..huType1[player.result]..nickname..") "
  250. end
  251. --牌型
  252. -- for k,v in pairs(MJDefine.MJGamePaiType) do
  253. -- local newType = self:_and(player.huType,v)
  254. -- if self:_and(player.huType,v) ~= 0 then
  255. -- local newType = self:_and(player.huType,v)
  256. -- str = str..MJDefine.MJGameHuStr[newType].." "
  257. -- end
  258. -- end
  259. str = str .. self:getPaiTypeStr(player)
  260. if player.result > 0 then
  261. -- if player.genCount > 0 then
  262. -- str = str..player.genCount.."归 "
  263. -- end
  264. if player.isXiQian > 0 then
  265. str = str.."喜钱 "
  266. end
  267. end
  268. end
  269. return str
  270. end
  271. --合并牌型得到最终的字符串
  272. function luzhouguiRoomXiaoJuView:getPaiTypeStr(player)
  273. local strTab = {}
  274. for k,v in pairs(MJDefine.MJGamePaiType) do
  275. local newType = self:_and(player.huType,v)
  276. if newType ~= 0 then
  277. table.insert(strTab,MJDefine.MJGameHuStr[newType] or "")
  278. end
  279. end
  280. if player.result > 0 then
  281. if player.genCount > 0 then
  282. table.insert(strTab,player.genCount.."归")
  283. end
  284. end
  285. dump(strTab)
  286. --logD(table.toString(strTab))
  287. for _,v in pairs(MJDefine.MJGameHuMargeTab) do
  288. local list = v.tab
  289. local str = v.name
  290. dump(list)
  291. local indexs= {}
  292. for _,v in pairs(list) do
  293. local index = table.indexOf(strTab, v)
  294. if index~= -1 then
  295. table.insert(indexs,index)
  296. end
  297. end
  298. if #indexs == #list then --如果都找到则合并
  299. for k,v in pairs(list) do
  300. table.removeItem(strTab,v)
  301. end
  302. -- logD(str)
  303. table.insert(strTab,str)
  304. end
  305. end
  306. local info = ""
  307. for k,v in pairs(strTab) do
  308. info = info..v.." "
  309. end
  310. return info
  311. end
  312. function luzhouguiRoomXiaoJuView:createHandCards(layer,arg,seatId)
  313. for k,v in pairs(arg) do
  314. local mj=MJ:new(v.card,MJDefine.MJType.Out,MJDefine.MyViewId,self.desktopType)
  315. layer:addChild(mj)
  316. mj:setPosition(cc.p(self.initX[seatId],MJ_HAND_CARD_INIT_Y))
  317. self.initX[seatId]=self.initX[seatId]+mj:getContentSize().width+MJ_PADDING_X
  318. end
  319. end
  320. function luzhouguiRoomXiaoJuView:createHuCard(layer,card,seatId)
  321. local mj=MJ:new(card,MJDefine.MJType.Out,MJDefine.MyViewId,self.desktopType)
  322. layer:addChild(mj)
  323. mj:setPosition(cc.p(self.initX[seatId],MJ_HAND_CARD_INIT_Y))
  324. self.initX[seatId]=self.initX[seatId]+mj:getContentSize().width+MJ_PADDING_X
  325. local flag = cc.Sprite:create("mj/res/ui/zy_fangjian/mj_hu_flag.png")
  326. mj:addChild(flag)
  327. if self.desktopType == MJDefine.DesktopType.TwoDGold then
  328. flag:setPosition(cc.p(16,40))
  329. else
  330. flag:setPosition(cc.p(16,55))
  331. end
  332. end
  333. function luzhouguiRoomXiaoJuView:createChi(values,redNum)
  334. local node=cc.Layer:create()--Color:create(cc.c4b(255,0,0,255))
  335. node:setAnchorPoint(cc.p(0.5,0.5))
  336. node:ignoreAnchorPointForPosition(false)
  337. local width=0
  338. local height=0
  339. for i=1,3 do
  340. if values[i] then
  341. local mj
  342. if redNum > 0 and i <= redNum then
  343. mj=MJ:new(65,MJDefine.MJType.Out,MJDefine.MyViewId,self.desktopType)
  344. else
  345. mj=MJ:new(values[i],MJDefine.MJType.Out,MJDefine.MyViewId,self.desktopType)
  346. end
  347. node:addChild(mj)
  348. local mjWidth=mj:getContentSize().width
  349. local mjHeight=mj:getContentSize().height
  350. local x=mjWidth/2+(i-1)*(mjWidth+MJ_PADDING_X)
  351. local y=mjHeight/2
  352. width=width+mjWidth
  353. height=mjHeight
  354. mj:setPosition(x,y)
  355. end
  356. end
  357. node:setContentSize(cc.size(width,height))
  358. return node
  359. end
  360. function luzhouguiRoomXiaoJuView:createGang(values,redNum)
  361. local node=cc.Layer:create()--Color:create(cc.c4b(255,0,0,255))
  362. node:setAnchorPoint(cc.p(0.5,0.5))
  363. node:ignoreAnchorPointForPosition(false)
  364. local width=0
  365. local height=0
  366. for i=1,4 do
  367. if values[i] then
  368. local mj
  369. if redNum > 0 and i <= redNum then
  370. mj=MJ:new(65,MJDefine.MJType.Out,MJDefine.MyViewId,self.desktopType)
  371. else
  372. mj=MJ:new(values[i],MJDefine.MJType.Out,MJDefine.MyViewId,self.desktopType)
  373. end
  374. node:addChild(mj)
  375. local mjWidth=mj:getContentSize().width
  376. local mjHeight=mj:getContentSize().height
  377. local x=mjWidth/2+(i-1)*(mjWidth+MJ_PADDING_X)
  378. local y=mjHeight/2
  379. width=width+mjWidth
  380. height=mjHeight
  381. mj:setPosition(x,y)
  382. end
  383. end
  384. node:setContentSize(cc.size(width,height))
  385. return node
  386. end
  387. function luzhouguiRoomXiaoJuView:createAnGang(values,redNum)
  388. local node=cc.Layer:create()--Color:create(cc.c4b(255,0,0,255))
  389. node:setAnchorPoint(cc.p(0.5,0.5))
  390. node:ignoreAnchorPointForPosition(false)
  391. local width=0
  392. local height=0
  393. for i=1,4 do
  394. if values[i] then
  395. local mj
  396. if i <= 3 then
  397. mj=MJ:new(values[i],MJDefine.MJType.OutBlack,MJDefine.MyViewId,self.desktopType)
  398. else
  399. --[[if redNum > 0 then
  400. mj=MJ:new(65,MJDefine.MJType.Out,MJDefine.MyViewId)
  401. else
  402. mj=MJ:new(values[i],MJDefine.MJType.Out,MJDefine.MyViewId)
  403. end--]]
  404. mj=MJ:new(values[i],MJDefine.MJType.Out,MJDefine.MyViewId)
  405. end
  406. node:addChild(mj)
  407. local mjWidth=mj:getContentSize().width
  408. local mjHeight=mj:getContentSize().height
  409. local x=mjWidth/2+(i-1)*(mjWidth+MJ_PADDING_X)
  410. local y=mjHeight/2
  411. width=width+mjWidth
  412. height=mjHeight
  413. mj:setPosition(x,y)
  414. end
  415. end
  416. node:setContentSize(cc.size(width,height))
  417. return node
  418. end
  419. function luzhouguiRoomXiaoJuView:createGroupCards(layer,arg,seatId)
  420. local handlers={
  421. [MJDefine.MJGroupType.Chi]=handler(self,self.createChi),
  422. [MJDefine.MJGroupType.Peng]=handler(self,self.createChi),
  423. [MJDefine.MJGroupType.Gang]=handler(self,self.createGang),
  424. [MJDefine.MJGroupType.AnGang]=handler(self,self.createGang),
  425. }
  426. for k,v in pairs(arg) do
  427. if handlers[v.opType] then
  428. local group=handlers[v.opType](v.values,v.redNum)
  429. local w=(group:getContentSize().width-MJ_WIDTH)/2
  430. group:setPosition(cc.p(self.initX[seatId]+w,MJ_HAND_CARD_INIT_Y))
  431. if k<#arg then
  432. self.initX[seatId]=self.initX[seatId]+group:getContentSize().width+MJ_GROUP_PADDING_X
  433. else
  434. self.initX[seatId]=self.initX[seatId]+group:getContentSize().width+MJ_GROUP_PADDING_X
  435. end
  436. layer:addChild(group)
  437. end
  438. end
  439. end
  440. -- 获取组合牌组
  441. function luzhouguiRoomXiaoJuView:getChangeGruopDatas(g,redNum)
  442. -- dump(g, "getChangeGruopDatas")
  443. local opType=MJDefine.MJOperateToGroupType[g.opType]
  444. local showType=MJDefine.MJOperateToGroupType[g.opType]
  445. local opCard=g.opCard
  446. local redNum = g.redNum
  447. local fromViewId = nil
  448. local targetSeatId = g.targetSeatId--操作位置座位号
  449. local fromUserId = g.opUserId or g.fromUserId --触发操作玩家
  450. if fromUserId<=0 or targetSeatId==nil then
  451. else
  452. fromViewId = app.room:transPos( targetSeatId, app.room:getSeatIdByUserId(fromUserId))
  453. --判断是否是对面玩家,对面玩家的话要做一次翻转
  454. local opViewId = app.room:getViewIdBySeatId(targetSeatId)
  455. if opViewId == 2 then --对面
  456. if fromViewId==1 then fromViewId = 3
  457. elseif fromViewId==3 then fromViewId = 1 end
  458. end
  459. --三人玩只有上下家
  460. if app.room:getMaxPlayerCount()==3 and fromViewId==2 then fromViewId = 3 end
  461. if app.room:getMaxPlayerCount()==2 and fromViewId~=0 then
  462. if showType == MJDefine.MJGroupType.Peng then
  463. fromViewId = 2
  464. else
  465. fromViewId = 4
  466. end
  467. end
  468. end
  469. --组合一下牌
  470. local group={
  471. opType=opType,
  472. showType=showType,
  473. values={},
  474. opCard = opCard,
  475. redNum = redNum,
  476. fromViewId = fromViewId
  477. }
  478. if MJDefine.MJGroupType.Chi==showType then
  479. elseif MJDefine.MJGroupType.Peng==showType then
  480. group.values={opCard,opCard,opCard}
  481. else
  482. group.values={opCard,opCard,opCard,opCard}
  483. end
  484. return group
  485. end
  486. function luzhouguiRoomXiaoJuView:initWeaveCard()
  487. local roomInfo=app.room.roomInfo
  488. self.initX={}
  489. for k,v in pairs(roomInfo.memberList) do
  490. local userId = app.room:getViewIdByUserId(v.nUserId)
  491. local nSeatId = app.room:getSeatIdByViewId(userId)
  492. local i = nSeatId+1
  493. local groups={}
  494. for _,group in pairs(v.gruoupCards) do
  495. table.insert(groups,self:getChangeGruopDatas(group))
  496. end
  497. self.initX[i]=MJ_HAND_CARD_INIT_X
  498. self:createGroupCards(self.items[i].Items.Layout_Player,groups,i)
  499. self.initX[i] = self.initX[i] + 10
  500. self:createHandCards(self.items[i].Items.Layout_Player,v.handCards,i)
  501. --创建胡的牌
  502. if v.huCard and v.huCard ~= 0 then
  503. self.initX[i]=self.initX[i]+MJ_HU_X
  504. self:createHuCard(self.items[i].Items.Layout_Player,v.huCard,i)
  505. -- self:createHandCards(self.items[i].Items.Layout_Player,{{card=v.huCard}},i)
  506. end
  507. end
  508. end
  509. function luzhouguiRoomXiaoJuView:initOther()
  510. local roomInfo = app.room.roomInfo
  511. -- local winUserId = app.room.roomInfo.winUserId
  512. self.ui.Items.Text_Round:setText("局数:"..roomInfo.nGameStartCount..'/'..roomInfo.nTotalGameNum)
  513. --规则
  514. local ruleAll = MJWanFa.getWanFaInfo(roomInfo.strGameInfo)
  515. -- self.ui.Items.Text_Rule:setText(ruleAll)
  516. local item = self.ui.Items.Text_Rule:getCopied()
  517. item:setVisible(true)
  518. item:setText(ruleAll)
  519. self.ui.Items.ListView:addChild(item)
  520. self.ui.Items.ListView:hideAllBar()
  521. self.ui.Items.ListView:getInnerContainer():setAutoSize(true)
  522. self.ui.Items.ListView:requestDoLayout();
  523. self.ui.Items.ListView:doLayout();
  524. --时间
  525. self.ui.Items.Text_Time:setText(os.date("%m-%d %X"))--(getTimeString())
  526. --房号
  527. self.ui.Items.Text_RoomNum:setText("房号:"..roomInfo.nShowTableId)
  528. if roomInfo.stopFlag==MJDefine.StopFlag.STOP_FLAG_HUANG_ZHUANG then
  529. self.ui.Items.ImageView_Title:loadTexture("xj_liuju.png",cc.TextureResType.plistType)
  530. end
  531. end
  532. function luzhouguiRoomXiaoJuView:d2b(arg)
  533. self.data32={}
  534. for i=1,32 do
  535. self.data32[i]=2^(32-i)
  536. end
  537. local tr={}
  538. for i=1,32 do
  539. if arg >= self.data32[i] then
  540. tr[i]=1
  541. arg=arg-self.data32[i]
  542. else
  543. tr[i]=0
  544. end
  545. end
  546. return tr
  547. end
  548. function luzhouguiRoomXiaoJuView:b2d(arg)
  549. local nr=0
  550. for i=1,32 do
  551. if arg[i] ==1 then
  552. nr=nr+2^(32-i)
  553. end
  554. end
  555. return nr
  556. end
  557. function luzhouguiRoomXiaoJuView:_and(a,b)
  558. local op1=self:d2b(a)
  559. local op2=self:d2b(b)
  560. local r={}
  561. for i=1,32 do
  562. if op1[i]==1 and op2[i]==1 then
  563. r[i]=1
  564. else
  565. r[i]=0
  566. end
  567. end
  568. local c = self:b2d(r)
  569. return c
  570. end
  571. return luzhouguiRoomXiaoJuView