Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- array: .space 80
- arrayuser: .space 80
- message: .asciiz "Diga a sequência de cores"
- errou: .asciiz "Fim de Jogo, Você Errou"
- ganhou: .asciiz "Parabéns!!! VOCÊ GANHOU"
- .text
- # Escolher cores
- init:
- li $t5,0
- li $t4,4
- li $t6,4
- # Escolher cores
- choosecolor:
- # sorteio
- li $a0, 0
- li $a1, 4
- li $v0, 42
- syscall
- #/ sorteio
- beq $t4,$a0,choosecolor # Não repetir a cor
- la $t4, ($a0) # guarda ultima cor
- sw $a0, array($t5)
- addi $t5,$t5,4 #contador
- bne $t5,80,choosecolor
- # / Escolher cores
- # Loop para cada cor
- iniciarrodada:
- li $t7,0 #iniciarcontador
- looprodada:
- beq $t7, $t6, fimdarodada #limitedarodada
- lw $t8, array($t7) #atribui posição do array
- beq $t8,0,redcolor
- beq $t8,1,bluecolor
- beq $t8,2,greencolor
- beq $t8,3,yellowcolor
- redcolor:
- li $t0,0xFF0000
- j changecolor
- bluecolor:
- li $t0,0x0000FF
- j changecolor
- greencolor:
- li $t0,0x00FF00
- j changecolor
- yellowcolor:
- li $t0,0xFFFF00
- j changecolor
- # / Escolher cores
- # Mudar Cor
- changecolor:
- beq $t0,0xFF0000,somcorvermelho
- beq $t0,0x0000FF,somcorazul
- beq $t0,0x00FF00,somcorverde
- beq $t0,0xFFFF00,somcoramarelo
- fimsom:
- li $s0,64
- li $s1,16
- li $t1,0x10040000 # Ponto zero
- sll $s0,$s0,2
- sll $s1,$s1,11
- addu $s1,$s1,$t1 # ultima linha
- addu $s0,$t1,$s0 # ultima coluna
- li $t4,0x800 # pulo da linha
- rectangleYloop:
- move $t3,$t1 # coluna inicial
- rectangleXloop:
- sw $t0,($t3)
- addiu $t3,$t3,4
- bne $t3,$s0,rectangleXloop # continua no loop se não estiver na ultima coluna
- addu $t1,$t1,$t4 # aumenta uma linha
- addu $s0,$s0,$t4 # novo ultimo retangulo
- bne $t1,$s1,rectangleYloop # continuar no loop se não estiver na ultima linha
- li $t3,0xFFFFFF
- beq $t3,$t0,leiturarodada
- # / Mudar Cor
- # sleep
- li $a0, 400
- li $v0, 32
- syscall
- add $t7,$t7,4
- j looprodada
- # / sleep
- fimdarodada:
- li $t0,0xFFFFFF
- li $t8,0
- j changecolor
- leiturarodada:
- beq $t8,$t7, outrarodada
- la $a0,message
- li $v0,51
- syscall
- lw $t2, array($t8)
- bne $t2,$a0,fimerro
- bne $a1,$0,fimerro
- beq $a0,0,somcorvermelho
- beq $a0,1,somcorazul
- beq $a0,2,somcorverde
- beq $a0,3,somcoramarelo
- fimsomuser:
- addi $t8,$t8,4
- j leiturarodada
- outrarodada:
- # Comparar Rodada
- beq $t6,80,fimganhou
- add $t6,$t6,4
- li $a0,500
- li $v0, 32
- syscall
- j iniciarrodada
- # / Comparar Rodada
- fimganhou:
- j fimganhousom
- fimganhousom1:
- la $a0,ganhou
- li $v0,55
- syscall
- j fim
- fimerro:
- j fimperdeu
- fimerro1:
- la $a0,errou
- li $v0,55
- syscall
- j fim
- somcorazul:
- addi $v0, $zero, 33 #MIDI output sincronizado
- addi $a0, $zero, 72 #nota a ser tocada C72, D62, G67, F65
- addi $a1, $zero, 200 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- beq $t7,$t6,fimsomuser
- j fimsom
- somcorverde:
- addi $v0, $zero, 33 #MIDI output sincronizado
- addi $a0, $zero, 62 #nota a ser tocada C72, D62, G67, F65
- addi $a1, $zero, 200 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- beq $t7,$t6,fimsomuser
- j fimsom
- somcorvermelho:
- addi $v0, $zero, 33 #MIDI output sincronizado
- addi $a0, $zero, 67 #nota a ser tocada C72, D62, G67, F65
- addi $a1, $zero, 200 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- beq $t7,$t6,fimsomuser
- j fimsom
- somcoramarelo:
- addi $v0, $zero, 33 #MIDI output sincronizado
- addi $a0, $zero, 90 #nota a ser tocada C72, D62, G67, F71
- addi $a1, $zero, 200 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- beq $t7,$t6,fimsomuser
- j fimsom
- fimganhousom:
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 72 #nota a ser tocada C
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volumes
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 72 #nota a ser tocada C
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 62 #nota a ser tocada D
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 72 #nota a ser tocada C
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 65 #nota a ser tocada F
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 64 #nota a ser tocada E
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- li $v0, 32
- li $a0, 300
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 72 #nota a ser tocada
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 72 #nota a ser tocada
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 62 #nota a ser tocada
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 72 #nota a ser tocada
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 67 #nota a ser tocada
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 65 #nota a ser tocadaa
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 65 #nota a ser tocada C72, D62, G67, F71
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- li $v0, 32
- li $a0, 300
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 61 #nota a ser tocada C72, D62, G67, F71
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 61 #nota a ser tocada C72, D62, G67, F71
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 69 #nota a ser tocada C72, D62, G67, F71
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 65 #nota a ser tocada C72, D62, G67, F71
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 64 #nota a ser tocada C72, D62, G67, F71
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 62 #nota a ser tocada C72, D62, G67, F71
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 62 #nota a ser tocada C72, D62, G67, F71
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- li $v0, 32
- li $a0, 300
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 69 #nota a ser tocada C72, D62, G67, F71
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 69 #nota a ser tocada C72, D62, G67, F71
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 69 #nota a ser tocada C72, D62, G67, F71
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 65 #nota a ser tocada C72, D62, G67, F71
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 67 #nota a ser tocada C72, D62, G67, F71
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 65 #nota a ser tocada C72, D62, G67, F71
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- addi $v0, $zero, 33 #MIDI output
- addi $a0, $zero, 65 #nota a ser tocada C72, D62, G67, F71
- addi $a1, $zero, 100 #duração
- addi $a2, $zero, 64 #instrumento
- addi $a3, $zero, 127 #volume
- syscall
- j fimganhousom1
- fimperdeu:
- li $v0, 33 #syscall
- li $a0, 67 #pitch
- li $a1, 150 #duration
- li $a2, 5 #instrument
- li $a3, 100 #volume
- syscall
- li $v0, 33 #syscall
- li $a0, 63 #pitch
- li $a1, 150 #duration
- li $a2, 5 #instrument
- li $a3, 100 #volume
- syscall
- li $v0, 33 #sydscall
- li $a0, 61 #pitch
- li $a1, 600 #duration
- li $a2, 5 #instrument
- li $a3, 50 #volume
- syscall
- j fimerro1
- fim:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement