Существуют ли какие-либо cmd-коды, которые обнаруживают клавиши при нажатии? - PullRequest
0 голосов
/ 13 апреля 2020

Я много раз пытался работать в игре Basi c Snake в командной строке, но она никогда не заканчивалась, потому что я не знаю, как игрок может управлять змеей. Это код, который я пробовал, но он не работает, кто-нибудь может это исправить?

    # import GetAsyncKeyState()
Add-Type user32_dll @'
    [DllImport("user32.dll")]
    public static extern short GetAsyncKeyState(int vKey);
'@ -namespace System

# for Keys object constants
Add-Type -As System.Windows.Forms

function keyPressed($key) {
    return [user32_dll]::GetAsyncKeyState([Windows.Forms.Keys]::$key) -band 32768
}

while ($true) {
    $ctrl = keyPressed "ControlKey"
    $W = keyPressed "W"
    if ($ctrl -and $W) { break }
    start-sleep -milliseconds 40
}

$Host.UI.RawUI.FlushInputBuffer()
...