Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- include 'emu8086.inc'
- org 100h
- name 'Pedra Papel Tesoura'
- ;;;;;;;;;;;;
- jmp menu
- ;;;;;;;;;;;;
- ecraapre:
- print ' ###### ###### '
- GOTOXY 0,1
- print ' # # ###### ##### ##### ## # # ## ##### ###### # '
- GOTOXY 0,2
- print ' # # # # # # # # # # # # # # # # # '
- GOTOXY 0,3
- print ' ###### ##### # # # # # # ###### # # # # ##### # '
- GOTOXY 0,4
- print ' # # # # ##### ###### # ###### ##### # # '
- GOTOXY 0,5
- print ' # # # # # # # # # # # # # # '
- GOTOXY 0,6
- print ' # ###### ##### # # # # # # # # ###### ###### '
- GOTOXY 0,7
- print ' '
- GOTOXY 0,8
- print ' ####### '
- GOTOXY 0,9
- print ' # ###### #### #### # # ##### ## '
- GOTOXY 0,10
- print ' # # # # # # # # # # # '
- GOTOXY 0,11
- print ' # ##### #### # # # # # # # # '
- GOTOXY 0,12
- print ' # # # # # # # ##### ###### '
- GOTOXY 0,13
- print ' # # # # # # # # # # # # '
- GOTOXY 0,14
- print ' # ###### #### #### #### # # # # '
- GOTOXY 0,15 ''
- print 'Jogo de Nuno Lopes e Joao Lomar'
- GOTOXY 30,18
- print 'Pressiona o espaco para avancares'
- GOTOXY 30,19
- MOV AH, 1
- INT 21H
- MOV CL,AL
- cmp CL, 32 ;vai para o menu
- JE irmenu
- menu:
- GOTOXY 17,5
- print '+---------------------------------------------+'
- GOTOXY 17,6
- print '| |'
- GOTOXY 17,7
- print '| Escolha um dos modos: |'
- GOTOXY 17,8
- print '| |'
- GOTOXY 17,9
- print '| Modo contra PC (carregar n) |'
- GOTOXY 17,10
- print '| Modo contra PC - impossivel (carregar i) |'
- GOTOXY 17,11
- print '| Modo Lagarto - Spock (carregar a) |'
- GOTOXY 17,12
- print '| Modo 1 vs 1 (carregar p) |'
- GOTOXY 17,13
- print '| |'
- GOTOXY 17,14
- print '+---------------------------------------------+'
- escolher:
- MOV AH, 1
- INT 21H
- MOV CL,AL
- cmp CL, 'n' ;caso seja inserido um n, modo
- JE modopc
- cmp CL, 'i' ;caso seja inserido um i, modo
- JE modoimpossivel
- cmp CL, 'p' ;caso seja inserido um n, modo
- JE modopvp
- cmp CL, 'a' ;caso seja inserido um a, modo
- JE modospock
- jmp escolher
- modopc: ;modo contra o pc aleatorio
- mov AX, 03h ;limpar o ecra
- int 10h
- GOTOXY 5,0
- print '| Modo Normal |'
- GOTOXY 5,1
- print '| Pedra Papel Tesoura |'
- GOTOXY 5,2
- print '+------------------------+'
- GOTOXY 63,3
- print '+-------------+'
- GOTOXY 63,4
- print '| Jogadas: |'
- GOTOXY 63,5
- print '| 1 - Pedra |'
- GOTOXY 63,6
- print '| 2 - Papel |'
- GOTOXY 63,7
- print '| 3 - Tesoura |'
- GOTOXY 63,8
- print '+-------------+'
- GOTOXY 0,6
- MOV jogadas[0],'0'
- MOV pontospc[0],'0'
- MOV pontosj1[0],'0'
- inicial:
- CMP jogadas[0],'3' ;compara o numero de jogadas a 3
- JE fimdojogo ;quando for igual a 3 o jogo acaba
- JL continuarajogar
- fimdojogo:
- CMP pontosj1[0],'2'
- JGE j1ganhoujogo
- CMP pontospc[0],'2'
- JGE pcganhoujogo
- continuarajogar:
- ; jogada do pc random
- mov AH,2Ch
- INT 21h
- cmp dl, 66
- jg n3
- cmp dl, 33
- jg n2
- cmp dl, 0
- jg n1
- n3:
- mov CH, '3'
- jmp jogar
- n2:
- mov CH, '2'
- jmp jogar
- n1:
- mov CH, '1'
- jmp jogar
- jogar:
- GOTOXY 0,5
- MOV AH, 9
- LEA DX, jogarj1
- INT 21H
- MOV AH, 1
- INT 21H
- MOV CL,AL
- MOV AH, 9
- LEA DX, jogadausadapc
- INT 21H
- CMP CH,'1';pc jogou pedra
- JE nomepedra
- CMP CH,'2';pc jogou papel
- JE nomepapel
- CMP CH,'3';pc jogou tesoura
- JE nometesoura
- comparar:
- CMP CH,CL ;compara jogada do pc com a do user
- JE empate ;se for igual da empate
- CMP CH,'1'
- JE pedra
- CMP CH,'2'
- JE papel
- CMP CH,'3'
- JE tesoura
- jmp jogar
- pedra:
- CMP CL,'2'
- JE msgvitoriaj1
- CMP CL,'3'
- JE msgvitoriapc
- jmp inicial
- papel:
- CMP CL,'3'
- JE msgvitoriaj1
- CMP CL,'1'
- JE msgvitoriapc
- jmp inicial
- tesoura:
- CMP CL,'1'
- JE msgvitoriaj1
- CMP CL,'2'
- JE msgvitoriapc
- jmp inicial
- empate:
- MOV AH, 9
- LEA DX, msgempate
- INT 21H
- ;nao ha incrementos no caso de empate
- jmp inicial
- msgvitoriaj1:
- MOV AH, 9
- LEA DX, j1ganhoujogada
- INT 21H
- INC jogadas[0] ;INC numero de jogadas
- INC pontosj1[0] ;INC pontos jogador1
- GOTOXY 50,0
- MOV AH, 9
- LEA DX, pc
- INT 21H
- MOV AH, 2
- MOV DL, pontospc[0]
- INT 21H
- MOV AH, 9
- LEA DX, player1
- INT 21H
- MOV AH, 2
- MOV DL, pontosj1[0]
- INT 21H
- MOV AH, 9
- LEA DX, pontosponto
- INT 21H
- GOTOXY 78,0
- print '|'
- GOTOXY 49,1
- print '+----------------------------+'
- GOTOXY 49,0
- print '|'
- jmp inicial
- msgvitoriapc:
- MOV AH, 9
- LEA DX, pcganhoujogada
- INT 21H
- INC jogadas[0] ;INC numero de jogadas
- INC pontospc[0] ;INC pontos PC
- GOTOXY 50,0
- MOV AH, 9
- LEA DX, pc
- INT 21H
- MOV AH, 2
- MOV DL, pontospc[0]
- INT 21H
- MOV AH, 9
- LEA DX, player1
- INT 21H
- MOV AH, 2
- MOV DL, pontosj1[0]
- INT 21H
- MOV AH, 9
- LEA DX, pontosponto
- INT 21H
- GOTOXY 78,0
- print '|'
- GOTOXY 49,1
- print '+----------------------------+'
- GOTOXY 49,0
- print '|'
- jmp inicial
- j1ganhoujogo:
- GOTOXY 0,10
- MOV AH, 9
- LEA DX, j1ganhou
- INT 21H
- MOV AH, 2
- MOV DL, pontosj1[0]
- INT 21H
- MOV AH, 9
- LEA DX, barra
- INT 21H
- MOV AH, 2
- MOV DL, pontospc[0]
- INT 21H
- pressiona6:
- GOTOXY 0,11
- MOV AH, 9
- LEA DX, pressionaenter
- INT 21H
- MOV AH, 1
- INT 21H
- MOV CL,AL
- cmp CL, 13
- JE j1ganhouascii
- jmp pressiona6
- pcganhoujogo:
- GOTOXY 0,10
- MOV AH, 9
- LEA DX, pcganhou
- INT 21H
- MOV AH, 2
- MOV DL, pontosj1[0]
- INT 21H
- MOV AH, 9
- LEA DX, barra
- INT 21H
- MOV AH, 2
- MOV DL, pontospc[0]
- INT 21H
- pressiona:
- GOTOXY 0,11
- MOV AH, 9
- LEA DX, pressionaenter
- INT 21H
- MOV AH, 1
- INT 21H
- MOV CL,AL
- cmp CL, 13
- JE pcganhouascii
- jmp pressiona
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- modoimpossivel:
- mov AX, 03h ;limpar o ecra
- int 10h
- GOTOXY 5,0
- print '| Modo Impossivel |'
- GOTOXY 5,1
- print '| Pedra Papel Tesoura |'
- GOTOXY 5,2
- print '+----------------------------+'
- GOTOXY 63,3
- print '+-------------+'
- GOTOXY 63,4
- print '| Jogadas: |'
- GOTOXY 63,5
- print '| 1 - Pedra |'
- GOTOXY 63,6
- print '| 2 - Papel |'
- GOTOXY 63,7
- print '| 3 - Tesoura |'
- GOTOXY 63,8
- print '+-------------+'
- GOTOXY 0,5
- MOV AH, 9
- LEA DX, expimp
- INT 21H
- MOV jogadas[0],'0'
- MOV pontospc[0],'0'
- MOV pontosj1[0],'0'
- inicialimp:
- CMP jogadas[0],'3' ;compara o numero de jogadas a 3 ;quando for igual a 3 o jogo acaba
- JL continuarajogarimp
- jmp pcganhouascii
- continuarajogarimp:
- GOTOXY 0,9
- MOV AH, 9
- LEA DX, jogarj1
- INT 21H
- MOV AH, 1
- INT 21H
- MOV CL,AL
- compararimp:
- MOV AH, 2
- MOV DL, CH
- INT 21H
- CMP CL,'1'
- JE pedraimp
- CMP CL,'2'
- JE papelimp
- CMP CL,'3'
- JE tesouraimp
- jmp continuarajogarimp
- pedraimp:
- MOV CH,'2'
- MOV AH, 9
- LEA DX, jogadausadapc
- INT 21H
- CMP CH,'1';pc jogou pedra
- JE nomepedraimp
- CMP CH,'2';pc jogou papel
- JE nomepapelimp
- CMP CH,'3';pc jogou tesoura
- JE nometesouraimp
- pedraimp1:
- MOV CH,'2'
- CMP CH,'2'
- JB msgvitoriaj1
- JE msgvitoriapcimp
- JG msgvitoriapcimp
- jmp inicialimp
- papelimp:
- MOV CH,'3'
- MOV AH, 9
- LEA DX, jogadausadapc
- INT 21H
- CMP CH,'1';pc jogou pedra
- JE nomepedraimp
- CMP CH,'2';pc jogou papel
- JE nomepapelimp
- CMP CH,'3';pc jogou tesoura
- JE nometesouraimp
- papelimp1:
- MOV CH,'3'
- CMP CH,'3'
- JE msgvitoriapcimp
- JB msgvitoriaj1imp
- jmp inicialimp
- tesouraimp:
- MOV CH,'1'
- MOV AH, 9
- LEA DX, jogadausadapc
- INT 21H
- CMP CH,'1';pc jogou pedra
- JE nomepedraimp
- CMP CH,'2';pc jogou papel
- JE nomepapelimp
- CMP CH,'3';pc jogou tesoura
- JE nometesouraimp
- tesouraimp1:
- MOV CH,'1'
- CMP CH,'1'
- JE msgvitoriapcimp
- JG msgvitoriaj1imp
- jmp inicialimp
- msgvitoriaj1imp:
- MOV AH, 9
- LEA DX, j1ganhoujogada
- INT 21H
- INC jogadas[0] ;INC numero de jogadas
- INC pontosj1[0] ;INC pontos jogador1
- GOTOXY 50,0
- MOV AH, 9
- LEA DX, pc
- INT 21H
- MOV AH, 2
- MOV DL, pontospc[0]
- INT 21H
- MOV AH, 9
- LEA DX, player1
- INT 21H
- MOV AH, 2
- MOV DL, pontosj1[0]
- INT 21H
- MOV AH, 9
- LEA DX, pontosponto
- INT 21H
- GOTOXY 78,0
- print '|'
- GOTOXY 49,1
- print '+----------------------------+'
- GOTOXY 49,0
- print '|'
- jmp inicialimp
- msgvitoriapcimp:
- MOV AH, 9
- LEA DX, pcganhoujogada
- INT 21H
- INC jogadas[0] ;INC numero de jogadas
- INC pontospc[0] ;INC pontos PC
- GOTOXY 50,0
- MOV AH, 9
- LEA DX, pc
- INT 21H
- MOV AH, 2
- MOV DL, pontospc[0]
- INT 21H
- MOV AH, 9
- LEA DX, player1
- INT 21H
- MOV AH, 2
- MOV DL, pontosj1[0]
- INT 21H
- MOV AH, 9
- LEA DX, pontosponto
- INT 21H
- GOTOXY 78,0
- print '|'
- GOTOXY 49,1
- print '+----------------------------+'
- GOTOXY 49,0
- print '|'
- jmp inicialimp
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;comeco versao jogador contra jogador
- modopvp:
- mov AX, 03h ;limpar o ecra
- int 10h
- GOTOXY 5,0
- print '| Modo PVP |'
- GOTOXY 5,1
- print '| Jogador contra Jogador |'
- GOTOXY 5,2
- print '+------------------------+'
- GOTOXY 63,3
- print '+-------------+'
- GOTOXY 63,4
- print '| Jogadas: |'
- GOTOXY 63,5
- print '| 1 - Pedra |'
- GOTOXY 63,6
- print '| 2 - Papel |'
- GOTOXY 63,7
- print '| 3 - Tesoura |'
- GOTOXY 63,8
- print '+-------------+'
- MOV jogadas[0],'0'
- MOV pontosj1[0],'0'
- MOV pontosj2[0],'0'
- inicialpvp:
- CMP jogadas[0],'3' ;compara o numero de jogadas a 3
- JE fimdojogopvp ;quando for igual a 3 o jogo acaba
- JL continuarajogarpvp
- fimdojogopvp:
- CMP pontosj1[0],'2'
- JGE j1ganhoujogopvp
- CMP pontosj2[0],'2'
- JGE j2ganhoujogopvp
- continuarajogarpvp:
- GOTOXY 0,5
- MOV AH, 9
- LEA DX, jogarj1
- INT 21H
- mov ah, 7
- int 21h
- MOV CH,Al
- mov ah,2
- mov dl,'*'
- int 21h
- MOV AH, 9
- LEA DX, jogarj2
- INT 21H
- mov ah, 7
- int 21h
- MOV Cl,Al
- mov ah,2
- mov dl,'*'
- int 21h
- MOV AH, 9
- LEA DX, jogadausadaj1
- INT 21H
- CMP CH,'1';j1 jogou pedra
- JE nomepedrapvp
- CMP CH,'2';j1 jogou papel
- JE nomepapelpvp
- CMP CH,'3';j1 jogou tesoura
- JE nometesourapvp
- compararpvp:
- MOV AH, 9
- LEA DX, jogadausadaj2
- INT 21H
- CMP CL,'1';j2 jogou pedra
- JE nomepedrapvp2
- CMP CL,'2';j2 jogou papel
- JE nomepapelpvp2
- CMP CL,'3';j2 jogou tesoura
- JE nometesourapvp2
- compararpvp2:
- CMP CH,CL ;compara jogada do j1 com a do j2
- JE empatepvp ;se for igual da empate
- CMP CH,'1'
- JE pedrapvp
- CMP CH,'2'
- JE papelpvp
- CMP CH,'3'
- JE tesourapvp
- jmp continuarajogarpvp
- pedrapvp:
- CMP CL,'2'
- JE msgvitoriaj2pvp
- CMP CL,'3'
- JE msgvitoriaj1pvp
- jmp continuarajogarpvp
- papelpvp:
- CMP CL,'3'
- JE msgvitoriaj2pvp
- CMP CL,'1'
- JE msgvitoriaj1pvp
- jmp continuarajogarpvp
- tesourapvp:
- CMP CL,'1'
- JE msgvitoriaj2pvp
- CMP CL,'2'
- JE msgvitoriaj1pvp
- jmp continuarajogarpvp
- empatepvp:
- MOV AH, 9
- LEA DX, msgempate
- INT 21H
- ;nao ha incrementos no caso de empate
- jmp inicialpvp
- msgvitoriaj1pvp:
- MOV AH, 9
- LEA DX, j1ganhoujogada
- INT 21H
- INC jogadas[0] ;INC numero de jogadas
- INC pontosj1[0] ;INC pontos jogador1
- GOTOXY 43,0
- MOV AH, 9
- LEA DX, player1pvp
- INT 21H
- MOV AH, 2
- MOV DL, pontosj1[0]
- INT 21H
- MOV AH, 9
- LEA DX, player2
- INT 21H
- MOV AH, 2
- MOV DL, pontosj2[0]
- INT 21H
- MOV AH, 9
- LEA DX, pontosponto
- INT 21H
- GOTOXY 77,0
- print '|'
- GOTOXY 77,0
- print '|'
- GOTOXY 42,1
- print '+---------------------------------+'
- GOTOXY 42,0
- print '|'
- GOTOXY 42,0
- print '|'
- jmp inicialpvp
- msgvitoriaj2pvp:
- MOV AH, 9
- LEA DX, j2ganhoujogada
- INT 21H
- INC jogadas[0] ;INC numero de jogadas
- INC pontosj2[0] ;INC pontos PC
- GOTOXY 43,0
- MOV AH, 9
- LEA DX, player1pvp
- INT 21H
- MOV AH, 2
- MOV DL, pontosj1[0]
- INT 21H
- MOV AH, 9
- LEA DX, player2
- INT 21H
- MOV AH, 2
- MOV DL, pontosj2[0]
- INT 21H
- MOV AH, 9
- LEA DX, pontosponto
- INT 21H
- GOTOXY 77,0
- print '|'
- GOTOXY 77,0
- print '|'
- GOTOXY 42,1
- print '+---------------------------------+'
- GOTOXY 42,0
- print '|'
- GOTOXY 42,0
- print '|'
- jmp inicialpvp
- j1ganhoujogopvp:
- GOTOXY 0,15
- MOV AH, 9
- LEA DX, j1ganhou
- INT 21H
- MOV AH, 2
- MOV DL, pontosj1[0]
- INT 21H
- MOV AH, 9
- LEA DX, barra
- INT 21H
- MOV AH, 2
- MOV DL, pontosj2[0]
- INT 21H
- pressiona5:
- MOV AH, 9
- LEA DX, pressionaenter
- INT 21H
- MOV AH, 1
- INT 21H
- MOV CL,AL
- cmp CL, 13
- JE j1ganhouascii
- jmp pressiona5
- j2ganhoujogopvp:
- GOTOXY 0,15
- MOV AH, 9
- LEA DX, j2ganhou
- INT 21H
- MOV AH, 2
- MOV DL, pontosj2[0]
- INT 21H
- MOV AH, 9
- LEA DX, barra
- INT 21H
- MOV AH, 2
- MOV DL, pontosj1[0]
- INT 21H
- pressiona2:
- MOV AH, 9
- LEA DX, pressionaenter
- INT 21H
- MOV AH, 1
- INT 21H
- MOV CL,AL
- cmp CL, 13
- JE j2ganhouascii
- jmp pressiona2
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- modospock:
- mov AX, 03h ;limpar o ecra
- int 10h
- GOTOXY 5,0
- print '| Pedra Papel Tesoura |'
- GOTOXY 5,1
- print '| Spock - Lagarto |'
- GOTOXY 5,2
- print '+---------------------+'
- GOTOXY 63,3
- print '+-------------+'
- GOTOXY 63,4
- print '| Jogadas: |'
- GOTOXY 63,5
- print '| 1 - Pedra |'
- GOTOXY 63,6
- print '| 2 - Papel |'
- GOTOXY 63,7
- print '| 3 - Tesoura |'
- GOTOXY 63,8
- print '| 4 - Lagarto |'
- GOTOXY 63,9
- print '| 5 - Spock |'
- GOTOXY 63,10
- print '+-------------+'
- GOTOXY 48,12
- print '+----------------------------+'
- GOTOXY 48,13
- print '| Regras: |'
- GOTOXY 48,14
- print '| Tesoura corta o papel |'
- GOTOXY 48,15
- print '| Papel cobre a pedra |'
- GOTOXY 48,16
- print '| Pedra esmaga o lagarto |'
- GOTOXY 48,17
- print '| Lagarto envenena o Spock |'
- GOTOXY 48,18
- print '| Spock derrete a tesoura |'
- GOTOXY 48,19
- print '| Tesoura decapita o lagarto |'
- GOTOXY 48,20
- print '| Lagarto come o papel |'
- GOTOXY 48,21
- print '| Papel refuta a Spock |'
- GOTOXY 48,22
- print '| Spock vaporiza a pedra |'
- GOTOXY 48,23
- print '| Pedra quebra a tesoura |'
- GOTOXY 48,24
- print '+----------------------------+'
- MOV jogadas[0],'0'
- MOV pontospc[0],'0'
- MOV pontosj1[0],'0'
- inicialspock:
- CMP jogadas[0],'5' ;compara o numero de jogadas a 3
- JE fimdojogospock ;quando for igual a 3 o jogo acaba
- JL continuarajogarspock
- fimdojogospock:
- CMP pontosj1[0],'3'
- JGE j1ganhoujogospock
- CMP pontospc[0],'3'
- JGE pcganhoujogospock
- continuarajogarspock:
- ; jogada do pc random
- mov AH,2Ch
- INT 21h
- cmp dl, 80
- jg n5spock
- cmp dl, 60
- jg n4spock
- cmp dl, 40
- jg n3spock
- cmp dl, 20
- jg n2spock
- cmp dl, 0
- jg n1spock
- n5spock:
- mov CH, '5'
- jmp jogarspock
- n4spock:
- mov CH, '4'
- jmp jogarspock
- n3spock:
- mov CH, '3'
- jmp jogarspock
- n2spock:
- mov CH, '2'
- jmp jogarspock
- n1spock:
- mov CH, '1'
- jmp jogarspock
- jogarspock:
- gotoxy 0,5
- MOV AH, 9
- LEA DX, jogarj1
- INT 21H
- MOV AH, 1
- INT 21H
- MOV CL,AL
- MOV AH, 9
- LEA DX, jogadausadapc
- INT 21H
- CMP CH,'1';pc jogou pedra
- JE nomepedraspock
- CMP CH,'2';pc jogou papel
- JE nomepapelspock
- CMP CH,'3';pc jogou tesoura
- JE nometesouraspock
- CMP CH,'4';pc jogou lagarto
- JE nomelagarto
- CMP CH,'5';pc jogou spock
- JE nomespock
- compararspock:
- CMP CH,CL ;compara jogada do pc com a do user
- JE empatespock ;se for igual da empate
- CMP CH,'1'
- JE pedraspock
- CMP CH,'2'
- JE papelspock
- CMP CH,'3'
- JE tesouraspock
- CMP CH,'4'
- JE lagarto
- CMP CH,'5'
- JE spock
- jmp jogar
- pedraspock:
- CMP CL,'2'
- JE msgvitoriaj1spock
- CMP CL,'3'
- JE msgvitoriapcspock
- CMP CL,'4'
- JE msgvitoriapcspock
- CMP CL,'5'
- JE msgvitoriaj1spock
- jmp inicialspock
- papelspock:
- CMP CL,'3'
- JE msgvitoriaj1spock
- CMP CL,'1'
- JE msgvitoriapcspock
- CMP CL,'4'
- JE msgvitoriaj1spock
- CMP CL,'5'
- JE msgvitoriapcspock
- jmp inicialspock
- tesouraspock:
- CMP CL,'1'
- JE msgvitoriaj1spock
- CMP CL,'2'
- JE msgvitoriapcspock
- CMP CL,'4'
- JE msgvitoriapcspock
- CMP CL,'5'
- JE msgvitoriaj1spock
- jmp inicialspock
- lagarto:
- CMP CL,'1'
- JE msgvitoriaj1spock
- CMP CL,'2'
- JE msgvitoriapcspock
- CMP CL,'3'
- JE msgvitoriaj1spock
- CMP CL,'5'
- JE msgvitoriapcspock
- jmp inicialspock
- spock:
- CMP CL,'1'
- JE msgvitoriapcspock
- CMP CL,'2'
- JE msgvitoriaj1spock
- CMP CL,'3'
- JE msgvitoriapcspock
- CMP CL,'4'
- JE msgvitoriaj1spock
- jmp inicialspock
- empatespock:
- MOV AH, 9
- LEA DX, msgempate
- INT 21H
- ;nao ha incrementos no caso de empate
- jmp inicialspock
- msgvitoriaj1spock:
- MOV AH, 9
- LEA DX, j1ganhoujogada
- INT 21H
- INC jogadas[0] ;INC numero de jogadas
- INC pontosj1[0] ;INC pontos jogador1
- GOTOXY 50,0
- MOV AH, 9
- LEA DX, pc
- INT 21H
- MOV AH, 2
- MOV DL, pontospc[0]
- INT 21H
- MOV AH, 9
- LEA DX, player1
- INT 21H
- MOV AH, 2
- MOV DL, pontosj1[0]
- INT 21H
- MOV AH, 9
- LEA DX, pontosponto
- INT 21H
- GOTOXY 78,0
- print '|'
- GOTOXY 49,1
- print '+---------------------------+'
- GOTOXY 49,0
- print '|'
- jmp inicialspock
- msgvitoriapcspock:
- MOV AH, 9
- LEA DX, pcganhoujogada
- INT 21H
- INC jogadas[0] ;INC numero de jogadas
- INC pontospc[0] ;INC pontos PC
- GOTOXY 50,0
- MOV AH, 9
- LEA DX, pc
- INT 21H
- MOV AH, 2
- MOV DL, pontospc[0]
- INT 21H
- MOV AH, 9
- LEA DX, player1
- INT 21H
- MOV AH, 2
- MOV DL, pontosj1[0]
- INT 21H
- MOV AH, 9
- LEA DX, pontosponto
- INT 21H
- GOTOXY 78,0
- print '|'
- GOTOXY 49,1
- print '+----------------------------+'
- GOTOXY 49,0
- print '|'
- jmp inicialspock
- j1ganhoujogospock:
- gotoxy 0,9
- MOV AH, 9
- LEA DX, j1ganhou
- INT 21H
- MOV AH, 2
- MOV DL, pontosj1[0]
- INT 21H
- MOV AH, 9
- LEA DX, barra
- INT 21H
- MOV AH, 2
- MOV DL, pontospc[0]
- INT 21H
- pressiona3:
- MOV AH, 9
- LEA DX, pressionaenter
- INT 21H
- MOV AH, 1
- INT 21H
- MOV CL,AL
- cmp CL, 13
- JE j1ganhouascii
- jmp pressiona3
- pcganhoujogospock:
- gotoxy 0,9
- MOV AH, 9
- LEA DX, pcganhou
- INT 21H
- MOV AH, 2
- MOV DL, pontospc[0]
- INT 21H
- MOV AH, 9
- LEA DX, barra
- INT 21H
- MOV AH, 2
- MOV DL, pontosj1[0]
- INT 21H
- pressiona4:
- MOV AH, 9
- LEA DX, pressionaenter
- INT 21H
- MOV AH, 1
- INT 21H
- MOV CL,AL
- cmp CL, 13
- JE pcganhouascii
- jmp pressiona4
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;;;
- j1ganhouascii:
- mov AX, 03h ;limpar o ecra
- int 10h
- GOTOXY 7,4
- print ' # # ##### # # # # # ####### # #'
- GOTOXY 7,5
- print ' # ## # # # # ## # # # # # # #'
- GOTOXY 7,6
- print ' # # # # # # # # # # # # # # #'
- GOTOXY 7,7
- print ' # # # #### # # # # # ####### # # # #'
- GOTOXY 7,8
- print '# # # # # ####### # # # # # # # # #'
- GOTOXY 7,9
- print '# # # # # # # # ## # # # # # #'
- GOTOXY 7,10
- print ' ##### ##### ##### # # # # # # ####### ##### '
- jmp limparecra
- j2ganhouascii:
- mov AX, 03h ;limpar o ecra
- int 10h
- GOTOXY 7,4
- print ' # ##### ##### # # # # # ####### # #'
- GOTOXY 7,5
- print ' # # # # # # # ## # # # # # # #'
- GOTOXY 7,6
- print ' # # # # # # # # # # # # # #'
- GOTOXY 7,7
- print ' # ##### # #### # # # # # ####### # # # #'
- GOTOXY 7,8
- print '# # # # # ####### # # # # # # # # #'
- GOTOXY 7,9
- print '# # # # # # # # ## # # # # # #'
- GOTOXY 7,10
- print ' ##### ####### ##### # # # # # # ####### ##### '
- jmp limparecra
- pcganhouascii:
- mov AX, 03h ;limpar o ecra
- int 10h
- GOTOXY 7,4
- print '###### ##### ##### # # # # # ####### # #'
- GOTOXY 7,5
- print '# # # # # # # # ## # # # # # # #'
- GOTOXY 7,6
- print '# # # # # # # # # # # # # # #'
- GOTOXY 7,7
- print '###### # # #### # # # # # ####### # # # #'
- GOTOXY 7,8
- print '# # # # ####### # # # # # # # # #'
- GOTOXY 7,9
- print '# # # # # # # # ## # # # # # #'
- GOTOXY 7,10
- print '# ##### ##### # # # # # # ####### ##### '
- jmp limparecra
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- nomepedra:
- MOV AH, 9
- LEA DX, 1pedra
- INT 21H
- JMP comparar
- nomepapel:
- MOV AH, 9
- LEA DX, 1papel
- INT 21H
- JMP comparar
- nometesoura:
- MOV AH, 9
- LEA DX, 1tesoura
- INT 21H
- JMP comparar
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- nomepedraimp:
- MOV AH, 9
- LEA DX, 1pedra
- INT 21H
- JMP pedraimp1
- nomepapelimp:
- MOV AH, 9
- LEA DX, 1papel
- INT 21H
- JMP papelimp1
- nometesouraimp:
- MOV AH, 9
- LEA DX, 1tesoura
- INT 21H
- JMP tesouraimp1
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- nomepedrapvp:
- MOV AH, 9
- LEA DX, 1pedra
- INT 21H
- JMP compararpvp
- nomepapelpvp:
- MOV AH, 9
- LEA DX, 1papel
- INT 21H
- JMP compararpvp
- nometesourapvp:
- MOV AH, 9
- LEA DX, 1tesoura
- INT 21H
- JMP compararpvp
- nomepedrapvp2:
- MOV AH, 9
- LEA DX, 1pedra
- INT 21H
- JMP compararpvp2
- nomepapelpvp2:
- MOV AH, 9
- LEA DX, 1papel
- INT 21H
- JMP compararpvp2
- nometesourapvp2:
- MOV AH, 9
- LEA DX, 1tesoura
- INT 21H
- JMP compararpvp2
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- nomepedraspock:
- MOV AH, 9
- LEA DX, 1pedra
- INT 21H
- JMP compararspock
- nomepapelspock:
- MOV AH, 9
- LEA DX, 1papel
- INT 21H
- JMP compararspock
- nometesouraspock:
- MOV AH, 9
- LEA DX, 1tesoura
- INT 21H
- JMP compararspock
- nomelagarto:
- MOV AH, 9
- LEA DX, 1lagarto
- INT 21H
- JMP compararspock
- nomespock:
- MOV AH, 9
- LEA DX, 1spock
- INT 21H
- JMP compararspock
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- limparecra:
- gotoxy 0,13
- MOV AH, 9
- LEA DX, limparmsg
- INT 21H
- MOV AH, 1
- INT 21H
- MOV CL,AL
- cmp CL, 27
- JE sairjogo
- irmenu:
- mov AX, 03h ;limpar o ecra
- int 10h
- JMP menu
- sairjogo:
- RET
- pressionaenter DB 13,10,'Pressiona ENTER para continuar: ' ,'$'
- 1pedra DB ' a pedra. ','$'
- 1papel DB ' o papel. ','$'
- 1tesoura DB ' a tesoura. ','$'
- 1lagarto DB ' o largato. ','$'
- 1spock DB ' o Spock. ','$'
- pontosj1 db 48
- pontosj2 db 48
- pontospc db 48
- jogadadoj1 db '0'
- jogadas db 48
- darlinha DB 13,10,'$'
- limparmsg DB 13,10,10,'Escolhas:'
- DB 13,10,16,' Espaco para voltar a jogar'
- DB 13,10,16,' ESC para sair do jogo','$'
- expnormal DB 13,10,10,10,'Ganha o melhor apos 3 jogadas.',13,10,'$'
- expimp DB 13,10,10,10,'Ganha sempre o computador apos 3 jogadas.',13,10,'$'
- exppvp DB 13,10,10,10,'Jogar sozinho nao vale, arranja alguem para jogar...',13,10,'$'
- jogarj1 DB ,13,10,'Vez do Jogador 1: ','$'
- jogarj2 DB 13,10,'Vez do Jogador 2: ' , '$'
- j1ganhoujogada DB 13,10,'Jogador 1 ganhou a jogada.' ,13,10,10, '$'
- j2ganhoujogada DB 13,10,'Jogador 2 ganhou a jogada.' ,13,10, '$'
- pcganhoujogada DB 13,10,'Computador ganhou a jogada.' ,13,10,10, '$'
- pcganhou DB 13,10,10,'O Computador ganhou o jogo por ' , '$'
- j1ganhou DB 13,10,'O Jogador 1 ganhou o jogo por ' , '$'
- j2ganhou DB 13,10,'O Jogador 2 ganhou o jogo por ' , '$'
- barra DB ' - ', '$'
- msgempate DB 13,10,'Ocorreu um empate. ',13,10,'$'
- escolha DB 10,13,'Escolha a tarefa:','$'
- jogadausadapc DB 13,10,'O Computador jogou','$'
- jogadausadaj1 DB 13,10,'O Jogador 1 jogou','$'
- jogadausadaj2 DB 13,10,'O Jogador 2 jogou','$'
- mpontospc DB 'O computador tem: ','$'
- mpontospc2 DB ' pontos.' ,'$'
- mpontosj1 DB 'O jogador 1 tem: ','$'
- pc DB 'PC: ','$'
- pontosponto DB ' pontos' ,'$'
- inserirj1 DB 10, 13, 'Insira o nome do Jogador 1 (Enter para terminar):','$'
- inserirj2 DB 10, 13, 'Insira o nome do Jogador 1 (Enter para terminar):','$'
- player1 db ' - Jogador 1: ','$'
- player2 db ' Jogador 2 - ','$'
- player1pvp db 'Jogador 1: ','$'
- linha DB 13, 10,'$'
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement