速算迷你世界脚本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)
 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

『PostgreSQL』 Ubuntu 系统下PG15的安装与 PGVector 配置指南

&#x1f4e3;读完这篇文章里你能收获到 &#x1f4e6; 学会如何在 Ubuntu 上安装最新的 PostgreSQL 15 数据库。&#x1f511; 掌握修改 PostgreSQL 管理员密码和配置远程连接的方法。&#x1f310; 了解如何启用 PGVector 插件&#xff0c;实现向量存储和多种距离计算。&…

关于在electron(Nodejs)中使用 Napi 的简单记录

当我们使用electron想要集成一个C SDK实现很底层的算法逻辑就有可能与C SDK进行数据通信。 Napi 应该是比较好的选择&#xff0c;因为C本身的运行速度很快&#xff0c;使用Napi也能很大程度上保证软件的兼容性、又不会阻塞C线程、还可以很简单的与C 实现数据传递。 开始使用 安…

vscode(cursor)配置python环境,含远程调试

一、本地配置 1.1 安装python插件 1.2 配置python环境 在右下角就可以切换python环境&#xff0c;太简单了&#xff01; 1.3 Debug说明 打断点直接开启&#xff01; 在debug的过程中&#xff0c;还可以输入打印中间变量或者做一些测试 二、远程连接 2.1 下载远程工具 2.2 连…

S19文件格式详解:汽车ECU软件升级中的核心镜像格式

