Add missing ansi codes
This commit is contained in:
parent
7432282107
commit
6c4d926d1e
16
ansi.bqn
16
ansi.bqn
|
@ -4,4 +4,20 @@ ansi⇐{
|
||||||
cyan⇐e∾"[36m"
|
cyan⇐e∾"[36m"
|
||||||
yellow⇐e∾"[33m"
|
yellow⇐e∾"[33m"
|
||||||
defaultB⇐e∾"[0m"
|
defaultB⇐e∾"[0m"
|
||||||
|
cursor⇐{
|
||||||
|
hide⇐e∾"[?25l"
|
||||||
|
show⇐e∾"[?25h"
|
||||||
|
origin⇐e∾"[H"
|
||||||
|
}
|
||||||
|
clear⇐{
|
||||||
|
screen⇐e∾"[2J"
|
||||||
|
}
|
||||||
|
reset⇐e∾"[0m"
|
||||||
|
|
||||||
|
InitTerm⇐{𝕤
|
||||||
|
•term.RawMode 1
|
||||||
|
•Out ansi.cursor.hide∾ansi.clear.screen∾ansi.cursor.origin
|
||||||
|
}
|
||||||
|
|
||||||
|
RestoreTerm⇐{𝕤⋄•Out ansi.reset∾ansi.cursor.show}
|
||||||
}
|
}
|
||||||
|
|
19
arc.bqn
19
arc.bqn
|
@ -5,14 +5,11 @@
|
||||||
⟨ansi⟩←•Import "ansi.bqn"
|
⟨ansi⟩←•Import "ansi.bqn"
|
||||||
⟨Game⟩←•Import "logic.bqn"
|
⟨Game⟩←•Import "logic.bqn"
|
||||||
|
|
||||||
e←ansi.e
|
ansi.InitTerm @
|
||||||
•term.RawMode 1 # set terminal to raw mode
|
|
||||||
•Out e∾"[?25l"∾e∾"[2J"∾e∾"[H" # Cursor to origin, hide it and clear screen
|
|
||||||
clear←""
|
clear←""
|
||||||
|
|
||||||
g←Game "levels"‿" λ$⊕⭍#/\-|+<>^v"‿" λ$⊕⭍#/\-|+<>^v"‿⟨ansi.defaultB,ansi.yellow,ansi.cyan,ansi.red⟩
|
g←Game "levels"‿" λ$⊕⭍#/\-|+<>^v"‿" λ$⊕⭍#/\-|+<>^v"‿⟨ansi.defaultB,ansi.yellow,ansi.cyan,ansi.red⟩
|
||||||
{𝕤 # Loop until the user wins
|
{𝕤 # Loop until the user wins
|
||||||
•Out clear∾e∾"[H" # Cursor to origin
|
•Out clear∾ansi.cursor.origin
|
||||||
clear↩""
|
clear↩""
|
||||||
•Out "Level: "∾•Repr 1+g.currentLevel
|
•Out "Level: "∾•Repr 1+g.currentLevel
|
||||||
•Out ansi.yellow∾"⭍"∾ansi.defaultB∾" Power the machines (⊕) by moving the mirrors ("∾ansi.cyan∾"\/"∾ansi.defaultB∾") "
|
•Out ansi.yellow∾"⭍"∾ansi.defaultB∾" Power the machines (⊕) by moving the mirrors ("∾ansi.cyan∾"\/"∾ansi.defaultB∾") "
|
||||||
|
@ -22,16 +19,16 @@ g←Game "levels"‿" λ$⊕⭍#/\-|+<>^v"‿" λ$⊕⭍#/\-|+<>^v"‿⟨ansi.de
|
||||||
g.WinLevel @ ?
|
g.WinLevel @ ?
|
||||||
•Out "Good job!, press any key to continue to the next level"
|
•Out "Good job!, press any key to continue to the next level"
|
||||||
key←•term.CharB @
|
key←•term.CharB @
|
||||||
clear↩e∾"[2J"
|
clear↩ansi.clear.screen
|
||||||
g.NextLevel @
|
g.NextLevel @
|
||||||
{𝕤⋄•Out e∾"[?12l"∾e∾"[?25h"⋄•Exit 0}⍟(key='q')@
|
{𝕤⋄ansi.RestoreTerm @⋄•Exit 0}⍟(key='q')@
|
||||||
;
|
;
|
||||||
key←•term.CharB @
|
key←•term.CharB @
|
||||||
{𝕤⋄g.Next ⊑("hjklaswd"=key)/∾˜⟨0‿¯1,1‿0,¯1‿0,0‿1⟩}⍟(⊑key∊"hjklaswd")@
|
{𝕤⋄g.Next ⊑("hjklaswd"=key)/∾˜⟨0‿¯1,1‿0,¯1‿0,0‿1⟩}⍟(⊑key∊"hjklaswd")@
|
||||||
{𝕤⋄g.Undo @}⍟(key='u')@
|
{𝕤⋄g.Undo @}⍟(key='u')@
|
||||||
{𝕤⋄•Out e∾"[?12l"∾e∾"[?25h"⋄•Exit 0}⍟(key='q')@
|
{𝕤⋄ansi.RestoreTerm @⋄•Exit 0}⍟(key='q')@
|
||||||
{𝕤⋄clear↩e∾"[2J"⋄g.Reset @}⍟(key='r')@
|
{𝕤⋄clear↩ansi.clear.screen⋄g.Reset @}⍟(key='r')@
|
||||||
{𝕤⋄clear↩e∾"[2J"}⍟(((1⊸+>○(⌊1+10⋆⁼1⌈⊢)⊢)¯1+≠g.moves)∧key='u')@
|
{𝕤⋄clear↩ansi.clear.screen}⍟(((1⊸+>○(⌊1+10⋆⁼1⌈⊢)⊢)¯1+≠g.moves)∧key='u')@
|
||||||
}•_While_{𝕤⋄g.Over @}@
|
}•_While_{𝕤⋄g.Over @}@
|
||||||
•Out "Well played, you win!"
|
•Out "Well played, you win!"
|
||||||
•Out e∾"[?12l"∾e∾"[?25h"
|
ansi.RestoreTerm @
|
||||||
|
|
Loading…
Reference in New Issue