所以我用mips制作了一个简单的基于RPG文本的冒险游戏(它大约有2200行代码,与我的问题无关,所以我不会发布它)。我想格式化它,所以在打印一行文本后,用户必须按回车键才能显示下一行(也就是继续下一条指令),类似于视频游戏文本框的工作方式。有什么想法吗?
谢谢!
答案 0 :(得分:0)
我在一个小程序中添加了类似的内容。我使用了提示,然后阅读了一个字符。我将此循环放到用户按ASCII码10的Enter键之前。有些帖子将ENTER键称为ASCII 13(回车),但在Mac上为10。无论哪种方式,您都可以将read char显示为int(系统代码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
我不确定您是否正在寻找更复杂的东西,但这对我而言效果很好。