速算迷你世界脚本UI

 

 

 

 

 

--[[
--数学速算主界面
local UI="6996144362677448610"
local v="6996144362677448610_"
--自定义玩家数据界面
--显示界面分类
--
--称号积分幼儿园0学前班50小学生200初中生500高中生1000大学生2000研究生5000博士生10000教授50000
local A= {["主屏幕"]=v..1,["玩家资料排行"]=v..116,
          ["24点"]=v..2,["加减法"]=v..8,["乘除法"]=v..14,
          ["游戏界面数据"]=v..66,["答题结束"]=v..96,
          ["退出提示"]=v..103,["开始游戏"]=v..114,
          ["24点游戏"]=v..28,["加减乘除运算"]=v..77,
          ["学生答题记录"]=v..166,["学位版积分"]=v..117,["学分排行"]=v..146,
          }

        
        
 --游戏按键类主按键,界面操作,游戏按键
local B0={[v..4]="24点简单",[v..5]="24点困难",
          [v..10]="1位加减运算",[v..12]="2位加减运算",[v..20]="3位加减运算",[v..22]="4位加减运算",
          [v..16]="1位乘除运算",[v..18]="2位乘除运算",[v..26]="3位乘除运算",[v..24]="4位乘除运算", 
          }           
local B00={[v..29]="退出",[v..108]="确认退出",[v..109]="继续游戏",
          [v..87]="菜单",[v..88]="再来一次", [v..114]="开始游戏",
          [v..171]="学生卡",[v..124]="级别制", [v..125]="排行榜",
          }          
local B1={[v..3]="提示",[v..3]="广告",  }
local B2={[v..47]="数字1",[v..49]="数字2",[v..51]="数字3",[v..53]="数字4",          
          [v..78]="A",[v..80]="B",[v..82]="C",[v..84]="D",
          }
local B3={[v..30]="+",[v..32]="-",[v..34]="*",[v..36]="/",
         [v..38]="(",[v..40]=")",[v..42]="←",[v..44]="=",
        -- [v..48]=nil,[v..50]=nil,[v..52]=nil,[v..54]=nil,
         }
    
--信息类 游戏数据  答题结束   24点   加减乘除
local C1={"","运算式不完整","运算式输入有误","表达式除数为零","运算结果不等24",}
local C={["游戏界面数据"]={["挑战模式"]=v..73,
                         ["正确"]=v..69,
                         ["错误"]=v..70,
                         ["第几题"]=v..75,
                         ["共计题"]=v..76,
                         ["时间计时"]=v..72,
                         },
        ["玩家资料排行"]={["挑战玩家"]=v..119,
                         ["玩家迷你号"]=v..151
                         ["级别"]=v..120,
                         ["学分"]=v..123,
                         ["排行榜"]=v..150,
                         ["学生卡"]=v..167,
                         ["学生资料"]=v..170,                        
                         },              
         ["答题结束"]={["用时"]=v..101,
                      ["正确"]=v..99,
                      ["错误"]=v..100,                     
                      ["得分"]=v..102,
                      },
         ["24点游戏"]={["出题1234"]={[v..57]=nil,[v..59]=nil,[v..61]=nil,[v..63]=nil,},
                      ["数字1234"]={[v..48]=nil,[v..50]=nil,[v..52]=nil,[v..54]=nil,},
                      ["错误提示"]=v..74,
                      ["显示器"]=v..64,
                      },  
                                                       
         ["加减乘除运算"]={["出题区"]=v..94,
                         ["选项A"]=v..90,
                         ["选项B"]=v..91,
                         ["选项C"]=v..92,
                         ["选项D"]=v..93,
                         },
         } 
]]

-- 原件颜色类

 --local result,value=Player:getAttr(0,20)
--Player:setAttr(0,20,value+500)

-----------------------------------------------------------------
--数学速算主界面
--local UI="6996144362677448610"
--local v="6996144362677448610_"
local UI="7479837291720847266-22857"
local v="7479837291720847266-22857_"

-----------------------------------------------------------------
--界面
--[[
 [界面操作显示和隐藏]=1.主背景,2,玩家资料排行,
                  3.24点,4.加减法,5.乘除法,
                  6.游戏界面数据,7.24点游戏,8.加减乘除运算,
                  9.开始游戏,10.退出提示,11.答题结束,
                  12.学生卡,13.学位版积分制,14.学分排行,
                  15.回答正确提示,16.回答错误提示]]
 local UI0={v..1,v..116,v..2,v..8,v..14,v..66,v..28,v..77,v..114,v..103,v..96,v..166,v..117,v..146,v..152,v..154}
-----------------------------------------------------------------
--按键
--游戏按键类主按键,界面操作,游戏按键
local B0={[v..4]="24点简单",[v..5]="24点困难",
          [v..10]="1位加减运算",[v..12]="2位加减运算",[v..20]="3位加减运算",[v..22]="4位加减运算",
          [v..16]="1位乘除运算",[v..18]="2位乘除运算",[v..26]="3位乘除运算",[v..24]="4位乘除运算", 
          }           
local B00={[v..29]="退出",[v..108]="确认退出",[v..109]="继续游戏",
          [v..87]="菜单",[v..88]="再来一次", [v..114]="开始游戏",
          [v..171]="学生卡",[v..124]="级别制", [v..125]="排行榜",
          [v..184]="学生卡返回",[v..180]="级别制返回", [v..183]="排行榜返回",
          }          
--local B1={[v..179]="提示",[v..179]="广告",  }
local B01={[v..47]=1,[v..49]=2,[v..51]=3,[v..53]=4,  
          [v..30]="+",[v..32]="-",[v..34]="*",[v..36]="/",
          [v..38]="(",[v..40]=")",[v..42]="←",[v..44]="=",
        -- [v..48]=nil,[v..50]=nil,[v..52]=nil,[v..54]=nil,
         }
local B02={[v..78]="A",[v..80]="B",[v..82]="C",[v..84]="D",}      
-----------------------------------------------------------------
--文字赋值打印类

--原件颜色:1黑色,2白色,3红色,4绿色,5蓝色,6黄色
local Color={"0x000000","0xFFFFFF","0xFF0000","0x00FF00","0x0000FF","0xFFFF00",}
-----------------------------------------------------------------

--[玩家资料排行]=1.(玩家名字,玩家迷你号),2.级别,3.学分,4.[排行榜]=(1.名次,2.玩家,3.学分),
--            5.学生卡(1.学生,2.对题数,3.错题数,4.学时,5.答题数,6.正确率),6.学生资料=(1.时间,2模式,3,正确,4.错误,5.用时,6.学分加)
local TZP={{v..119,v..151},v..120,v..123,v..150,{v..167,v..189,v..190,v..191,v..192,v..193,},v..170}
--[游戏界面数据]=1.挑战,2.正确,3.错误,4.第几题,5.共计题=(0/10),6时间计时 =(00:00)                    
local TJS={v..73,v..69,v..70,v..75,v..76,v..72,}
--[答题结束]=1.用时=(00分00秒),2.正确,3错误,4.得分累计(原有+正确=现在)
local TND={v..101,v..99,v..100,v..102,}
--[24点游戏]=1.[出题1234],2.[数字1234],3.错误提示,4.显示器
local C1={"","运算式不完整","运算式输入有误","表达式除数为零","运算结果不等24",}
local T24={{v..57,v..59,v..61,v..63,}, {v..48,v..50,v..52,v..54,},v..74,v..64,}
--[加减乘除运算]=1.出题区,2.选项A,3.选项B,4.选项C,5.选项D,}       
local TAAD={v..94,v..90,v..91,v..92,v..93,}
-----------------------------------------------------------------
local run0=1  --每秒刷新
--游戏数据[p]   1游戏界面-游戏模式,2.(游戏开始,暂停,结束)-计时运行,3.界面弹出,关闭界面,4.回答正确,回答错误
local Pgame={} 
--游戏数据[p]  1,计时器,2.( 1,玩家,2,迷你号,3,级别,4.学分20,5.正确累计19,6.错误累计19,7.累计学时18,8.上次登录时间,9本次登录时间)
local Ps={}
local Pns={}--历史答题记录(1,时间,2模式,3正确,4错误,,6加分)
--游戏数据[p]   1.24点10题随机,2.(1234)*2赋值,3.运算表达式,4.错误提示
local P24={}
--游戏数据 [p]  1.加减法-乘除法,2.位数,3随机题库*10.3.题目打印,4.(ABCD选项)赋值
local Pad={}

