--文件是自动生成,请勿手动修改.来自数据文件:world_question local L_CompressMaxColumn = 2 local L_CompressData = { 812770053033025,387624500, --1,你觉得锻炼身体最有效的运动是?,A 跑步,B 被狗追,C 谈恋爱,D 吃霸王餐,, 813113660902786,387788345, --2,当您心情不舒畅的时候,你觉得那种方法最容易调整心态,A 喝酒,B 睡觉,C 买买买,D 蹦极,, 813457268772547,387952190, --3,和别人争执打起架来,你认为下面哪个道具最有用?,A 防弹头盔,B 砖头,C 滑板鞋,D 鲱鱼罐头,, 813800876642308,388116035, --4,治疗失眠最有效的方法是?,A 吃安眠药,B 放下手机,C 催眠术,D 打晕自己,, 814144484512069,388279880, --5,安慰一个失恋的人最有效果的方式是?,A 旅游,B 打游戏,C 喝酒,D 买买买,, 814488092381830,388443725, --6,哪种笑声听起来不正经?,A he he he,B hei hei hei,C hia hia hia,D hou hou hou,, 814831700251591,388607570, --7,牛顿说,"力的作用是相互的",根据这个定理,我们可以得出什么结论?,A 扁人跟被扁是一样的,B 被车撞了要给对方赔钱,C "力的作用"属于一个叫"相互"的人,D 凭什么牛顿说的我就要信?,, 815175308121352,388771415, --8,"道可道,非常道。"的意思是?,A 你知道我不知道,B 可能是广告词,C 可以说又不好说,D 我才不管你道不道呢,, 815518915991113,388935260, --9,红灯停止,绿灯前进,红绿灯一起亮代表呢?,A 边走边停,B 灯出问题了,C 这是比较无厘头的灯,D 你眼睛花了,, 815862523860874,389099105, --10,迅速减重最有效的方法是?,A 吃泻药,B 不吃,C 超负荷运动,D 截肢,, 816206131730635,389262950, --11,下面最厉害的武功是?,A 夺命剪刀脚,B 面目全非拳,C 还我漂漂拳,D 王八拳,, 816549739600396,389426795, --12,生活中最悲惨的事情莫过于?,A 缺灵玉了,B 缺钱,C 缺爱,D 缺德,, 816893347470157,389590640, --13,如果有段时间不停的有人夸你帅,你会怎么想?,A 究竟是谁走漏了风声,B 我哪里不帅了,C 这是事实,D 我哪里帅了,, 817236955339918,389754485, --14,生了病,打针跟吃药,哪一种比较痛苦?,A 打针,B 吃药,C 细菌,D 我,, 817580563209679,389918330, --15,你觉得赚钱最有效的途径是?,A 做梦,B 努力工作,C 中大奖,D 等拆,, 817924171079440,390049337, --16,开心的时候,你想做什么?,A 大吃一顿,B 仰天大笑,C 买买买,D 喝喝喝,, 818199057375249,390213251, --17,生气的时候,怎么调整最有用?,A 仰天长啸,B 念经,C 跳进水里,D 暴打枕头,, 818542665245010,390377096, --18,你觉得最有效的逃跑方式,A 脚底抹油,B 插翅而飞,C 化敌为友,D 干掉追兵,, 818886273114771,390540941, --19,哪种哭声听起来最可怜?,A 嘤嘤嘤,B 呜呜呜,C 哇啦啦,D 哼哼哼,, 819229880984532,390704786, --20,如果有人说你丑,你会怎么想?,A 你才丑,B 这是妒忌,C 丑关你屁事,D 我的字典里没有“丑”,, 819573488854293,390868631, --21,如果穿越到仙侠世界,你想穿越到哪里?,A 这里,B 诛仙,C 凡人修仙传,D 蜀山传,, 819917096724054,391032476, --22,如果穿越到武侠世界,你想穿越到哪里?,A 七剑下天山,B 天龙八部,C 绝代双骄,D 武林外传,, 820260704593815,391196321, --23,如果穿越到科幻世界,你想穿越到哪里?,A 三体,B 沙丘,C 攻壳机动队,D 黑客帝国,, 820604312463576,391360166, --24,如果让你选择穿越方式,你能接受哪种?,A 雷劈,B 车祸,C 闷棍,D 时光机,, 820947920333337,391524011, --25,如果让你选择一个代价,获取绝世神功,你能接受哪种?,A 眼瞎,B 变老,C 坐轮椅,D 欲练此功,必先XX,, 821291528203098,391687856, --26,填空:八仙过海,______,A 各显神通,B 自身难保,C 海枯石烂,D 小马过河,, 821635136072859,391851701, --27,填空:蛤蟆玩青蛙,______,A 有缘千里来相会,B 长得丑玩的花,C 真是顶呱呱,D 对上眼了,, 821978743942620,392015546, --28,填空:粪坑里的石头,______,A 又臭又硬,B 装死,C 打着灯笼都难找,D 不能翻身,, 822322351812381,392179391, --29,填空:高射炮打蚊子,______,A 就是任性,B 大材小用,C 怎么输,D 小题大做,, } local L_MainKeyDic = { [1]=1,[2]=2,[3]=3,[4]=4,[5]=5,[6]=6,[7]=7,[8]=8,[9]=9,[10]=10,[11]=11,[12]=12,[13]=13,[14]=14,[15]=15, [16]=16,[17]=17,[18]=18,[19]=19,[20]=20,[21]=21,[22]=22,[23]=23,[24]=24,[25]=25,[26]=26,[27]=27,[28]=28,[29]=29,} local L_NamesByNum = { Id = 1, } local L_NamesByString = { Describe = 2, Answer1 = 3, Answer2 = 4, Answer3 = 5, Answer4 = 6, } local L_ColNameIndexs = { Id = 0, Describe = 1, Answer1 = 2, Answer2 = 3, Answer3 = 4, Answer4 = 5, } --local L_ColumnUseBitCount = {6,15,15,15,15,15,} --local L_ColumnList = {1,1,1,1,2,2,} --local L_ShiftDataList = {0,6,21,36,0,15,} --local L_AndDataList = {31,16383,16383,16383,16383,16383,} local L_ColumnShiftAndList = {1,0,31,1,6,16383,1,21,16383,1,36,16383,2,0,16383,2,15,16383,} local L_ColNum = 6; local L_UseDataK = setmetatable({ },{ __mode = 'k'}); local L_UseDataV = setmetatable({ },{ __mode = 'v'}); local L_UseDataRow = setmetatable({ },{ __mode = 'v'}); local L_IsCache = false; local mt = {} local function GetData(row, column) local startIndex = (column - 1) * 3 local _compressData = L_CompressData[(row - 1)*L_CompressMaxColumn+L_ColumnShiftAndList[startIndex + 1]] local _tempData = _compressData >> L_ColumnShiftAndList[startIndex + 2] local _data = _tempData & L_ColumnShiftAndList[startIndex + 3] local _andSign = L_ColumnShiftAndList[startIndex + 3] + 1 local _isMinus = (_andSign & _tempData) == _andSign return _isMinus and -_data or _data; end mt.__index = function (t,key) local _key = L_UseDataK[t]; local _row = L_MainKeyDic[_key]; local _column = L_NamesByNum[key]; if _column ~= nil then if L_IsCache then local _data = L_UseDataRow[_row * L_ColNum + _column] if not _data then _data = GetData(_row, _column) L_UseDataRow[_row * L_ColNum + _column] = _data end return _data else return GetData(_row, _column) end end _column = L_NamesByString[key] if _column ~= nil then return StringDefines[GetData(_row, _column)] end if string.find(key, '_') then local _newKey = string.gsub(key, '_', '') _column = L_NamesByString[_newKey] if _column ~= nil then return GetData(_row, _column) end end if key ~= '_OnCopyAfter_' then return end end local M = { _CompressData_ = L_CompressData, _ColumnShiftAndList_ = L_ColumnShiftAndList, _CompressMaxColumn_ = L_CompressMaxColumn, _ColumnNameIndexs_ = L_ColNameIndexs, Count = 29 } function M:Foreach(func) for i=1,M.Count do local _key = GetData(i, 1) func(_key, M[_key]) end end function M:ForeachCanBreak(func) for i = 1,M.Count do local _key = GetData(i, 1) if func(_key, M[_key]) then break end end end function M:GetByIndex(index) return M[GetData(index, 1)]; end function M:IsContainKey(key) return not(not L_MainKeyDic[key]); end function M:SetIsCache(isCh) L_IsCache = isCh; end setmetatable(M, {__index = function(t, key) if not L_MainKeyDic[key] then return; end local _t = L_UseDataV[key]; if not _t then _t = setmetatable({}, mt); L_UseDataV[key] = _t; L_UseDataK[_t] = key; end return _t end}) return M