我从学校开始执行任务,组装蛇形游戏 我已经完成了所有的游戏,但是我无法想办法做一件事 - 让蛇的数量在相同的方向上移动而没有按下按键。
目前,在每个步骤之后,我的代码调用此代码来获取下一个键:
(
(
"<NSView: 0x600000121ea0>"
),
(
"<NSView: 0x600000120780>"
,
(
"<NSView: 0x6000001235a0>"
)
)
但是这段代码会等到用户按下某个东西,所以他对这种情况并不好
有人知道一段时间之后,如果没有按下任何键,代码会计算代码吗?
另外谢谢:)
答案 0 :(得分:1)
试试这个:
mov ah, 0Bh ;CHECK IF ANY KEY WAS PRESSED.
int 21h ;RESULT IN AL : ==0:NO KEY, !=0:KEY.
cmp al, 0
je JUMP_TO_MOVE_SNAKE
;GET PRESSED KEY.
mov ah,1h
int 21h
JUMP_TO_MOVE_SNAKE:
...
服务0Bh
不会停止执行代码,因此您可以知道何时按下某个键或何时不按键。
答案 1 :(得分:0)
让中断设置变量。使用计时器在读取后立即清除它。使用该变量确定要执行的代码:直/左/右