-- 玩家数据版,游戏运行时间,暂停计时,恢复计时,计时归零,字符串提示,
local adda,addb,addn,addk,adds,addt,addo={},{},{},1,{},"",1
local add1,add2,add3,add4,addf,addl,adds0=0,0,0,0,1,0,0  
local gamename,o,dy,t,o1,o2,num="",0,0,0,0,0,0
-----------------------------------------------------------------
--传入玩家id与消息内容:对该玩家显示私聊消息与飘窗
local function mgp(p,s)
    Chat:sendSystemMsg("#G[仅我可见]#n"..s,p)
    Player:notifyGameInfo2Self(p,s)
end
--传入消息内容:对所有玩家显示聊天消息
local function mga(s)
    Chat:sendSystemMsg("#G[全体消息]#n"..s,0)
end 

--打开
local function uishow(p,p1)
  local p=p
  --local UI="6996144362677448610"
 -- local v="6996144362677448610_"
  local p1=p1
--[[
 [界面操作显示和隐藏]=1.主背景,2,玩家资料排行,
                  3.24点,4.加减法,5.乘除法,
                  6.游戏界面数据,7.24点游戏,8.加减乘除运算,
                  9.开始游戏,10.退出提示,11.答题结束,
                  12.学生卡,13.学位版积分制,14.学分排行,
                  15.回答正确提示,16.回答错误提示]]
 local UI0={v..1,v..116,v..2,v..8,v..14,v..66,v..28,v..77,v..114,v..103,v..96,v..166,v..117,v..146,v..152,v..154}
  Trigger.UI:showElement(p, UI, UI0[p1])
  
  end
--关闭
local function uihide(p,p1)
  local p=p
 -- local UI="6996144362677448610"
  --local v="6996144362677448610_"
  local p1=p1
--[[
 [界面操作显示和隐藏]=1.主背景,2,玩家资料排行,
                  3.24点,4.加减法,5.乘除法,
                  6.游戏界面数据,7.24点游戏,8.加减乘除运算,
                  9.开始游戏,10.退出提示,11.答题结束,
                  12.学生卡,13.学位版积分制,14.学分排行,
                  15.回答正确提示,16.回答错误提示]]
 local UI0={v..1,v..116,v..2,v..8,v..14,v..66,v..28,v..77,v..114,v..103,v..96,v..166,v..117,v..146,v..152,v..154}
  Trigger.UI:hideElement(p, UI, UI0[p1])
  
  end
-----------------------------------------------------------------
--系统时间转数字储存
local function time(p)
  local p=p
  local Time={}
  local B={"星期日","星期一","星期二","星期三","星期四","星期五","星期六",}
  local Ttime = os.date("*t", timeInterval)
  print('当前时间:#R'.. Ttime.year .. "年" .. Ttime.month .. "月" .. Ttime.day .. "日"..B[Ttime.wday] .. Ttime.hour .. ":" .. Ttime.min .. ":" .. Ttime.sec.."#n")
  Time={Ttime.year,Ttime.month,Ttime.day, B[Ttime.wday],Ttime.hour,Ttime.min,Ttime.sec,}
  local timenum=Time[1]*10^(2+2)+Time[2]*10^(2)+Time[3]*10^(0)+Time[5]/10^(2)+Time[6]/10^(4)+Time[7]/10^(6)
  Ps[p][2][9]=timenum
end
--时间转换秒转年,天,时,分,秒
local function timez()
  local a=3456
  local second=a
   local s=a%60
  local f=(math.floor(a/60))%60
  local h=(math.floor((math.floor(a/60))/60))%24
  local d=(math.floor((math.floor((math.floor(a/60))/60))/24))%365
  local n=math.floor((math.floor((math.floor((math.floor(a/60))/60))/24))/365)
  
print(n.."年"..d.."天"..h.."时"..f.."分"..s.."秒\n"..a)
print(vv)
end
 --挑战面板结束用时
 local function timexz()
  local second=second
  local vv=(math.floor((math.floor(second/60))/10))..((math.floor(second/60))%10).."分"..(math.floor((second%60)/10))..((second%60)%10).."秒"
    return vv
  end
--timez()
--历史时数字储存解析转换上次登录时间
local function timesz()
  local a=timenum
  --local a1=math.floor(a) a2=((a-math.floor(a))*10^(6))
  local d=math.floor(a)%100 s=math.ceil(((a-math.floor(a))*10^(6))%100)
  local m=(math.floor(math.floor(a)/100))%100  f=(math.floor(((a-math.floor(a))*10^(6))/100))%100
  local y=(math.floor((math.floor(math.floor(a)/100))/100))%10000 h=(math.floor((math.floor(((a-math.floor(a))*10^(6))/100))/100))%100
  

print(y.."年"..m.."月"..d.."天"..h.."时"..f.."分"..s.."秒\n"..a)
end
--time()
--timesz()
-----------------------------------------------------------------
--学位制
local function level(p)
  local p=p
  if     Ps[p][2][4]>=0 and Ps[p][2][4]<50 then Ps[p][2][3]="幼儿园"
  elseif Ps[p][2][4]>=50 and Ps[p][2][4]<200 then Ps[p][2][3]="学前班"
  elseif Ps[p][2][4]>=200 and Ps[p][2][4]<500 then Ps[p][2][3]="小学生"
  elseif Ps[p][2][4]>=500 and Ps[p][2][4]<1000 then Ps[p][2][3]="初中生"
  elseif Ps[p][2][4]>=1000 and Ps[p][2][4]<2000 then Ps[p][2][3]="高中生"
  elseif Ps[p][2][4]>=2000 and Ps[p][2][4]<5000 then Ps[p][2][3]="大学生"
  elseif Ps[p][2][4]>=5000 and Ps[p][2][4]<10080 then Ps[p][2][3]="研究生"
  elseif Ps[p][2][4]>=10000 and Ps[p][2][4]<50000 then Ps[p][2][3]="博士生"
  elseif Ps[p][2][4]>=50000  then Ps[p][2][3]="教授" 
  end
return Ps[p][2][3]
end


-----------------------------------------------------------------
--学生卡
local function class(p)
  --数学速算主界面
--local UI="6996144362677448610"
--local v="6996144362677448610_"
--[玩家资料排行]=1.(玩家名字,玩家迷你号),2.级别,3.学分,4.[排行榜]=(1.名次,2.玩家,3.学分),
--            5.学生卡(1.学生,2.对题数,3.错题数,4.学时,5.答题数,6.正确率),6.学生资料=(1.时间,2模式,3,正确,4.错误,5.用时,6.学分加)
local TZP={{v..119,v..151},v..120,v..123,v..150,{v..167,v..189,v..190,v..191,v..192,v..193,},v..170}
--玩家游戏数据[p]   1,计时器,2(1,玩家,2,迷你号,3级别,4.学分,5累计正确,6,累计题目,7,累计用时,8.正确率)3,游戏界面数据(1,游戏模式,2.正确,3.错误,4.第几题,5.用时)
 local Ps=Ps
local p=p 
  Trigger.UI:setText(i, UI, TZP[5][1], Ps[p][2][1])
  Trigger.UI:setText(i, UI, TZP[5][2], Ps[p][2][5])
  local v=Ps[p][2][6]-Ps[p][2][5]
  Trigger.UI:setText(i, UI, TZP[5][3], v)
  Trigger.UI:setText(i, UI, TZP[5][4], Ps[p][2][7])
  Trigger.UI:setText(i, UI, TZP[5][5], Ps[p][2][6])
  local v=100*math.floor((Ps[p][2][5]*1000)/Ps[p][2][6]).."%"
  Trigger.UI:setText(i, UI, TZP[5][6],v)
  local v=""
  local j=0
  for i=#Pns[p],0,-1 do
  j=j+1
  vv=j.."."..Pns[p][i][1].." "..Pns[p][i][2].." "..Pns[p][i][3].." "..Pns[p][i][4].." "..Pns[p][i][5].." "..Pns[p][i][6].."\n"
  end
  Trigger.UI:setText(i, UI, TZP[6],vv)
  end
--排行榜
local function leaderboard(p)
  local p=p
  local leader=""
  local board={}
  local a1=0
  for i,a in pairs(Ps) do
    print(a)
    print(unpack(a))   
    board[#board+1]=a
  end
   
  table.sort(board, function(a, b)
    if a[4] > b[4] then
        -- 按分数降序
        return true
    elseif a[4] == b[4] then
        -- 如果n分数相等,按正确率降序
        if math.floor(a[4]*10000/a[5])/(100) < math.floor(b[4]*10000/b[5])/(100) then
            return true
        elseif math.floor(a[4]*10000/a[5])/(100) == math.floor(b[4]*10000/b[5])/(100) then
            -- 如果正确率相等,按id降序
            return a[2] > b[2]
        end
    end
    return false
  end)
 
 for i,a in pairs(board) do
   leader=leader.."第"..i.."名. 学生:"..a[1].."  学位:"..a[3].." 学分:"..a[4].." 正确率:"..math.floor(a[4]*10000/a[5])/(100).."%\n"
   if a[2]==p then
    leader="第"..i.."名.  学生:"..a[1].."  学位:"..a[3].." 学分:"..a[4].." 正确率:"..math.floor(a[4]*10000/a[5])/(100).."%\n"..leader
   end
 end
 print(leader)
 Trigger.UI:setText(p, UI, TZP[4], leader)

end

--leaderboard(Ps)
-----------------------------------------------------------------
--主页面显示1.玩家资料信息,2.游戏数据界面(游戏运行)
local function UIboard()
  --数学速算主界面
--local UI="6996144362677448610"
--local v="6996144362677448610_"
--[玩家资料排行]=1.(玩家名字,玩家迷你号),2.级别,3.学分,4.[排行榜]=(1.名次,2.玩家,3.学分),
--            5.学生卡(1.学生,2.对题数,3.错题数,4.学时,5.答题数,6.正确率),6.学生资料=(1.时间,2模式,3,正确,4.错误,5.用时,6.学分加)
local TZP={{v..119,v..151},v..120,v..123,v..150,{v..167,v..189,v..190,v..191,v..192,v..193,},v..170}
--[游戏界面数据]=1.挑战,2.正确,3.错误,4.第几题,5.共计题=(0/10),6时间计时 =(00:00)   
local TJS={v..73,v..69,v..70,v..75,v..76,v..72,}
--[24点游戏]=1.[出题1234],2.[数字1234],3.错误提示,4.显示器
local C1={"","运算式不完整","运算式输入有误","表达式除数为零","运算结果不等24",}
local T24={{v..57,v..59,v..61,v..63,}, {v..48,v..50,v..52,v..54,},v..74,v..64,}
local UIB24={v..47,v..49,v..51,v..53,}
   --原件颜色:1黑色,2白色,3红色,4绿色,5蓝色,6黄色
local Color={"0x000000","0xFFFFFF","0xFF0000","0x00FF00","0x0000FF","0xFFFF00",}    
--[答题结束]=1.用时=(00分00秒),2.正确,3错误,4.得分累计(原有+正确=现在)
local TND={v..101,v..99,v..100,v..102,}
--玩家游戏数据[p]   1,计时器,2(1,玩家,2,迷你号,3级别,4.学分,5累计正确,6,累计题目,7,累计用时,8.正确率)3,游戏界面数据(1,游戏模式,2.正确,3.错误,4.第几题,5.用时)
 local Ps=Ps
 --游戏数据[p]   1游戏界面-(1.游戏模式,2.游戏难度),2.(游戏开始0,暂停1,结束-1)-计时运行,3.界面弹出,关闭界面,4.回答正确,回答错误
local Pgame=Pgame
--游戏数据[p]   1,玩家,2,迷你号,3,游戏模式,4.正确,5.错误,6.第几题,7.用时
local P24=P24
  for i,a in pairs(Ps) do   
    if a[1]~=nil then 
      --排行资料
     a[2][3]=level(i)
  Trigger.UI:setText(i, UI, TZP[1][1], a[2][1])
  Trigger.UI:setText(i, UI, TZP[1][2], a[2][2])
  Trigger.UI:setText(i, UI, TZP[1][3], a[2][3])
  Trigger.UI:setText(i, UI, TZP[1][4], a[2][4])
 
     if Pgame[i]["o"]~=0 then 
       --游戏界面数据
     Trigger.UI:setText(i, UI, TJS[1], a[3][1])
     Trigger.UI:setText(i, UI, TJS[2], a[3][2])
     Trigger.UI:setText(i, UI, TJS[3], a[3][3])
     Trigger.UI:setText(i, UI, TJS[4], a[3][4])
     Trigger.UI:setText(i, UI, TJS[5], a[3][4])
       if Pgame[i]["t"]==0 then
         if Pgame[i]["o"]==1 then
           local vv=P24[p]["addt"]
           Trigger.UI:setText(i, UI, T24[4], vv)
           local vv=C1[P24[p]["addo"]]
           Trigger.UI:setText(i, UI, T24[3], vv)
           if P24[p]["add1"]==1 then Trigger.UI:setColor(p, UI , UIB24[1], Color[5])    else   Trigger.UI:setColor(p, UI , UIB24[1], Color[6])  end
           if P24[p]["add2"]==1 then Trigger.UI:setColor(p, UI , UIB24[2], Color[5])    else   Trigger.UI:setColor(p, UI , UIB24[2], Color[6])  end
           if P24[p]["add3"]==1 then Trigger.UI:setColor(p, UI , UIB24[3], Color[5])    else   Trigger.UI:setColor(p, UI , UIB24[3], Color[6])  end
           if P24[p]["add4"]==1 then Trigger.UI:setColor(p, UI , UIB24[4], Color[5])    else   Trigger.UI:setColor(p, UI , UIB24[4], Color[6])  end
           
           end
       elseif Pgame[i]["t"]==1 then
       local result,second=MiniTimer:getTimerTime(a[1])      
       local vv=(math.floor((math.floor(second/60))/10))..((math.floor(second/60))%10)..":"..(math.floor((second%60)/10))..((second%60)%10)
       Trigger.UI:setText(i, UI, TJS[6], vv)       
       elseif Pgame[i]["t"]==-1 then
       local result,second=MiniTimer:getTimerTime(a[1])
       local vv=timexz(second)
       Trigger.UI:setText(i, UI, TND[1], vv)
       Trigger.UI:setText(i, UI, TND[2], a[3][2])
       Trigger.UI:setText(i, UI, TND[3], a[3][3])
       local vv=a[2][4].."+"..(a[3][2]*Pgame[i]["dy"]).."="..(a[2][4]+a[3][2]*Pgame[i]["dy"])
       Trigger.UI:setText(i, UI, TND[4], vv)
       end
     end
   end
 end
   
end
-----------------------------------------------------------------
--24点打印题目
local function Game24board(p) 
  --数学速算主界面
--local UI="6996144362677448610"
--local v="6996144362677448610_"
--[24点游戏]=1.[出题1234],2.[数字1234],3.错误提示,4.显示器
local C1={"","运算式不完整","运算式输入有误","表达式除数为零","运算结果不等24",}
local T24={{v..57,v..59,v..61,v..63,}, {v..48,v..50,v..52,v..54,},v..74,v..64,}
--[加减乘除运算]=1.出题区,2.选项A,3.选项B,4.选项C,5.选项D,}       
local TAAD={v..94,v..90,v..91,v..92,v..93,}
 for i=1,4 do
  Trigger.UI:setText(p, UI, T24[1][i], P24[p][1][Pgame[p]["num"]][i])
  Trigger.UI:setText(p, UI, T24[2][i], P24[p][1][Pgame[p]["num"]][i])
  
 end
end

local function Game24boardnum(p)
 local B01={[v..47]=1,[v..49]=2,[v..51]=3,[v..53]=4,  
          [v..30]="+",[v..32]="-",[v..34]="*",[v..36]="/",
          [v..38]="(",[v..40]=")",[v..42]="←",[v..44]="=",
        -- [v..48]=nil,[v..50]=nil,[v..52]=nil,[v..54]=nil,
         }
 
 
 
 
  end

