Получение ввода с клавиатуры без эха в DOS
Я делаю игру «Подключи четверых».
Игроки должны ввести число от 1 до 4, чтобы диск попал в одну из колонок. В настоящее время я работаю над первым столбцом. Проблема в том, что вы можете ввести любой символ, и он будет работать (он должен работать только когда вы нажимаете '1'), и я не могу понять, как это исправить.
Кроме того, номер появляется в левой части экрана.Как сделать так, чтобы при вводе номера он не отображался на экране?
PlayerOneTurn:
cmp [Player1Turn], 255
je Player1Pressed1
Player1Pressed1:
mov ah, 1
int 21h
cmp al, 31h
je Player1Check1
Player1Check1:
cmp [FirstColumnArray], 0
inc [FirstColumnArray]
je DrawPlayer1Disc
cmp [FirstColumnArray + 1], 0
inc [FirstColumnArray]
je DrawPlayer1Disc
cmp [FirstColumnArray + 2], 0
inc [FirstColumnArray]
je DrawPlayer1Disc
cmp [FirstColumnArray + 3], 0
inc [FirstColumnArray]
je DrawPlayer1Loop
DrawPlayer1Loop:
mov bh,0h
mov cx,[Player1Draw1x]
mov dx,[Player1Draw1y]
mov al,[player1disccolor]
mov ah,0ch
int 10h
inc [Player1Draw1x]
cmp cx, 38h
jl DrawPlayer1Loop
DrawPlayer1Disc:
mov bh, 0h
inc [Player1Draw1y]
mov [Player1Draw1x], 25h
cmp dx, 09Bh
jl DrawPlayer1Loop
При запуске мой проект выглядит так: