所以我用mips做了一个简单的基于文本的RPG冒险游戏(它大约有2200行代码,与我的问题并不相关,所以我不会发表它)。我想格式化它,以便在打印一行文本后,用户必须按enter键才能显示下一行(也称为继续下一条指令),类似于视频游戏文本框的工作方式。有什么想法吗?
谢谢!
发布于 2019-04-19 12:20:04
我在我做的一个小程序中添加了类似这样的东西。我使用了一个提示符,然后读了一个字符。我把它放在循环中,直到用户按下Enter,ASCII代码10。一些帖子会把ENTER键称为ASCII 13 (回车),但在我的Mac上它读作10。无论哪种方式,您也可以将读取的char显示为一个int (sys代码1),以查看您得到的是什么(10或13)。
以下是我使用的代码片段:
.data
contPrompt: .asciiz "Press ENTER to continue...\n"
newLine: .asciiz "\n"
.text
# your other code goes here
jal readEnter
# next instruction in your code……
readEnter: # Ask user to press ENTER to continue
li $v0, 4
la $a0, contPrompt
syscall
li $v0, 12 # sys code for readchar
syscall
move $t0, $v0
li $v0, 4
la $a0, newLine
syscall
bne $t0, 10, readEnter # repeat if not ENTER
jr $ra # return to the calling subroutine我不确定你是否正在寻找更复杂的东西,但这对我的目的很好。
https://stackoverflow.com/questions/49722074
复制相似问题