-----------------------------------------------------------------
--24点十题随机题目(简单,困难)
local function Game24t(p)
  local p=p   
   P24[p][1]={}
  if Pgame[p]["o"]==1 and Pgame[p]["dy"]==1 then
    for i=1,10 do      
      P24[p][1][i]=_G.GameD1[math.random(1,#_G.GameD1)]
    end 
  elseif Pgame[p]["o"]==1 and Pgame[p]["dy"]==2 then   
    for i=1,10 do      
      P24[p][1][i]=_G.GameD2[math.random(1,#_G.GameD2)]
    end 
  end
print(P24)
Game24board(p)
end

  
  
  


-----------------------------------------------------------------
--主菜单 游戏选择 游戏数据 -
 local function ui0(p)
   local p=p
   --local Pgame=Pgame
--  local UI="6996144362677448610"
 -- local v="6996144362677448610_"
 local v01 = [=[6996144362677448610-基础页面]=]
 local v02 = [=[6996144362677448610-基础页面1]=]
 local v03 = [=[6996144362677448610-基础页面2]=]
 local v04 = [=[6996144362677448610-基础页面3]=]
  print("界面操作")
--[[
 [界面操作显示和隐藏]=1.主背景,2,玩家资料排行,
                  3.24点,4.加减法,5.乘除法,
                  6.游戏界面数据,7.24点游戏,8.加减乘除运算,
                  9.开始游戏,10.退出提示,11.答题结束,                  12.学生卡,13.学位版积分制,14.学分排行,
                  15.回答正确提示,16.回答错误提示]]
 local UI0={v..1,v..116,v..2,v..8,v..14,v..66,v..28,v..77,v..114,v..103,v..96,v..166,v..117,v..146,v..152,v..154}
-----------------------------------------------------------------
  if Pgame[p]["o"]==0 then
    Player:openUIView(p,UI)
   for i=3,16 do
   Trigger.UI:hideElement(p, UI, UI0[i])
   end
     Trigger.UI:showElement(p, UI, UI0[3])
     Trigger.UI:showElement(p, UI, UI0[4])
     Trigger.UI:showElement(p, UI, UI0[5])
     print("主界面")
  elseif  Pgame[p]["o"]==1 then
     for i=3,5 do
   Trigger.UI:hideElement(p, UI, UI0[i])
   end
     Trigger.UI:showElement(p, UI, UI0[6])
     Trigger.UI:showElement(p, UI, UI0[7])
      print("24点")       
 elseif  Pgame[p]["o"]==2 or Pgame[p]["o"]==3 then   
    for i=3,5 do
   Trigger.UI:hideElement(p, UI, UI0[i])
   end
     Trigger.UI:showElement(p, UI, UI0[6])
     Trigger.UI:showElement(p, UI, UI0[8])     
      print("加减乘除")       
   end
 end    

--游戏数据模式
local function gameb()
Trigger.UI:setText(p,UI,v..73,B0[v0])
end


   
   
   -----------------------------------------------------------------
   local function addclear(p)  --运算清空重置
     local p=p
   P24[p]["adda"]={}
   P24[p]["addb"]={}
   P24[p]["addk"]=1
   P24[p]["addf"]=1
   P24[p]["addl"]=0
   P24[p]["addo"]=4
   P24[p]["addn"]={}
   P24[p]["adds"]={}
   P24[p]["addn"][P24[p]["addk"]]=1
   P24[p]["adda"][P24[p]["addk"]]={}
   P24[p]["addb"][P24[p]["addk"]]={}
   P24[p]["adda"][P24[p]["addk"][P24[p]["addn"][P24[p]["addk"]]]]=0
   P24[p]["addb"][P24[p]["addk"][P24[p]["addn"][P24[p]["addk"]]]]=0
   P24[p]["addt"]=""
   P24[p]["adds0"]=0
   P24[p]["add1"]=0
   P24[p]["add2"]=0
   P24[p]["add3"]=0
   P24[p]["add4"]=0
   print(P24)
   end
 
 -----------------------------------------------------------------
-- 运算
--[[
local function addadd(p) --清除
  local second=1
  a,b,c,n,s,t1={},{},nil,{},{},{}
  t=""
  n1,a1,k,p,f,d,t2,l,s1,o0,j,st=0,0,1,0,0,0,1,0,"",0,0,0
  n[k]=1
  a[k]={}
  a[k][n[k] ]=0
  b[k]={}
  b[k][n[k] ]=0
  end
]]

local function addadd(p)
   P24[p]["adds"][P24[p]["addk"]]=0
if P24[p]["addk"]==1 then 
print("k="..P24[p]["addk"].."n[k]="..P24[p]["addn"][P24[p]["addk"]])
print("a[k]=")
print(unpack(P24[p]["adda"][P24[p]["addk"]]))
print("b[k]=")
print(unpack(P24[p]["addb"][P24[p]["addk"]]))
   P24[p]["adds"][P24[p]["addk"]]=0
if P24[p]["addn"][P24[p]["addk"]]==1 then P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][P24[p]["addn"][P24[p]["addk"]]]  P24[p]["addt"]=P24[p]["addt"].."=" 
else
if P24[p]["addb"][P24[p]["addk"][P24[p]["addn"][P24[p]["addk"]]]]~=0 and P24[p]["adda"][P24[p]["addk"][P24[p]["addn"][P24[p]["addk"]]]]==nil then P24[p]["addt"]=P24[p]["addt"].."0" end
P24[p]["addt"]=P24[p]["addt"].."="
 for i=1,P24[p]["addn"][P24[p]["addk"]] do
  if P24[p]["addb"][P24[p]["addk"]][i]==1  then
    if (P24[p]["addb"][P24[p]["addk"]][i+1]~=3 and P24[p]["addb"][P24[p]["addk"]][i+1]~=4)  then P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][i]+P24[p]["adda"][P24[p]["addk"]][i+1] P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adds"][P24[p]["addk"]]  P24[p]["adda"][P24[p]["addk"]][i]=0 P24[p]["addb"][P24[p]["addk"]][i]=0
    elseif P24[p]["addb"][P24[p]["addk"]][i+1]==3  then if P24[p]["adda"][P24[p]["addk"]][i+2]~=nil  then P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][i+1]*P24[p]["adda"][P24[p]["addk"]][i+2]   P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adda"][P24[p]["addk"]][i]   P24[p]["adda"][P24[p]["addk"]][i+2]=P24[p]["adds"][P24[p]["addk"]]  P24[p]["addb"][P24[p]["addk"]][i+1]=P24[p]["addb"][P24[p]["addk"]][i] P24[p]["adda"][P24[p]["addk"]][i]=0  P24[p]["addb"][P24[p]["addk"]][i]=0  else  P24[p]["adds"][P24[p]["addk"]]=0   P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adda"][P24[p]["addk"]][i]   P24[p]["adda"][P24[p]["addk"]][i+2]=P24[p]["adds"][P24[p]["addk"]]  P24[p]["addb"][P24[p]["addk"]][i+1]=P24[p]["addb"][P24[p]["addk"]][i] P24[p]["addb"][P24[p]["addk"]][i]=0 end
    elseif P24[p]["addb"][P24[p]["addk"]][i+1]==4  then if (P24[p]["adda"][P24[p]["addk"]][i+2]~=0 and P24[p]["adda"][P24[p]["addk"]][i+2]~=nil) then P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][i+1]/P24[p]["adda"][P24[p]["addk"]][i+2] P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adda"][P24[p]["addk"]][i]   P24[p]["adda"][P24[p]["addk"]][i+2]=P24[p]["adds"][P24[p]["addk"]]  P24[p]["addb"][P24[p]["addk"]][i+1]=1 P24[p]["adda"][P24[p]["addk"]][i]=0  P24[p]["addb"][P24[p]["addk"]][i]=0  else  o=3 add4() s0=0 Player:playMusic(v,mid[3],150,1,false) return end end
    elseif P24[p]["addb"][P24[p]["addk"]][i]==2 then
   if (P24[p]["addb"][P24[p]["addk"]][i+1]~=3 and P24[p]["addb"][P24[p]["addk"]][i+1]~=4)  then P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][i]-P24[p]["adda"][P24[p]["addk"]][i+1] P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adds"][P24[p]["addk"]]  P24[p]["adda"][P24[p]["addk"]][i]=0 P24[p]["addb"][P24[p]["addk"]][i]=0 
    elseif P24[p]["addb"][P24[p]["addk"]][i+1]==3  then if P24[p]["adda"][P24[p]["addk"]][i+2]~=nil  then P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][i+1]*P24[p]["adda"][P24[p]["addk"]][i+2]   P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adda"][P24[p]["addk"]][i]   P24[p]["adda"][P24[p]["addk"]][i+2]=P24[p]["adds"][P24[p]["addk"]]  P24[p]["addb"][P24[p]["addk"]][i+1]=P24[p]["addb"][P24[p]["addk"]][i] P24[p]["adda"][P24[p]["addk"]][i]=0  P24[p]["addb"][P24[p]["addk"]][i]=0  else  P24[p]["adds"][P24[p]["addk"]]=0   P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adda"][P24[p]["addk"]][i]   P24[p]["adda"][P24[p]["addk"]][i+2]=P24[p]["adds"][P24[p]["addk"]]  P24[p]["addb"][P24[p]["addk"]][i+1]=P24[p]["addb"][P24[p]["addk"]][i] P24[p]["addb"][P24[p]["addk"]][i]=0 end
    elseif P24[p]["addb"][P24[p]["addk"]][i+1]==4  then if (P24[p]["adda"][P24[p]["addk"]][i+2]~=0 and P24[p]["adda"][P24[p]["addk"]][i+2]~=nil) then P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][i+1]/P24[p]["adda"][P24[p]["addk"]][i+2] P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adda"][P24[p]["addk"]][i]   P24[p]["adda"][P24[p]["addk"]][i+2]=P24[p]["adds"][P24[p]["addk"]]  P24[p]["addb"][P24[p]["addk"]][i+1]=1 P24[p]["adda"][P24[p]["addk"]][i]=0  P24[p]["addb"][P24[p]["addk"]][i]=0  else  o=3 add4() s0=0 Player:playMusic(v,mid[3],150,1,false) return end end
  elseif P24[p]["addb"][P24[p]["addk"]][i]==3  then P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][i]*a[k][i+1] P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adds"][P24[p]["addk"]] P24[p]["adda"][P24[p]["addk"]][i]=0 P24[p]["addb"][P24[p]["addk"]][i]=0 
  elseif P24[p]["addb"][P24[p]["addk"]][i]==4  then if (P24[p]["adda"][P24[p]["addk"]][i+1]~=0 and P24[p]["adda"][P24[p]["addk"]][i+1]~=nil)  then P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][i]/P24[p]["adda"][P24[p]["addk"]][i+1]  P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adds"][P24[p]["addk"]] P24[p]["adda"][P24[p]["addk"]][i]=0 P24[p]["addb"][P24[p]["addk"]][i]=0  else o=3 add4() s0=0 Player:playMusic(v,mid[3],150,1,false) return end 
  end
 end
