2016-08-01 233 views
-1

我有在MIPS確認對話框代碼的麻煩:確認對話框

 
.data 
Welcome1:.asciiz "\n Hello! you are about to play the mastermind guessing and logic game,Bulls & Cows!\n The Computer will generate a secret numbermade of 4 unique integer number.You have to guess the number!\n Using the number of Bulls and Cows you get to find out what the secret number is!\n" 
Welcome2: .asciiz "\nEvery digit you enter that is both correct and in the right location is a BULL. When you get 4 BULLS, YOU WIN!\n\nEvery digit you enter that is correct, but not in the right location is a COW!\n" 
confirm: .asciiz "\n Select \nYES - if you are ready to guess \n NO - to see the rules again \n Cancel - to exit the Game\n" 
.text 
main:jal welcome 
welcome: 
la $a0,Welcome1 
li $a1,1 
li $v0, 55 
syscall 

la,$a0,Welcome2 
li $v0,55 
syscall 

la $a0,confirm 
li $v0,50 

syscall 


Exit: 
li $v0,10 
syscall 
+1

Hi @ user3341473,歡迎來到Stack Overflow。你能提供更多關於你的代碼問題的細節嗎?你期望它做什麼,以及發生了什麼? – Blckknght

+0

我正在尋找一個確認對話框,其中有選項「是」或「否」以隨程序進一步移動 – user3341473

回答

0

很顯然,你有更多的工作要做,以獲得遊戲的工作,但我[請原諒無償風格清理]:

.data 

Welcome1: 
    .ascii "\n Hello! you are about to play the mastermind" 
    .ascii " guessing and logic game,Bulls & Cows!\n" 
    .ascii "The Computer will generate a secret number made of 4 unique" 
    .ascii " integer numbers. You have to guess the number!\n" 
    .ascii "Using the number of Bulls and Cows you get to find out what" 
    .asciiz " the secret number is!\n" 

Welcome2: 
    .ascii "\nEvery digit you enter that is both correct and in the right" 
    .ascii " location is a BULL. When you get 4 BULLS, YOU WIN!\n\n" 
    .ascii "Every digit you enter that is correct, but not in the right" 
    .asciiz " location is a COW!\n" 

confirm: 
    .ascii "\n Select \n" 
    .ascii "YES - if you are ready to guess\n" 
    .ascii "NO - to see the rules again\n" 
    .asciiz "Cancel - to exit the Game\n" 

msg_asknum: 
    .asciiz "\nEnter your game choice\n" 

    .text 

main: 

    # show intro and rules 
main_welcome: 
    la  $a0,Welcome1 
    li  $a1,1 
    li  $v0,55 
    syscall 

    la  $a0,Welcome2 
    li  $v0,55 
    syscall 

    # ask user to select an action (i.e. enter data, reread rules, exit program) 
main_confirm: 
    la  $a0,confirm 
    li  $v0,50 
    syscall 

    # the return is in a0: 0=yes, 1=no, 2=cancel 
    beq  $a0,0,main_asknum 
    beq  $a0,2,main_exit 
    b  main_welcome 

    # ask user for the next game input 
    # NOTE: this is a prompt for an integer number 
main_asknum: 
    li  $v0,51 
    la  $a0,msg_asknum 
    syscall 

    beq  $a1,-1,main_asknum  # syntax error 
    beq  $a1,-2,main_confirm  # cancel 
    beq  $a1,-3,main_asknum  # ok, but no data 

    jal  do_something   # do something with the number in a0 ... 

    j  main_asknum 

main_exit: 
    li  $v0,10 
    syscall 

# do_something -- process user's input 
# 
# arguments: 
# a0 -- number the user entered 
do_something: 
    jr  $ra      # return