mirror of
https://github.com/ValKmjolnir/Nasal-Interpreter.git
synced 2026-07-23 03:18:43 +08:00
add new third-lib libkey that includes function: kbhit,getch,nonblock
This commit is contained in:
+1
-12
@@ -1,16 +1,5 @@
|
||||
import("lib.nas");
|
||||
|
||||
var libfib=func(){
|
||||
var dl=dylib.dlopen("./module/libfib."~(os.platform()=="windows"?"dll":"so"));
|
||||
var fib=dylib.dlsym(dl,"fib");
|
||||
var qfib=dylib.dlsym(dl,"quick_fib");
|
||||
var call=dylib.dlcall;
|
||||
return
|
||||
{
|
||||
fib: func(x){return call(fib,x)},
|
||||
qfib:func(x){return call(qfib,x)}
|
||||
};
|
||||
}();
|
||||
import("./module/libfib.nas");
|
||||
|
||||
println(libfib);
|
||||
println(libfib.fib(29));
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
import("lib.nas");
|
||||
import("module/libkey.nas");
|
||||
|
||||
var brick=[
|
||||
[
|
||||
[1,1],
|
||||
[1,0],
|
||||
[1,0]
|
||||
],
|
||||
[
|
||||
[0,1],
|
||||
[1,1],
|
||||
[1,0]
|
||||
],
|
||||
[
|
||||
[1,1],
|
||||
[0,1],
|
||||
[0,1],
|
||||
],
|
||||
[
|
||||
[1,0],
|
||||
[1,1],
|
||||
[0,1]
|
||||
],
|
||||
[
|
||||
[1,1,1,1]
|
||||
],
|
||||
[
|
||||
[1,1],
|
||||
[1,1]
|
||||
],
|
||||
[
|
||||
[0,1,0],
|
||||
[1,1,1]
|
||||
]
|
||||
];
|
||||
|
||||
func(){
|
||||
libkey.init();
|
||||
print('\ec');
|
||||
var cnt=0;
|
||||
while(1){
|
||||
var ch=libkey.nonblock();
|
||||
ch=ch?chr(ch)~chr(ch):"[]";
|
||||
var s="\ec+--------------+\n";
|
||||
var normal="| |\n";
|
||||
var character="| "~ch~" |\n";
|
||||
for(var i=0;i<6;i+=1)
|
||||
s~=(i==cnt)?character:normal;
|
||||
s~="+--------------+\n";
|
||||
print(s);
|
||||
unix.sleep(0.3);
|
||||
cnt+=1;
|
||||
if(cnt==6)
|
||||
cnt=0;
|
||||
}
|
||||
libkey.close();
|
||||
}();
|
||||
Reference in New Issue
Block a user