P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][P24[p]["addn"][P24[p]["addk"]]]
P24[p]["adds0"]=P24[p]["adds"][P24[p]["addk"]] 
end
elseif P24[p]["addk"]>1 then 
print("k="..P24[p]["addk"].."n[k]="..P24[p]["addn"][P24[p]["addk"]])
print("a[k]")
print(unpack(P24[p]["adda"][P24[p]["addk"]]))
print("b[k]")
print(unpack(P24[p]["addb"][P24[p]["addk"]]))
 for i=1,P24[p]["addn"][P24[p]["addk"]] do
  if P24[p]["addb"][P24[p]["addk"]][i]==1  then
    if (P24[p]["addb"][P24[p]["addk"]][i+1]~=3 and P24[p]["addb"][P24[p]["addk"]][i+1]~=4)  then P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][i]+P24[p]["adda"][P24[p]["addk"]][i+1] P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adds"][P24[p]["addk"]]  P24[p]["adda"][P24[p]["addk"]][i]=0 P24[p]["addb"][P24[p]["addk"]][i]=0
    elseif P24[p]["addb"][P24[p]["addk"]][i+1]==3  then if P24[p]["adda"][P24[p]["addk"]][i+2]~=nil  then P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][i+1]*P24[p]["adda"][P24[p]["addk"]][i+2]   P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adda"][P24[p]["addk"]][i]   P24[p]["adda"][P24[p]["addk"]][i+2]=P24[p]["adds"][P24[p]["addk"]]  P24[p]["addb"][P24[p]["addk"]][i+1]=P24[p]["addb"][P24[p]["addk"]][i] P24[p]["adda"][P24[p]["addk"]][i]=0  P24[p]["addb"][P24[p]["addk"]][i]=0  else  P24[p]["adds"][P24[p]["addk"]]=0   P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adda"][P24[p]["addk"]][i]   P24[p]["adda"][P24[p]["addk"]][i+2]=P24[p]["adds"][P24[p]["addk"]]  P24[p]["addb"][P24[p]["addk"]][i+1]=P24[p]["addb"][P24[p]["addk"]][i] P24[p]["addb"][P24[p]["addk"]][i]=0 end
    elseif P24[p]["addb"][P24[p]["addk"]][i+1]==4  then if (P24[p]["adda"][P24[p]["addk"]][i+2]~=0 and P24[p]["adda"][P24[p]["addk"]][i+2]~=nil) then P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][i+1]/P24[p]["adda"][P24[p]["addk"]][i+2] P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adda"][P24[p]["addk"]][i]   P24[p]["adda"][P24[p]["addk"]][i+2]=P24[p]["adds"][P24[p]["addk"]]  P24[p]["addb"][P24[p]["addk"]][i+1]=1 P24[p]["adda"][P24[p]["addk"]][i]=0  P24[p]["addb"][P24[p]["addk"]][i]=0  else  o=3 add4() s0=0 Player:playMusic(v,mid[3],150,1,false) return end end
    elseif P24[p]["addb"][P24[p]["addk"]][i]==2 then
   if (P24[p]["addb"][P24[p]["addk"]][i+1]~=3 and P24[p]["addb"][P24[p]["addk"]][i+1]~=4)  then P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][i]-P24[p]["adda"][P24[p]["addk"]][i+1] P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adds"][P24[p]["addk"]]  P24[p]["adda"][P24[p]["addk"]][i]=0 P24[p]["addb"][P24[p]["addk"]][i]=0 
    elseif P24[p]["addb"][P24[p]["addk"]][i+1]==3  then if P24[p]["adda"][P24[p]["addk"]][i+2]~=nil  then P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][i+1]*P24[p]["adda"][P24[p]["addk"]][i+2]   P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adda"][P24[p]["addk"]][i]   P24[p]["adda"][P24[p]["addk"]][i+2]=P24[p]["adds"][P24[p]["addk"]]  P24[p]["addb"][P24[p]["addk"]][i+1]=P24[p]["addb"][P24[p]["addk"]][i] P24[p]["adda"][P24[p]["addk"]][i]=0  P24[p]["addb"][P24[p]["addk"]][i]=0  else  P24[p]["adds"][P24[p]["addk"]]=0   P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adda"][P24[p]["addk"]][i]   P24[p]["adda"][P24[p]["addk"]][i+2]=P24[p]["adds"][P24[p]["addk"]]  P24[p]["addb"][P24[p]["addk"]][i+1]=P24[p]["addb"][P24[p]["addk"]][i] P24[p]["addb"][P24[p]["addk"]][i]=0 end
    elseif P24[p]["addb"][P24[p]["addk"]][i+1]==4  then if (P24[p]["adda"][P24[p]["addk"]][i+2]~=0 and P24[p]["adda"][P24[p]["addk"]][i+2]~=nil) then P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][i+1]/P24[p]["adda"][P24[p]["addk"]][i+2] P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adda"][P24[p]["addk"]][i]   P24[p]["adda"][P24[p]["addk"]][i+2]=P24[p]["adds"][P24[p]["addk"]]  P24[p]["addb"][P24[p]["addk"]][i+1]=1 P24[p]["adda"][P24[p]["addk"]][i]=0  P24[p]["addb"][P24[p]["addk"]][i]=0  else  o=3 add4() s0=0 Player:playMusic(v,mid[3],150,1,false) return end end
  elseif P24[p]["addb"][P24[p]["addk"]][i]==3  then P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][i]*a[k][i+1] P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adds"][P24[p]["addk"]] P24[p]["adda"][P24[p]["addk"]][i]=0 P24[p]["addb"][P24[p]["addk"]][i]=0 
  elseif P24[p]["addb"][P24[p]["addk"]][i]==4  then if (P24[p]["adda"][P24[p]["addk"]][i+1]~=0 and P24[p]["adda"][P24[p]["addk"]][i+1]~=nil)  then P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][i]/P24[p]["adda"][P24[p]["addk"]][i+1]  P24[p]["adda"][P24[p]["addk"]][i+1]=P24[p]["adds"][P24[p]["addk"]] P24[p]["adda"][P24[p]["addk"]][i]=0 P24[p]["addb"][P24[p]["addk"]][i]=0  else o=3 add4() s0=0 Player:playMusic(v,mid[3],150,1,false) return end 
  end
 end
