2022年骰子模拟程序设计 .pdf
骰子模拟程序设计一、设计目标模拟实现骰子游戏。二、设计要求1. 通过按某键模拟投掷骰子。2. 模拟显示骰子的旋转, 经过一段时间后骰子静止, 根据静止时的数字大小确定输赢。3. 通过按某键可停止骰子旋转。4. 模拟投掷骰子的力度, 通过按某键的时间长短或两次按键之间的时间间隔,控制骰子的旋转时间和转速。5. 通过按某键可正常退出模拟程序。三、设计提示本课题可用 18 分别代替骰子的八面数字,当按下某键的时候,数字开始滚动显示,当按下结束键时停止,屏幕上显示的就是当前数字。其中,按键检测、数字显示、时间长短均可以通过DOS 、BIOS功能调用完成。STACK SEGMENT DW 64 DUP ( ?) STACK ENDS DATA SEGMENT MESSAGE DB NOTE:ENTER 1,2,3 TO CHOOSE SPEED,S TO STOP,E TO EXIT , $ RESULT DB YOUR NUMBER IS , $ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - GO DBGOING! , $ STOP DBSTOP! ,$ TIME DB ? DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE POINT MACRO OP1,OP2 ; 置光标位置PUSH AX PUSH BX PUSH DX MOV AH,02H MOV BH,0 MOV DH,OP1 MOV DL,OP2 INT 10H POP DX POP BX POP AX ENDM PRINT MACRO M ; 输出字符PUSH AX PUSH DX MOV DL,M MOV AH,02H INT 21H POP DX POP AX ENDM START : MOV AX,DATA MOV DS,AX 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - LEA SI,TIME MOV AH,01H MOV CX,3000H INT 10H MOV AX,0600H MOV BH,0CH XOR CX,CX MOV DX,1850H INT 10H POINT 7,18 LEA DX,MESSAGE MOV AH,09H INT 21H MOV AX,0600H MOV BH,0FCH MOV CX,0B26H MOV DX,0D2AH INT 10H POINT 12,20 LEA DX,RESULT MOV AH,09H INT 21H RESET: MOV AH,08 INT 21H CMP AL, 1 JZ A0 CMP AL, 2 JZ A0 CMP AL, 3 JZ A0 CMP AL, E JZ EXIT JMP RESET 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - A0: AND AH,00H MOV CL,0FFH MUL CL MOV CX,AX PUSH CX POINT 9,38 LEA DX,GO MOV AH,09H INT 21H POP CX A1: PUSH CX CALL RAND POP CX ADD BL,31H POINT 12,40 PRINT BL MOV AH,01H INT 16H CMP AL, S JZ CONTINUE LOOP A1 CONTINUE: POINT 9,38 LEA DX,STOP MOV AH,09H INT 21H MOV AH,01H INT 16H CMP AL, 1 JZ A1 CMP AL, 2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - JZ A1 CMP AL, 3 JZ A1 CMP AL, E JZ EXIT JMP RESET RAND PROC PUSH CX PUSH DX PUSH AX CALL DELAY CALL DELAY MOV AH,00H INT 1AH MOV AX,DX AND AH,00H MOV DL,6 DIV DL MOV BL,AH POP AX POP DX POP CX RET RAND ENDP DELAY PROC PUSH CX PUSH DX MOV DX, DEC DX JNZ D11 D11: MOV CX,0FFFFH D12: LOOP D12 POP DX 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - pop CX RET DELAY ENDP EXIT: INT 20H AG: JMP AG CODE ENDS ENDSTART 调试结果:按下一次“ 1”键后:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - 再按下一次“ 1”键后:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -