From 59e2c7718bcb59c8c62769684a6607b4a3eaf63c Mon Sep 17 00:00:00 2001 From: Rampoina Date: Sun, 5 Mar 2023 20:03:03 +0100 Subject: [PATCH] Add cli options --- arc.bqn | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/arc.bqn b/arc.bqn index 27db03f..ca8b193 100755 --- a/arc.bqn +++ b/arc.bqn @@ -5,9 +5,17 @@ ⟨ansi⟩←•Import "ansi.bqn" ⟨Game⟩←•Import "logic.bqn" +opts←{ + a←•args + •Show a + chars ⇐{0=≠𝕩?" λ$⊕⭍#/\-|+<>^v";⊑𝕩}(»(<"--chars")⊸⍷)⊸/a + fchars⇐{0=≠𝕩?" λ$⊕⭍#/\-|+<>^v";⊑𝕩}(»(<"--fchars")⊸⍷)⊸/a + levels⇐{0=≠𝕩?"levels";⊑𝕩}(»(<"--levels")⊸⍷)⊸/a +} + ansi.InitTerm @ clear←"" -g←Game "levels"‿" λ$⊕⭍#/\-|+<>^v"‿" λ$⊕⭍#/\-|+<>^v"‿⟨ansi.defaultB,ansi.yellow,ansi.cyan,ansi.red⟩ +g←Game opts.levels‿opts.chars‿opts.fchars‿⟨ansi.defaultB,ansi.yellow,ansi.cyan,ansi.red⟩ {𝕤 # Loop until the user wins •Out clear∾ansi.cursor.origin clear↩"" @@ -25,10 +33,9 @@ g←Game "levels"‿" λ$⊕⭍#/\-|+<>^v"‿" λ$⊕⭍#/\-|+<>^v"‿⟨ansi.de ; key←•term.CharB @ {𝕤⋄g.Next ⊑("hjklaswd"=key)/∾˜⟨0‿¯1,1‿0,¯1‿0,0‿1⟩}⍟(⊑key∊"hjklaswd")@ - {𝕤⋄g.Undo @}⍟(key='u')@ + {𝕤⋄clear↩""‿ansi.clear.screen⊑˜((1⊸+>○(≠•Repr)⊢)¯1+≠g.moves)⋄g.Undo @}⍟(key='u')@ {𝕤⋄ansi.RestoreTerm @⋄•Exit 0}⍟(key='q')@ {𝕤⋄clear↩ansi.clear.screen⋄g.Reset @}⍟(key='r')@ - {𝕤⋄clear↩ansi.clear.screen}⍟(((1⊸+>○(⌊1+10⋆⁼1⌈⊢)⊢)¯1+≠g.moves)∧key='u')@ }•_While_{𝕤⋄g.Over @}@ •Out "Well played, you win!" ansi.RestoreTerm @