P24[p]["adds"][P24[p]["addk"]]=P24[p]["adda"][P24[p]["addk"]][P24[p]["addn"][P24[p]["addk"]]]
P24[p]["adda"][P24[p]["addk"]-1][P24[p]["addn"][P24[p]["addk"]-1]]=P24[p]["adds"][P24[p]["addk"]] 
end
if P24[p]["addk"]==1 then
print(P24[p]["adds"][P24[p]["addk"]])
else
print(P24[p]["adds"][P24[p]["addk"]])
P24[p]["adda"][P24[p]["addk"]],P24[p]["addb"][P24[p]["addk"]],P24[p]["addn"][P24[p]["addk"]]=nil,nil,nil 
P24[p]["addk"]=P24[p]["addk"]-1
end
print(unpack(P24[p]["adds"]))
print("s1="..P24[p]["adds0"])
end

--刷新题目
local function game(p)
  if Pgame[p]["o"]==1  then
    addclear(p)
    
    Game24board(p) 
  elseif Pgame[p]["o"]==2 or Pgame[p]["o"]==3 then
  end
end
-----------------------------------------------------------------
 
 
   
  --24点运算按键
  local function Game24boardnum(p,v0)
    local p=p    
      if B01[v0]=="=" and P24[p]["addf"]==0 then 
        if  P24[p]["add1"]==1 and P24[p]["add2"]==1 and P24[p]["add3"]==1 and P24[p]["add4"]==1 then
          --addadd(p) --运算
          else  P24[p]["addo"]=3 end
      elseif B01[v0]=="←" then  addclear(p) print("已清除")
      elseif B01[v0]=="+" and P24[p]["addf"]==0 then 
        P24[p]["addt"]=P24[p]["addt"]..B01[v0]
        P24[p]["addl"]=0 
        P24[p]["addf"]=1 
        P24[p]["addb"][P24[p]["addk"][P24[p]["addn"][P24[p]["addk"]]]]=1  
        P24[p]["addn"][P24[p]["addk"]]=P24[p]["addn"][P24[p]["addk"]]+1
      elseif B01[v0]=="-" and P24[p]["addf"]==0 then 
        P24[p]["addt"]=P24[p]["addt"]..B01[v0]
        P24[p]["addl"]=0 
        P24[p]["addf"]=1 
        P24[p]["addb"][P24[p]["addk"][P24[p]["addn"][P24[p]["addk"]]]]=2  
        P24[p]["addn"][P24[p]["addk"]]=P24[p]["addn"][P24[p]["addk"]]+1
      elseif B01[v0]=="*" and P24[p]["addf"]==0 then 
        P24[p]["addt"]=P24[p]["addt"]..B01[v0]
        P24[p]["addl"]=0 
        P24[p]["addf"]=1 
        P24[p]["addb"][P24[p]["addk"][P24[p]["addn"][P24[p]["addk"]]]]=3  
        P24[p]["addn"][P24[p]["addk"]]=P24[p]["addn"][P24[p]["addk"]]+1
      elseif B01[v0]=="/" and P24[p]["addf"]==0 then 
        P24[p]["addt"]=P24[p]["addt"]..B01[v0]
        P24[p]["addl"]=0 
        P24[p]["addf"]=1 
        P24[p]["addb"][P24[p]["addk"][P24[p]["addn"][P24[p]["addk"]]]]=4  
        P24[p]["addn"][P24[p]["addk"]]=P24[p]["addn"][P24[p]["addk"]]+1
      elseif B01[v0]=="(" and P24[p]["addf"]==1 then 
        P24[p]["addt"]=P24[p]["addt"]..B01[v0]
        P24[p]["addk"]=P24[p]["addk"]+1 
        P24[p]["addn"][P24[p]["addk"]]=1 
        P24[p]["adda"][P24[p]["addk"]]={}
        P24[p]["addb"][P24[p]["addk"]]={}
        P24[p]["adda"][P24[p]["addk"][P24[p]["addn"][P24[p]["addk"]]]]=0
        P24[p]["addb"][P24[p]["addk"][P24[p]["addn"][P24[p]["addk"]]]]=0
      elseif B01[v0]==")" then    
        P24[p]["addt"]=P24[p]["addt"]..B01[v0]
        --addadd(p)
      elseif B01[v0]==1 and P24[p]["addl"]==0 then if P24[p]["add1"]==0 then 
        P24[p]["add1"]=1 P24[p]["addf"]=0 P24[p]["addl"]=1 
        P24[p]["adda"][P24[p]["addk"][P24[p]["addn"][P24[p]["addk"]]]]=P24[p][1][Pgame[p]["num"]][1]  
        P24[p]["addt"]=P24[p]["addt"]..P24[p][1][Pgame[p]["num"]][1]
        else  P24[p]["addo"]=2 end
      elseif B01[v0]==2 and P24[p]["addl"]==0 then if P24[p]["add2"]==0 then 
        P24[p]["add2"]=1 P24[p]["addf"]=0 P24[p]["addl"]=1 
        P24[p]["adda"][P24[p]["addk"][P24[p]["addn"][P24[p]["addk"]]]]=P24[p][1][Pgame[p]["num"]][2]  
        P24[p]["addt"]=P24[p]["addt"]..P24[p][1][Pgame[p]["num"]][2]
        else  P24[p]["addo"]=2 end
      elseif B01[v0]==3 and P24[p]["addl"]==0 then if P24[p]["add3"]==0 then 
        P24[p]["add3"]=1 P24[p]["addf"]=0 P24[p]["addl"]=1 
        P24[p]["adda"][P24[p]["addk"][P24[p]["addn"][P24[p]["addk"]]]]=P24[p][1][Pgame[p]["num"]][3]  
        P24[p]["addt"]=P24[p]["addt"]..P24[p][1][Pgame[p]["num"]][3]
        else  P24[p]["addo"]=2 end
      elseif B01[v0]==4 and P24[p]["addl"]==0 then if P24[p]["add4"]==0 then 
        P24[p]["add4"]=1 P24[p]["addf"]=0 P24[p]["addl"]=1 
        P24[p]["adda"][P24[p]["addk"][P24[p]["addn"][P24[p]["addk"]]]]=P24[p][1][Pgame[p]["num"]][4]  
        P24[p]["addt"]=P24[p]["addt"]..P24[p][1][Pgame[p]["num"]][4]
        else  P24[p]["addo"]=2 end      
       P24[p]["addo"]=1
      else 
      --(运算公式不完整)
 
  
  
      end
   
  end 
   
   --按键界面 
  local function UIB(p,v0)
   local p=p
 -- local UI="6996144362677448610"
 -- local v="6996144362677448610_"
  local v0=v0
