【问题标题】:batch file that detects keystrokes. how?检测击键的批处理文件。如何?
【发布时间】:2018-03-28 03:46:33
【问题描述】:

我正在为命令行设计一系列视频游戏(例如交易或不交易、井字游戏、赛车、迷宫拼图、四连线、打鼹鼠等),但它确实让我的事情变得更容易如果我可以做到,那么当用户做出选择时(例如在游戏中移动的方向),只要他们按下箭头键,它就会执行下面的 IF 语句。不必在每次选择后按回车键。类似...

:one1
set /p direction1= :
IF %direction1%== {ARROW KEY LEFT} goto two2
IF %direction1%== {ARROW KEY RIGHT} goto three3
IF %direction1%== {ARROW KEY UP} goto four4
IF %direction1%== {ARROW KEY DOWN} goto five5
goto one1

有什么想法吗?

【问题讨论】:

  • WTF有批处理和FP有关吗?它几乎没有子程序。此外,您不想用这种语言编写复杂的程序 - 用具有例如的语言编写它。循环。
  • FP 到底是什么意思?我为此使用批处理的原因是因为之前没有很多人尝试在批处理文件中制作原始 gui,所以我想尝试一下:P
  • FP 表示函数式编程,您将其标记为。我删除了标签,因为 delnan 是对的:这个问题与函数式编程无关。
  • 选择命令是否适用于 Win7?

标签: batch-file keyboard video-game-consoles


【解决方案1】:

这取决于您的 Windows 版本。

如果你使用Vista,你可以使用choice直接接收单个键,但是使用纯批处理似乎无法检测到方向键。

编辑

:one1
choice /c awsd /n /m "MOVE with A S D w"
IF %errorlevel%==1 goto two2
IF %errorlevel%==2 goto three3
IF %errorlevel%==3 goto four4
IF %errorlevel%==4 goto five5
goto one1

【讨论】:

  • 嗯,我见过有人这样做,但我不明白如何在不出错的情况下使用他们的脚本。
【解决方案2】:
:start

choice /c:HPKM /n "Move with arrow keys"

if "%errorlevel%"=="1" {COMMAND}

if "%errorlevel%"=="2" {COMMAND}

if "%errorlevel%"=="3" {COMMAND}

if "%errorlevel%"=="4" {COMMAND}

【讨论】:

  • 这应该如何与箭头键一起使用?它适用于HPKM
【解决方案3】:

http://winsupport.org/packages/choice.exe

这是一个允许使用箭头键的自定义选项。

它们的使用方式如下:choice /c:HPKM /n "Move with arrow keys"

唯一的问题是你也可以使用 H、P、K 和 M...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 2020-12-24
    • 2022-01-08
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多