最近在公司写lua,lua没有什么语法,但是把业务逻辑抽象成问题,我就觉得有些难度了。为了少麻烦别人,我尽可能的用chatgpt来解决自己不会的问题。
问题1
jackpot={100,2000,33333,20231616}, win_num= {0,0,0, 0}
jackpot分别对应四个奖金,win_num对应四个奖金的个数,例如win_num={0,0,0,1}; 或者例如win_num={2,3,0,0}。奖金个数是随机的,求问如何计算总奖励?用lua语言完成
jackpot = {100, 2000, 33333, 20231616}
win_num = {0, 0, 0, 0}
total_reward = 0for i = 1, #jackpot dowin_num[i] = math.random(0, 10) -- 假设每个奖金最多有10个total_reward = total_reward + jackpot[i] * win_num[i]
endprint("总奖励为:" .. total_reward)
问题2
表list是一个二维数组,里面是随机的0到15的值,当list里的数字为13,14,15时,表SBlocation会记录这些数字的位置,例如,list={{13,4,7,10},{6,4,10,13},{15,6,4,9},{10,9,12,6},{10,12,9,13}},表SBlocation记录list每一行里的值13,14,15;例如SBlocation={{1},{4},{1},{},{4}},list表是随机生成的,请根据list写出表SBlocation,用lua语言回答
math.randomseed(os.time())
--生成随机的二维数组
local item_list = {}
for i = 1, 5 doitem_list[i] = {}for j = 1, 3 doitem_list[i][j] = math.random(0, 15)end
end--当出现 13,14,15时,将其坐标记录在表SBlocation中
local SBlocation = {}
for i = 1, 5 doSBlocation[i]={}for j = 1 , 3 doif 13 == item_list[i][j] or 14 == item_list[i][j] or 15 == item_list[i][j] thentable.insert(SBlocation[i],j)endendend--输出item_list&SBlocation
for i = 1, #item_list doprint(table.concat( item_list[i], ", "))
end
for i = 1, #SBlocation doprint(table.concat( SBlocation[i], ", "))
end
最后运行结果如下:
问题3
数组item是五行四列的二维数组,其中的值都是随机1到15随机赋予的,例如item={{13, 4, 7, 10},{6, 4, 10, 13},{15, 6, 4, 9},{10, 9, 2, 6},{1, 12, 9, 13}},当item里有数字为14或15时,数组location记录其坐标,例如location={{3,1}},item的值是随机的,求问如何计算location?用lua语言完成
local item_list={}
for i = 1, 5 doitem_list[i]={}for j = 1, 3 doitem_list[i][j]=math.random(0,15)end
end--计时器index丢进for循环,可以做到不重复,不遗漏,因为我要的就是坐标的集合
local index=1
local location={}
for i = 1, 5 dofor j = 1, 3 doif 13 == item_list[i][j] or 14 == item_list[i][j] or 15 == item_list[i][j] thenlocation[index]={i,j}index=index+1endend
endfor i = 1, #item_list doprint(table.concat( item_list[i], ", "))
endfor i = 1, #location doprint(table.concat(location[i], ", "))
end
先写这么多,欢迎评论~