Back to Powder Tool V600Billion
SOURCE / PINNED RELEASE

Made of little things.

Powder Tool V600Billion

Release
142767edcab8…
Author-recorded commit
6d92971effd0…
License
LICENSE
Author’s source reference
nostr://npub1fllw8kw0thjj55wds0uugcnp5kej2nfxd36eruq39d56wwz8r44q5q78wj/wss%3A%2F%2Fgit.napplet.soy%2F/powder-toy

Archive hash verified: ed7d6a8ea7083197…. The source-to-build association is the author’s claim; it has not been independently rebuilt.

source/src/scenes/09-life.lua
-- title: Glider guns
-- icon: 🧬
-- blurb: Conway's Game of Life, built into the game: four Gosper guns fire gliders into a growing tangle of cells.
-- hint: Life gradient view colours cells by age. Draw more life from the Life section.
-- view: 10
-- thumb: 12
local gun = {
  "........................O...........",
  "......................O.O...........",
  "............OO......OO............OO",
  "...........O...O....OO............OO",
  "OO........O.....O...OO..............",
  "OO........O...O.OO....O.O...........",
  "..........O.....O.......O...........",
  "...........O...O....................",
  "............OO......................",
}
local function place(ox, oy, flip)
  for r, row in ipairs(gun) do
    for c = 1, #row do
      if row:sub(c, c) == "O" then
        sim.partCreate(-1, flip and ox - c or ox + c, oy + r, E.DEFAULT_PT_LIFE, 0)
      end
    end
  end
end
place(60, 60, false)
place(552, 60, true)
place(60, 300, false)
place(552, 300, true)

-- An R-pentomino in the middle: five cells that keep changing for over a thousand generations
for _, c in ipairs({ { 1, 0 }, { 2, 0 }, { 0, 1 }, { 1, 1 }, { 1, 2 } }) do
  sim.partCreate(-1, 305 + c[1], 190 + c[2], E.DEFAULT_PT_LIFE, 0)
end