Add cli options

This commit is contained in:
Rampoina 2023-03-05 20:03:03 +01:00
parent ed2534e6ef
commit 59e2c7718b
1 changed files with 10 additions and 3 deletions

13
arc.bqn
View File

@ -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""
gGame "levels"" λ$⊕⭍#/\-|+<>^v"" λ$⊕⭍#/\-|+<>^v"ansi.defaultB,ansi.yellow,ansi.cyan,ansi.red
gGame opts.levelsopts.charsopts.fcharsansi.defaultB,ansi.yellow,ansi.cyan,ansi.red
{𝕤 # Loop until the user wins
•Out clearansi.cursor.origin
clear""
@ -25,10 +33,9 @@ g←Game "levels"‿" λ$⊕⭍#/\-|+<>^v"‿" λ$⊕⭍#/\-|+<>^v"‿⟨ansi.de
;
key•term.CharB @
{𝕤g.Next ("hjklaswd"=key)/˜0¯1,10,¯10,01}(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')@
{𝕤clearansi.clear.screeng.Reset @}(key='r')@
{𝕤clearansi.clear.screen}(((1+>(1+101))¯1+g.moves)key='u')@
}•_While_{𝕤g.Over @}@
•Out "Well played, you win!"
ansi.RestoreTerm @