--[[
 [界面操作显示和隐藏]=1.主背景,2,玩家资料排行,
                  3.24点,4.加减法,5.乘除法,
                  6.游戏界面数据,7.24点游戏,8.加减乘除运算,
                  9.开始游戏,10.退出提示,11.答题结束,
                  12.学生卡,13.学位版积分制,14.学分排行,
                  15.回答正确提示,16.回答错误提示]]
 local UI0={v..1,v..116,v..2,v..8,v..14,v..66,v..28,v..77,v..114,v..103,v..96,v..166,v..117,v..146,v..152,v..154}
        print("按键")
   if B0[v0]=="24点简单"       then  Pgame[p]["o"]=1 Pgame[p]["dy"]=1 ui0(p) p1=9 uishow(p,p1) Game24t(p)
   elseif B0[v0]=="24点困难"   then  Pgame[p]["o"]=1 Pgame[p]["dy"]=2 ui0(p) p1=9 uishow(p,p1) Game24t(p)
   elseif B0[v0]=="1位加减运算" then  Pgame[p]["o"]=2 Pgame[p]["dy"]=1 ui0(p) p1=9 uishow(p,p1)
   elseif B0[v0]=="2位加减运算" then  Pgame[p]["o"]=2 Pgame[p]["dy"]=2 ui0(p) p1=9 uishow(p,p1)
   elseif B0[v0]=="3位加减运算" then  Pgame[p]["o"]=2 Pgame[p]["dy"]=3 ui0(p) p1=9 uishow(p,p1)
   elseif B0[v0]=="4位加减运算" then  Pgame[p]["o"]=2 Pgame[p]["dy"]=4 ui0(p) p1=9 uishow(p,p1)
   elseif B0[v0]=="1位乘除运算" then  Pgame[p]["o"]=3 Pgame[p]["dy"]=1 ui0(p) p1=9 uishow(p,p1)
   elseif B0[v0]=="2位乘除运算" then  Pgame[p]["o"]=3 Pgame[p]["dy"]=2 ui0(p) p1=9 uishow(p,p1)
   elseif B0[v0]=="3位乘除运算" then  Pgame[p]["o"]=3 Pgame[p]["dy"]=3 ui0(p) p1=9 uishow(p,p1)
   elseif B0[v0]=="4位乘除运算" then  Pgame[p]["o"]=3 Pgame[p]["dy"]=4 ui0(p) p1=9 uishow(p,p1)
   end
 
   if B00[v0]=="退出"          then  Pgame[p]["t"]=0 p1=10  uishow(p,p1) MiniTimer:pauseTimer(Ps[p][1])
   elseif B00[v0]=="确认退出"   then  Pgame[p]={gamename="",o=0,dy=0,t=0,o1=0,o2=0,} ui0(p) local result = MiniTimer:changeTimerTime(Ps[p][1], 0) MiniTimer:pauseTimer(Ps[p][1])
   elseif B00[v0]=="继续游戏"   then  Pgame[p]["t"]=1 p1=10 uihide(p,p1) MiniTimer:resumeTimer(Ps[p][1])
   elseif B00[v0]=="菜单"      then  Pgame[p]={gamename="",o=0,dy=0,t=0,o1=0,o2=0,} p1=11 uihide(p,p1) ui0(p) local result = MiniTimer:changeTimerTime(Ps[p][1], 0)  MiniTimer:pauseTimer(Ps[p][1]) 
   elseif B00[v0]=="再来一次"   then  Pgame[p]["t"]=1 p1=11 uihide(p,p1) MiniTimer:startForwardTimer(Ps[p][1])
   elseif B00[v0]=="开始游戏"   then  Pgame[p]["t"]=1 p1=9 uihide(p,p1) MiniTimer:resumeTimer(Ps[p][1])  Pgame[p]["num"]=1 game(p)
   elseif B00[v0]=="学生卡"     then  p1=12 uishow(p,p1) class(p)
   elseif B00[v0]=="级别制"     then   p1=13 uishow(p,p1) 
   elseif B00[v0]=="排行榜"     then   p1=14 uishow(p,p1) leaderboard(p)
   elseif B00[v0]=="学生卡返回"  then  p1=12 uihide(p,p1) 
   elseif B00[v0]=="级别制返回"  then   p1=13 uihide(p,p1) 
   elseif B00[v0]=="排行榜返回"  then   p1=14 uihide(p,p1) 
  end
  end
   
  --玩家点击UI       
local function click(param)
   local  p=param.eventobjid
   local v0=param.btnelenemt 
    if B0[v0]~=nil then    print(B0[v0])  
      Ps[p][3][1]=B0[v0] 
      Pgame[p]["gamename"]=B0[v0]
      print("执行前")
      UIB(p,v0)     
      gameb()
    elseif B00[v0]~=nil then print(B00[v0])
      UIB(p,v0)     
    elseif B01[v0]~=nil then if Pgame[p]["t"]==1 then  print(B01[v0])  Game24boardnum(p,v0) else end
    elseif A[v0]~=nil  then if Pgame[p]["t"]==1 then  print(A[v0])   else end  
    end  
  --Chat:sendSystemMsg(t)
end

--玩家进入游戏
local function enter(param)
     p=param.eventobjid    
     Ps[p]={}
     Pgame[p]={}
     local result,value=Player:getAttr(p,20)
    Player:setAttr(p,20,value+500)
    local result,name=Player:getNickname(param.eventobjid)
    local r,id=MiniTimer:createTimer("m",nil,true)--创建计时器
    local result,score=Player:getAttr(param.eventobjid,20)  -- 学分
    local result,score1=Player:getAttr(param.eventobjid,19) -- 累计正确,累计错误
    local result,score2=Player:getAttr(param.eventobjid,17) -- 上次登陆时(年,月,日,时,分,秒),    
    local result,score3=Player:getAttr(param.eventobjid,18) -- 累计学习时间
    MiniTimer:startForwardTimer(id)--正向计时
    MiniTimer:pauseTimer(id)
    Player:notifyGameInfo2Self(p,"欢迎玩家"..name.."来到数学速算房间")
    --玩家数据[p]  1,计时器,2.( 1,玩家,2,迷你号,3,级别,4.学分,5.(1正确累计,2错误累计),7.累计学时,8登录时间)   
    Ps[p]={id,{name,param.eventobjid,"",score,score1,score2,score3,},{"",0,0,0,0,},}--配置玩家数据,计时器,个人成绩表
    Ps[p][2][3]=level(p)  
   -- 本次登录时间
   time(p)
 Player:openUIView(p,UI)
 for i=3,16 do
   Trigger.UI:hideElement(p, UI, UI0[i])
   end
     Trigger.UI:showElement(p, UI, UI0[3])
     Trigger.UI:showElement(p, UI, UI0[4])
     Trigger.UI:showElement(p, UI, UI0[5])
     print("主界面")
     print(Ps)
   -- ui0(p)
   --游戏数据[p]   1游戏界面-游戏模式,2.(游戏开始,暂停,结束)-计时运行,3.界面弹出,关闭界面,4.回答正确,回答错误
    Pgame[p]={gamename="",o=0,dy=0,t=0,o1=0,o2=0,num=0}
    print(Pgame)
    Pns[p]={}--历史答题记录(1,时间,2模式,3正确,4错误,5用时,6加分)
    --游戏数据[p]   1.24点10题随机,2.(1234)*2赋值,3.运算表达式,4.错误提示
    P24[p]={ adda={},addb={},addn={},addk=1,adds={},addt="",addo=1,
             add1=0,add2=0,add3=0,add4=0,addf=1,addl=0,adds0=0,
            }
  
    print(P24)
--游戏数据 [p]  1.加减法-乘除法,2.位数,3随机题库*10.3.题目打印,4.(ABCD选项)赋值
    Padd[p]={}
    
 end  

  
  --[[
--玩家进入游戏
local function pin(e)
    local p=e.eventobjid
    local r,id=MiniTimer:createTimer("m",nil,true)--创建计时器
    MiniTimer:startForwardTimer(id)--正向计时
    Ps[p]={id,C,}--配置玩家数据
 end
ScriptSupportEvent:registerEvent('Game.AnyPlayer.EnterGame',pin)
]]

--local result,value=Player:getAttr(0,20)
--Player:setAttr(0,20,value+500)
--local result,value1=Player:getAttr(0,21)
--Player:setAttr(0,22,value+10)
--Player:setGameScore(0,value+10)
--print(value+500)
--[[
Trigger.UI:setText(v,A0,A30,Tt)
Trigger.UI:setText(v,A0,A50,T1[o])
Trigger.UI:setText(v,A0,A20,s1)
    if add6(t) then  Trigger.UI:setFontSize(v, A0, A10, vi)   
    Trigger.UI:setText(v, A0, A10, t)
   end
Trigger.UI:setColor(p, UI , UI0[1], Color[2])
Trigger.UI:setColor(v1, v2, v3, v4)

MiniTimer:startForwardTimer(1)
MiniTimer:stopTimer(1)
MiniTimer:resumeTimer(1)
MiniTimer:pauseTimer(1)
local result = MiniTimer:changeTimerTime(Ps[p], 0)
 ]]
local function run()
  if run0==1 then  
    run0=0
  --threadpool:wait(1) 
    UIboard()       
   threadpool:wait(2)
   run0=1
   end
 end


--玩家离开游戏
local function leave(e)
    local p=e.eventobjid
    MiniTimer:deleteTimer(Ps[p][1])
    Ps[p]=nil
    Pgame[p]=nil
    P24[p]=nil
end
ScriptSupportEvent:registerEvent_NoError([=[UI.Button.Click]=], click)
ScriptSupportEvent:registerEvent_NoError([=[Game.AnyPlayer.EnterGame]=], enter)
ScriptSupportEvent:registerEvent('Game.Run',run)
--ScriptSupportEvent:registerEvent('Game.Run',run)
ScriptSupportEvent:registerEvent('Game.AnyPlayer.LeaveGame',leave)
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/31138.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

