- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
- -
- -可修编-
猜数字游戏设计文档
〔源代码是上传文档加上去的,见最后面〕
需求分析
首先,用户输入猜想次数,游戏开场循环。
数字有四位,格式为: 1234
每次用户输入一个数字,游戏都会显示四个字符:
A 代表数字和位置都正确
B 代表数字正确,但是位置不对
?代表没有这个数字
比方:
假设要猜的数字是4321,用户输入4321,程序显示AAAA,用户获胜!
假设要猜的数字是4321,用户输入1234,程序显示BBBB
假设要猜的数字是4321,用户输入5674,程序显示???B
假设要猜的数字是4321,用户输入5678,程序显示????
如果在给定次数内,用户猜对,那么用户胜利,游戏完毕;
如果在给定的次数里,用户没有猜到,那么用户失败,游戏完毕。
概要设计
采用封装函数的思想,将生成随机数、比拟用户输入结果分别封装成函数
游戏分成四个功能模块
生成四个随机数
用户输入猜想次数
用户猜数
显示猜想结果戏
总体流程图:
开场游戏
开场游戏
生成随机数
生成随机数
输入游戏次数
输入游戏次数
输入数字
输入数字
判断数字 N
判断数字
游戏次数是否用完
游戏次数是否用完
输出判断结果
输出判断结果
N
判断游戏是否成功
判断游戏是否成功
fail
N
success
输出结果
输出结果
Y
游戏完毕
游戏完毕
生成随机数流程图:
生成
生成1个随机数
判断是否跟已有随机数重复
判断是否跟已有随机数重复
重复
不重复
将随机数保存到
将随机数保存到S3
判断是否生成
判断是否生成4个随机数
N
Y
比拟输入结果流程图:
判断一个字符是否在系统生成的
判断一个字符是否在系统生成的S3中
N
置 ‘ ?‘
置 ‘ ?‘
判断是否在对应下标
判断是否在对应下标
N
置 ‘B’
置 ‘B’
置 ‘
置 ‘A’
判断
判断4个字符是否比拟完
N
Y
详细设计
输入数字,游戏次数
使用DOS功能调用来实现键盘输入。输入单个字符〔游戏次数〕用1号功能,输入字符串〔数字〕用9号功能。
生成随机数
读取时钟数值,进展运算得到随机数。
比拟结果
首先将输入的数字和生成的四位随机数进展比拟,按照要求输出判断结果;然后,判断游戏次数是否用完。
输出结果
按照要求输出结果,分游戏成功和游戏失败两种情况。
运行调试
源代码:
DATA SEGMENT
S3 DB 4 DUP(30H), :IS the random number. ,0AH,0DH,$ ;产生的4个数
NUM DB 5,0,5 DUP(?),0AH,0DH,$ ;输入缓冲区
RESULT DB AAAA,0AH,0DH,$
GUS DB 4 DUP(30H),0AH,0DH,$ ;用户输入的4个数
S1 DB Please input times from 1 to 9,0AH,0DH,$
S2 DB Please input random number,0AH,0DH,$
S4 DB Your input is wrong,0AH,0DH,$
FAIL DB You have no time, You lost the game!,0AH,0DH,$
WIN DB Congratulations! You succeed!,0AH,0DH,$
DATA ENDS
STACK1 SEGMENT PARA STACK
DB 10 DUP(0)
STACK1 ENDS
COSEG SEGMENT
ASSUME CS:COSEG, DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEA SI,S3
CALL RANDOM ;调用封装的函数RANDOM产生随机数
;-------显示系统生成的4个随机数--------
;MOV DX,OFFSET S3
;MOV AH,09H
;INT 21H
;-------提示输入猜想次数,并保存在BL--------
MOV DX,OFFSET S1
MOV AH,09H
INT 21H
MOV AH,01H ;输入次数
INT 21H
SUB AL,30H
MOV BX
您可能关注的文档
最近下载
- AQ 6111-2023 个体防护装备安全管理规范.pdf
- CFD软件:Star-CCM+ 二次开发_(5).Star-CCM+脚本编写与调试.docx VIP
- 第一性原理与创业.pptx VIP
- (完整word版)职高拓展模块语文(上册)期末试卷 .pdf VIP
- GBT 35727-2017 中低压直流配电电压导则.docx VIP
- 2025年华医网继续教育“痔”的精准微创治疗技术题库及答案.docx VIP
- 一例给药错误的护理不良事件案例分析.pptx VIP
- CFD软件:Star-CCM+ 二次开发_(4).Star-CCM+二次开发环境搭建.docx VIP
- 2025中国半导体白皮书.pdf VIP
- 2024新版《突发事件应急预案管理办法》培训PPT课件.pptx VIP
原创力文档


文档评论(0)