+
+default_booms = {
+ 3: {
+ neighbors: {
+ flips: 1
+ force: 2
+ }
+ neighbor_neighbors: {
+ flips: 0
+ force: 0
+ }
+ board: {
+ flips: 0
+ force: 0
+ }
+ }
+ 4: {
+ neighbors: {
+ flips: 'all'
+ force: 4
+ }
+ neighbor_neighbors: {
+ flips: 0
+ force: 2
+ }
+ board: {
+ flips: 0
+ force: 0
+ }
+ }
+ 5: {
+ neighbors: {
+ flips: 'all'
+ force: 6
+ }
+ neighbor_neighbors: {
+ flips: 2
+ force: 4
+ }
+ board: {
+ flips: 0
+ force: 0
+ }
+ }
+ 6: {
+ neighbors: {
+ flips: 'all'
+ force: 10
+ }
+ neighbor_neighbors: {
+ flips: 5
+ force: 6
+ }
+ board: {
+ flips: 0
+ force: 0
+ }
+ }
+ 7: {
+ neighbors: {
+ flips: 'all'
+ force: 10
+ }
+ neighbor_neighbors: {
+ flips: 'all'
+ force: 10
+ }
+ board: {
+ flips: 0
+ force: 2
+ }
+ }
+ lots: {
+ neighbors: {
+ flips: 0
+ force: 0
+ }
+ neighbor_neighbors: {
+ flips: 0
+ force: 0
+ }
+ board: {
+ flips: 'all'
+ force: 10
+ }
+ }
+}
+booms = null
+init_booms = ->
+ booms = {}
+ for level, areas of default_booms
+ new_level = {}
+ for area, effects of areas
+ new_area = {}
+ for effect, amount of effects
+ new_area[effect] = amount
+ new_level[area] = new_area
+ booms[level] = new_level
+ return
+