坐落于杭州的电商代运营公司品融电商

坐落于杭州的电商代运营公司品融电商 在中国电商行业蓬勃发展的浪潮中&#xff0c;品融电商&#xff08;PINKROON&#xff09;作为一家扎根杭州的新锐品牌管理公司&#xff0c;凭借其独特的全域增长方法论和实战经验&#xff0c;迅速崛起为行业标杆。自2020年成立以来&#x…

mysql的Innodb最大支持的索引长度是多少,以及索引长度怎么计算

今天正好有空&#xff0c;来讲个之前粉丝经常问的一个知识&#xff0c;就是mysql的Innodb最大支持的索引长度是多少&#xff1f;以及索引长度怎么计算&#xff1f; 一、mysql的innodb引擎&#xff0c;创建索引最大支持的长度是多少字节&#xff1f; 不墨迹&#xff0c;直接说…

【网络安全工程】任务11:路由器配置与静态路由配置

目录 一、概念 二、路由器配置 三、配置静态路由CSDN 原创主页&#xff1a;不羁https://blog.csdn.net/2303_76492156?typeblog 一、概念 1、路由器的作用&#xff1a;通过路由表进行数据的转发。 2、交换机的作用&#xff1a;通过学习和识别 MAC 地址&#xff0c;依据 M…

Dagger 2 系列(五)——进阶之@Scope 和 @Singleton

前言&#xff1a; 在上一篇Dagger 2 系列&#xff08;四&#xff09;——Named 和 Qualifier注解介绍&#xff0c;了Named 和 Qualifier注解&#xff0c;这篇文章&#xff0c;我们将会了解另外俩个注解&#xff1a;Scope 和 Singleton。 在这篇文章中你会了解到&#xff1a; …

脑电波控制设备:基于典型相关分析(CCA)的脑机接口频率精准解码方法

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、CCA的用途二、频率求解思路三、输入数据结构四、判断方法五、matlab实践1.数据集获取及处理2.matlab代码3.运行及结果 六、参考文献 前言 在脑机接口(BCI)领…

fiddler+雷电模拟器(安卓9)+https配置

一、fiddler配置 1、开启https代理 2、根证书安装&#xff1a;导出证书系统安装 二、模拟器设置 1、设置网络桥接模式 【点击安装】提示安装成功后保存即可 2、开启root&#xff08;开启adb远程调试&#xff09; 3、开启磁盘写入 4、设置WLAN代理 5、证书安装&#xff1a;物…

跨越时空的对话:图灵与GPT-4聊AI的前世今生

&#xff08;背景&#xff1a;虚拟咖啡厅&#xff0c;图灵身着1950年代西装&#xff0c;端着一杯热茶&#xff0c;GPT-4以全息投影形态坐在对面&#xff09; 图灵&#xff08;喝了口茶&#xff09;&#xff1a;“听说你能写诗&#xff1f;我当年在布莱切利园破解Enigma时&…

双击PPT文件界面灰色不可用,需要再次打开该PPT文件才能正常打开

双击PPT文件界面灰色不可用&#xff0c;需要再次打开该PPT文件才能正常打开 1. 软件环境⚙️2. 问题描述&#x1f50d;3. 解决方法&#x1f421;解决步骤 4. 结果预览&#x1f914; 1. 软件环境⚙️ Windows10 或 Windows11 专业版64位&#xff0c;安装MotionGo软件&#xff08…

【时间序列聚类】Feature-driven Time Series Clustering(特征驱动的时间序列聚类)

文章目录 1.文章介绍2.问题背景3.拟解决的问题4.主要贡献5.提出的方法5.1模型pipeline5.2特征抽取和选择5.3图渲染和社区检测5.4共现矩阵的构建5.5对共现矩阵进行聚类 6.实验6.1模型设置6.2实验结果6.3消融实验 7.结论8.个人观点9.Reference 1.文章介绍 论文出处&#xff1a;ED…

tomcat负载均衡配置

这里拿Nginx和之前做的Tomcat 多实例来实现tomcat负载均衡 1.准备多实例与nginx tomcat单机多实例部署-CSDN博客 2.配置nginx做负载均衡 upstream tomcat{ server 192.168.60.11:8081; server 192.168.60.11:8082; server 192.168.60.11:8083; } ser…

SQLAlchemy系列教程:如何执行原生SQL

Python中的数据库交互提供了高级API。但是&#xff0c;有时您可能需要执行原始SQL以提高效率或利用数据库特定的特性。本指南介绍在SQLAlchemy框架内执行原始SQL。 在SQLAlchemy中执行原生SQL SQLAlchemy虽然以其对象-关系映射&#xff08;ORM&#xff09;功能而闻名&#xff…

19.HarmonyOS Next CustomSlider组件基础教程(一)

温馨提示&#xff1a;本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦&#xff01; 1. 组件介绍 Slider&#xff08;滑动选择器&#xff09;是HarmonyOS中常用的交互组件&#xff0c;用于在给定的数值范围内进行连续值的选择。本教…

管中窥豹数字预失真(DPD)

管中窥豹数字预失真&#xff08;DPD&#xff09; 数字预失真在通信领域发挥了巨大的作用&#xff0c;对提高功放效率、改善误码率起了不可忽略的作用&#xff0c;广泛运用与通信、雷达等各种领域。但是对于普通用户&#xff0c;它显得及其高深神秘。今天就用这个短文&#xff…

MCP极简入门:超快速上手运行简单的MCP服务和MCP客户端

MCP是什么&#xff1f; 首先我们快速过一下MCP的基本概念&#xff0c;接着我们会通过一个简单的天气服务的教程&#xff0c;来上手学会使用MCP服务和在主机运行服务。本文根据官方教程改编。 1. MCP的基本概念 MCP&#xff08;Model Context Protocol&#xff0c;模型上下文…

DeepSeek进阶应用(一):结合Mermaid绘图(流程图、时序图、类图、状态图、甘特图、饼图)

&#x1f31f;前言: 在软件开发、项目管理和系统设计等领域&#xff0c;图表是表达复杂信息的有效工具。随着AI助手如DeepSeek的普及&#xff0c;我们现在可以更轻松地创建各种专业图表。 名人说&#xff1a;博观而约取&#xff0c;厚积而薄发。——苏轼《稼说送张琥》 创作者&…

海康线扫相机平场矫正教程

0、平场矫正前的准备确认 1、白纸准备 确保视野中有一张平整且无折痕的白纸&#xff0c;使其完全铺满相机的整个视野。 2、行高设置 将行高参数设定为 2048。 3、灰度值控制 相机端图像的灰度值应维持在 120 - 180 这个区间内。同时&#xff0c;最亮像素点与最暗像素点的灰度…

数智读书笔记系列015 探索思维黑箱:《心智社会:从细胞到人工智能,人类思维的优雅解读》读书笔记

引言 《The Society of Mind》&#xff08;《心智社会》&#xff09;的作者马文・明斯基&#xff08;Marvin Minsky&#xff09;&#xff0c;是人工智能领域的先驱和奠基者之一 &#xff0c;1969 年获得图灵奖&#xff0c;被广泛认为是对人工智能领域影响最大的科学家之一。他…

游戏引擎学习第148天

回顾并规划今天的工作 没有使用引擎&#xff0c;也没有任何库支持&#xff0c;只有我们自己&#xff0c;编写游戏的所有代码&#xff0c;不仅仅是小小的部分&#xff0c;而是从头到尾。现在&#xff0c;我们正处于一个我一直想做的任务中&#xff0c;虽然一切都需要按部就班&a…

bug-Ant中a-select的placeholder不生效(绑定默认值为undefined)

1.问题 Ant中使用a-select下拉框时&#xff0c;placeholder设置输入框显示默认值提示&#xff0c;vue2ant null与undefined在js中明确的区别&#xff1a; null&#xff1a;一个值被定义&#xff0c;定义为“空值” undefined&#xff1a;根本不存在定义 2.解决 2.1 a-select使…

DeepSeek教我写词典爬虫获取单词的音标和拼写

Python在爬虫领域展现出了卓越的功能性&#xff0c;不仅能够高效地抓取目标数据&#xff0c;还能便捷地将数据存储至本地。在众多Python爬虫应用中&#xff0c;词典数据的爬取尤为常见。接下来&#xff0c;我们将以dict.cn为例&#xff0c;详细演示如何编写一个用于爬取词典数据…