Not a member of GistPad yet?
Sign Up,
it unlocks many cool features!
- -- Made for use with NotSoBot
- -- Original version: https://pastebin.com/g2T2mHcE
- math.randomseed(os.time())
- local grid_width = tonumber("{arg:0}") or 9
- local difficulty = (tonumber("{arg:1}") or 15) / 100
- local grid, numbers = {}, {
- [0] = ":white_large_square:",
- ":one:", ":two:", ":three:",
- ":four:", ":five:", ":six:",
- ":seven:", ":eight:", ":bomb:",
- }
- local neighbour_offsets = {
- {-1, 0, 1, -1, 1, -1, 0, 1},
- {-1, -1, -1, 0, 0, 1, 1, 1},
- }
- for i = 0, grid_width^2 - 1 do
- if math.random() <= difficulty then
- local x = i % grid_width
- local y = math.floor(i / grid_width)
- grid[i] = 9
- for j = 1, 8 do
- local x = x + neighbour_offsets[1][j]
- local y = y + neighbour_offsets[2][j]
- if x >= 0 and x < grid_width and y >= 0 and y < grid_width then
- local k = y * grid_width + x
- local count = grid[k] or 0
- if count < 9 then
- grid[k] = count + 1
- end
- end
- end
- end
- end
- for i = 0, grid_width^2 - 1 do
- grid[i] = numbers[grid[i] or 0]
- if (i + 1) % grid_width == 0 then
- print("||" .. table.concat(grid, "||||", i - grid_width + 1, i) .. "||")
- end
- end
RAW Paste Data
Copied
