Main←{𝕊 jets:
arena←⟨1,9⟩⥊1
+ jetpos←0
{
falling←((≠rocks)|𝕩)⊑rocks
arena Extend⍟((3+≠falling)-(Space arena)) ↩
⟨fallen, fallenpos⟩ ← { 𝕊 ⟨falling,fallpos⟩:
fallpos ↩ 1+fallpos
- jet←((≠jets)|fallpos)⊑jets
+ jet←jetpos⊑jets
+ jetpos↩(≠jets)|1+jetpos
shifted ← Jet falling
obstructed ← ∨´⥊shifted∧(≠shifted)↑fallpos↓arena
falling ↩ obstructed ⊑ ⟨shifted,falling⟩
- •Show ⟨fallpos,falling∨(≠shifted)↑fallpos↓arena⟩
+ #•Show ⟨fallpos,falling∨(≠shifted)↑fallpos↓arena⟩
⟨falling,fallpos⟩
} •_while_ { 𝕊 ⟨falling,fallpos⟩:
¬∨´⥊falling∧(≠falling)↑(1+fallpos)↓arena
} ⟨falling,¯1⟩
arena↩ {𝕩∨fallen}⌾{((≠fallen)⊸↑)∘(fallenpos⊸↓)} arena
- •Show arena⊏".#"
- }¨↕10
- @
+ #•Show arena⊏".#"
+ }¨↕2022
+ (≠arena)-(1+Space arena)
}
•Show Main Prep ⊑•file.Lines ⊑•args