mam tablice z wieloma rzeczami i różnymi chance'ami np. tablica = {
[2222] = {chance_na_smiech = 20, chance_na_dead = 35, chance_na_ziemniaka = 55}
[3333] = {chance_na_smiech = 50, chance_na_dead = 28, chance_na_ziemniaka = 22}
[4444] = {chance_na_smiech = 10, chance_na_dead = 65, chance_na_ziemniaka = 25}
i teraz tak, zamiast robić
losowanie = math.random(1,100)
if losowanie <= chance_na_smiech then
elseif losowanie <= chance_na_dead then..
bo to nie działa dobrze,by było git jakby we wszystkich przypadkach chance_na_smiech < chance_na_dead < chance_na_ziemniaka
niby moge zrobic pokolei
if losowanie <= chance_na_smiech then
else
if losowanie <= chance_na_smiech + chance_na_dead then
else
ale nie lepiej by było zrobić:
tbl_losowan = {}
for i = 1, tablica.chance_na_smiech do
table.insert(tbl_losowan, "SMIECH")
end
for i = 1, tablica.chance_na_dead do
table.insert(tbl_losowan, "DEAD")
end
for i = 1, tablica.chance_na_ziemniaka do
table.insert(tbl_losowan, "ZIEMNIAK")
end
losowanko = math.random(1,#tbl_losowan)
wynik = tbl_losowan[losowanko]
Czy druga opcja nie zapierdoli zbytnio jeśli bym użył tego np, po akcji używania ITEMU danego na danej rzeczy ?xd
[2222] = {chance_na_smiech = 20, chance_na_dead = 35, chance_na_ziemniaka = 55}
[3333] = {chance_na_smiech = 50, chance_na_dead = 28, chance_na_ziemniaka = 22}
[4444] = {chance_na_smiech = 10, chance_na_dead = 65, chance_na_ziemniaka = 25}
i teraz tak, zamiast robić
losowanie = math.random(1,100)
if losowanie <= chance_na_smiech then
elseif losowanie <= chance_na_dead then..
bo to nie działa dobrze,by było git jakby we wszystkich przypadkach chance_na_smiech < chance_na_dead < chance_na_ziemniaka
niby moge zrobic pokolei
if losowanie <= chance_na_smiech then
else
if losowanie <= chance_na_smiech + chance_na_dead then
else
ale nie lepiej by było zrobić:
tbl_losowan = {}
for i = 1, tablica.chance_na_smiech do
table.insert(tbl_losowan, "SMIECH")
end
for i = 1, tablica.chance_na_dead do
table.insert(tbl_losowan, "DEAD")
end
for i = 1, tablica.chance_na_ziemniaka do
table.insert(tbl_losowan, "ZIEMNIAK")
end
losowanko = math.random(1,#tbl_losowan)
wynik = tbl_losowan[losowanko]
Czy druga opcja nie zapierdoli zbytnio jeśli bym użył tego np, po akcji używania ITEMU danego na danej rzeczy ?xd