返回列表 发帖

[其他] 控制台CAPI解释器CAPIS.EXE

其实就是CLGO语言内置了CAPI.DLL,只有19KB,但比批处理功能强很多。运行速度是批处理的5倍,适合做控制台游戏开发。总之CAPI能做到,CAPIS脚本解释器都能做,并且CAPIS不需要cmd也能运行,支持直接拖拽运行脚本。由于之前已经开源了CLGO解释的代码,就不再重复贴码了,只是内嵌了一个capi而已。
控制台C版API调用解释器,支持IF~ELIF、WHILEFOR等条件循环语句,可用的内建命令
"CAPI", "LINK", "STOP", "EXIT", "WAIT", "PAUSE", "PRINT", "LETS", "CLEAN", "CLS"
可以实现跟CAPI完全一样的API调用效果,但比CAPI的批处理速度快5倍。非常接近原生C语言的速度,且支持浮点数,表达式类传参。COPY
下载:http://bcn.bathome.net/s/tool/index.html?key=CAPIS

简单的应用,弹出对话框:
FUN MAIN
LINK L"USER32" L"KERNEL32"
CAPI =MessageBoxW 0 L"你好" L"message" 1COPY
控制台图显:
FUN DRAW :HICON :HCMD :HDC
LINK  L"USER32" L"KERNEL32"
CAPI :HICON=LoadImageW 0 L"1.ico" 1 0 0 16
CAPI :HCMD =GetConsoleWindow
CAPI :HDC  =GetDC :HCMD
FOR ::A 1 1000
[
CAPI =DrawIconEx :HDC ::A*2 0 :HICON 128 128 0 0 3
CAPI =Sleep 20
CLEAN
CLS
]
FUN MAIN
DRAW 0 0 0
PAUSECOPY
当然非常推荐使用开源的tincs,它才是能在批处理中原生书写C代码的解释器http://www.bathome.net/thread-42497-1-2.html
类似功能的还有ICMD,一个还在完善的项目,http://www.bathome.net/thread-43259-1-1.html
ICMD脚本,挖地道
::*****************************************************************************
  @IF [%1]==[] ("%~DP0ICMD.EXE" /C "%~F0" 1&EXIT)&@REM ICMD SCRIPT 2017~2019
::*****************************************************************************
@echo off
REM 初始化库文件
set/f=LinkDllW L"USER32" L"KERNEL32" L"MSVCRT"
set/f hIcon0=LoadImageW 0 L"graphcs\_p0.ico" 1 0 0 16
set/f hIcon1=LoadImageW 0 L"graphcs\_p1.ico" 1 0 0 16
set/f hIcon2=LoadImageW 0 L"graphcs\_p2.ico" 1 0 0 16
set/f hIcon3=LoadImageW 0 L"graphcs\_p3.ico" 1 0 0 16
set/f wIcon =LoadImageW 0 L"graphcs\_b.ico"  1 0 0 16
set/f bIcon =LoadImageW 0 L"graphcs\_w.ico"  1 0 0 16
set/f hCMD =GetConsoleWindow
set/f hDC  =GetDC %hCMD%
REM 绘制背景地图
for /l %%i in (0,32,800) do (
for /l %%j in (0,32,600) do (
set/f =DrawIconEx %hDC% %%i %%j %bIcon% 32 32 0 0 3
)
)
REM 绘制起点人物
set/a "X=0,Y=0, hIcon=hIcon3"
set/f =DrawIconEx %hDC% %X% %Y% %hIcon% 32 32 0 0 3
REM 循环读取按键
:LOOP
SET/A "PREX=X, PREY=Y"
set/f key=_getch
if %key% geq 97 (set/a key-=32)
if %key% equ 87 (set/a Y-=32,hIcon=hIcon1)
if %key% equ 83 (set/a Y+=32,hIcon=hIcon3)
if %key% equ 65 (set/a X-=32,hIcon=hIcon0)
if %key% equ 68 (set/a X+=32,hIcon=hIcon2)
set/f =DrawIconEx %hDC% %PREX% %PREY% %wIcon% 32 32 0 0 3
set/f =DrawIconEx %hDC%    %X%    %Y% %hIcon% 32 32 0 0 3
goto LOOPCOPY
1

评分人数

你玩得好开心
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 2# codegay
哈哈, 我也觉得没什么可玩了,几乎都体验了,原来编程是这样简单。

TOP

返回列表