文章目录 引言一、S19文件格式的起源与概述二、S19文件的核心结构三、S19在汽车ECU升级中的应用场景四、S19与其他格式的对比五、S19文件实例解析六、工具链支持与安全考量七、未来趋势与挑战结语引言 在汽车电子控制单元(ECU)的软件升级过程中,S19文件(也称为Motorola S-…

怎么使用数据集微调大模型LLM

怎么使用数据集微调大模型LLM 目录 怎么使用数据集微调大模型LLM项目运行后目录结构1. 导入必要的库2. 准备训练数据3. 加载模型与分词器4. 数据预处理5. 配置训练参数(CPU 专用)6. 训练与保存完整可运行代码,调试了2天,保证可用项目运行后目录结构 1. 导入必要的库 from …

深度评测DeepSeek、ChatGPT O1和谷歌Gemini AI应用开发场景 - DeepSeek性能完胜!

下面我会展示我为期一周的实验结果&#xff0c;创作不宜&#xff0c;希望大家关注我&#xff0c;以后多多互3&#xff01;前一阵我在互联网上看到很多关于DeepSeek R1的讨论&#xff0c;这个开源模型据说可以媲美&#xff0c;甚至优于像OpenAI o1这样的付费模型。 由于我在日常…

ubuntu局域网部署stable-diffusion-webui记录

需要局域网访问&#xff0c;如下设置&#xff1a; 过程记录查看源码&#xff1a; 查看源码&#xff0c;原来修改参数&#xff1a;--server-name 故启动&#xff1a; ./webui.sh --server-name0.0.0.0 安装下载记录&#xff1a; 快速下载可设置&#xff1a; export HF_ENDPOI…

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

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

2.1 Vite + Vue 3 + TS 项目脚手架深度配置

文章目录 **一、环境准备与技术选型****二、项目初始化与基础架构****三、工程化配置深度优化****四、代码规范与质量保障****五、Vue 3 深度集成****六、TypeScript 高级配置****七、第三方库集成****八、构建优化策略****九、企业级最佳实践****十、扩展配置参考****本章核心…

利用FatJar彻底解决Jar包冲突(一)

利用FatJar彻底解决Jar包冲突 序FatJar的加载与隔离⼀、 FatJar概念⼆、FatJar的加载三、FatJar的隔离四、隔离机制验证五、 FatJar的定位六、 打包注意点 序 今天整理旧电脑里的资料&#xff0c;偶然翻到大概10年前实习时写的笔记&#xff0c;之前经常遇到Java依赖冲突的问题…

C/C++蓝桥杯算法真题打卡(Day4)

一、P11041 [蓝桥杯 2024 省 Java B] 报数游戏 - 洛谷 算法代码&#xff1a; #include<bits/stdc.h> using namespace std;// 计算第 n 个满足条件的数 long long findNthNumber(long long n) {long long low 1, high 1e18; // 二分查找范围while (low < high) {lo…

DeepSeek大语言模型下几个常用术语

昨天刷B站看到复旦赵斌老师说的一句话“科幻电影里在人脑中植入芯片或许在当下无法实现&#xff0c;但当下可以借助AI人工智能实现人类第二脑”&#xff08;大概是这个意思&#xff09; &#x1f49e;更多内容&#xff0c;可关注公众号“ 一名程序媛 ”&#xff0c;我们一起从 …

快速从C过度C++(一):namespace,C++的输入和输出,缺省参数,函数重载

&#x1f4dd;前言&#xff1a; 本文章适合有一定C语言编程基础的读者浏览&#xff0c;主要介绍从C语言到C过度&#xff0c;我们首先要掌握的一些基础知识&#xff0c;以便于我们快速进入C的学习&#xff0c;为后面的学习打下基础。 这篇文章的主要内容有&#xff1a; 1&#x…

IDEA接入阿里云百炼中免费的通义千问[2025版]

安装deepseek 上一篇文章IDEA安装deepseek最新教程2025中说明了怎么用idea安装codeGPT插件&#xff0c;并接入DeepSeek&#xff0c;无奈接入的官方api已经不能使用了&#xff0c;所以我们尝试从其他地方接入 阿里云百炼https://bailian.console.aliyun.com/ 阿里云百炼‌是阿…

六十天前端强化训练之第十三天之JavaScript 原型与继承详解

欢迎来到编程星辰海的博客讲解 目录 一、原型系统底层探秘 1.1 对象体系构建原理 内存模型示意图 1.2 原型链工作机制 1.3 原型相关方法详解 (1) Object.getPrototypeOf (2) Object.setPrototypeOf (3) Object.create 1.4 构造函数运行机制 二、八种继承模式深度剖析…

大语言模型学习--向量数据库基础知识

1.向量 向量是多维数据空间中的一个坐标点。 向量类型 图像向量 文本向量 语音向量 Embedding 非结构化数据转换为向量过程 通过深度学习训练&#xff0c;将真实世界离散数据&#xff0c;投影到高维数据空间上&#xff0c;通过数据在空间中间的距离体现真实世界的相似度 V…

Python语法核心架构与核心知识点:从理论到实践

一、Python的核心设计哲学 Python以“简洁优雅”为核心理念&#xff0c;遵循以下原则&#xff1a; # Zen of Python&#xff08;输入 import this 可查看&#xff09; >>> import this The Zen of Python, by Tim Peters ... Simple is better than complex. Readab…

mac本地部署Qwq-32b记录

导语 昨天看到阿里开源了Qwq-32b&#xff0c;号称性能可以媲美Deepseek-R1。今天晚上有空就在Mac上折腾了一下&#xff0c;使用ollma进行了部署&#xff0c;效果感觉还不错&#xff0c;特此记录。 环境 硬件 型号&#xff1a;Macbook M1 Pro 14寸内存&#xff1a;512G 环境…

Vue3 Pinia 符合直觉的Vue.js状态管理库

Pinia 符合直觉的Vue.js状态管理库 什么时候使用Pinia 当两个关系非常远的组件&#xff0c;要传递参数时使用Pinia组件的公共参数使用Pinia

JAVA面试_进阶部分_深入理解socket网络异常

在各种网络异常情况的背后&#xff0c;TCP是怎么处理的&#xff1f;又是怎样把处理结果反馈给上层应用的&#xff1f;本文就来讨论这个问题。 分为两个场景来讨论 建立连接 1 正常情况下 进过三次握手&#xff0c;客户端连接成功&#xff0c;服务端有一个新连接到来。 2 客…