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"
|
||||
yellow⇐e∾"[33m"
|
||||
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"
|
||||
⟨Game⟩←•Import "logic.bqn"
|
||||
|
||||
e←ansi.e
|
||||
•term.RawMode 1 # set terminal to raw mode
|
||||
•Out e∾"[?25l"∾e∾"[2J"∾e∾"[H" # Cursor to origin, hide it and clear screen
|
||||
ansi.InitTerm @
|
||||
clear←""
|
||||
|
||||
g←Game "levels"‿" λ$⊕⭍#/\-|+<>^v"‿" λ$⊕⭍#/\-|+<>^v"‿⟨ansi.defaultB,ansi.yellow,ansi.cyan,ansi.red⟩
|
||||
{𝕤 # Loop until the user wins
|
||||
•Out clear∾e∾"[H" # Cursor to origin
|
||||
•Out clear∾ansi.cursor.origin
|
||||
clear↩""
|
||||
•Out "Level: "∾•Repr 1+g.currentLevel
|
||||
•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 @ ?
|
||||
•Out "Good job!, press any key to continue to the next level"
|
||||
key←•term.CharB @
|
||||
clear↩e∾"[2J"
|
||||
clear↩ansi.clear.screen
|
||||
g.NextLevel @
|
||||
{𝕤⋄•Out e∾"[?12l"∾e∾"[?25h"⋄•Exit 0}⍟(key='q')@
|
||||
{𝕤⋄ansi.RestoreTerm @⋄•Exit 0}⍟(key='q')@
|
||||
;
|
||||
key←•term.CharB @
|
||||
{𝕤⋄g.Next ⊑("hjklaswd"=key)/∾˜⟨0‿¯1,1‿0,¯1‿0,0‿1⟩}⍟(⊑key∊"hjklaswd")@
|
||||
{𝕤⋄g.Undo @}⍟(key='u')@
|
||||
{𝕤⋄•Out e∾"[?12l"∾e∾"[?25h"⋄•Exit 0}⍟(key='q')@
|
||||
{𝕤⋄clear↩e∾"[2J"⋄g.Reset @}⍟(key='r')@
|
||||
{𝕤⋄clear↩e∾"[2J"}⍟(((1⊸+>○(⌊1+10⋆⁼1⌈⊢)⊢)¯1+≠g.moves)∧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!"
|
||||
•Out e∾"[?12l"∾e∾"[?25h"
|
||||
ansi.RestoreTerm @
|
||||
|
|
Loading…
Reference in New Issue