欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    汇编语言:猜数字游戏的设计与实现.doc

    • 资源ID:974903       资源大小:46.50KB        全文页数:5页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    汇编语言:猜数字游戏的设计与实现.doc

    1、猜数字游戏的设计与实现1 需求说明或问题描述1.1 问题描述程序运行后自动产生一个1100之间的随机整数,游戏开始,程序根据游戏者输入的数字与所需猜测数字进行比较,并给出响应,游戏者根据程序响应再猜数字,最后得到正确数字。1.2 需求说明程序应有操作提示,输入和输出,界面追求友好,最好是菜单式的界面。设计若干用例(测试数据),上级测试程序并分析(评价)所设计的程序。2 设计说明2.1 简要设计框图如下:2.2 简要分析思想首先通过指令在程序中产生随机数,由键盘输入的数字与其比较,如果大于随机数,则提示输入的数太大,请重新输入;如果小于随机数,则提示输入的数太小,请重新输入;如果等于随机数,则提

    2、示正确;如果输入的数不是十进制数,则直接退出。3 详细的算法描述3.1随机数的产生通过查找各种资料知,随机数的产生也是一种算法,通过种子数据,计算出不同的随机数。但,此次试验,我通过对系统当前时间的提取来表示随机数,即用时间中的“秒”来作这个随机数。指令为:mov ah,2ch ;取系统时间,CH:CL=时间:分钟;DH=秒int 21h3.2 从键盘输入数据如果仅用指令:mov ah,01h Int 21h来从键盘读取数据,则只能取一个字符,即,只能读取一位数字;在试验中通过反复调试,可以对每次输入的数(存放于al中)与“回车”的ASCII比较,如果不是“回车”,则返回继续输入;如果是回车,

    3、则跳出,完成数据的输入。每一次返回继续输入时,原来的al中的数据要以个位加入到bx中,即,bx=bx*10+al;这样可以保证输入的数据不会丢失。3.3 数据的比较用输入的数据(存放于bx中)与随机数(存放于a中:mov a,dx)比较;如果大于,则输出提示数据太大,请重新输入,并跳转到键盘输入数据指令;如果小于,则输出提示数据太小,请重新输入,并跳转到键盘输入数据指令;如果等于,则提示正确,并结束。其中,小于跳转用jb;大于跳转用ja;等于用jz。3.4 其他指令回车换行指令:为了保持程序输出结果的工整性,多用回车换行指令:MOV AH,02h MOV DL,0ah INT 21h MOV

    4、DL,0dh INT 21h输出提示性语句指令:为使程序输出界面更互动化,常用提示性语句如:MOV AH,9MOV DX,OFFSET mess2MOV 21h退出语句:使用该语句退出整个程序:MOV AH,4CHINT 21H4 源程序与执行结果(含测试方法和测试结果)4.1 源程序5data SEGMENTmess1 db Please input your number:$mess2 db Your number is larger,please change your number:$mess3 db Your number is smaller,please change your

    5、number:$mess4 db Thats the right number!$ a dw ?data ENDScode SEGMENT assume cs:code,ds:data begin:mov ax,datamov ds,ax mov ah,9mov dx,offset mess1int 21h MOV AH,02h MOV DL,0ah INT 21h MOV DL,0dh INT 21hmov ah,2ch ;取当前时间的秒为随机数int 21hmov al,dhmov ah,0mov a,axmov bx,0 l0:MOV AH,1 ;输入十进制数 INT 21h CMP A

    6、L,0dhJZ l4cmp al,48jb exitcmp al,57ja exitAND AL,0fhMOV AH,0XCHG AX,BXMOV CX,10MUL CXADD BX,AXJMP l0 l4: MOV AH,02h MOV DL,0ah INT 21h MOV DL,0dh INT 21hcmp bx,a ;输入值与随机数比较jb l1 ;小于 cmp bx,a ;大于ja l2 cmp bx,a ;等于jz l3 l1:mov ah,9mov dx,offset mess3int 21h MOV AH,02h MOV DL,0ah INT 21h MOV DL,0dh INT

    7、 21hmov ax,0mov bx,0jmp l0 l2:mov ah,9mov dx,offset mess2int 21h MOV AH,02h MOV DL,0ah INT 21h MOV DL,0dh INT 21hmov ax,0mov bx,0jmp l0 l3:mov ah,9mov dx,offset mess4int 21hexit:MOV AH,02h MOV DL,0ah INT 21h MOV DL,0dh INT 21hmov ah,4chint 21hcode ends end begin4.2 执行结果4.2.1 执行方法:masm 01.asmLink 010

    8、14.2.2 结果:结果1:(正确)G:masm01Please input your number:55Your number is larger, please change your number:25Your number is smaller, please change your number:40Your number is larger, please change your number:30Your number is smaller, please change your number:35Your number is smaller, please change you

    9、r number:37Thats the right number!结果2:(输入错误)G:masm01Please input your number:12Your number is smaller,please change your number:32Your number is larger,please change your number:45u(输入了非数字符号“u”)G:masm5 总结设计心得特点:我个人认为本次试验的最大难点就是产生随机数,然而通过查询,发现汇编中产生随机数的命令都很复杂,并且有些命令是我没有见过的,经过多次考虑,还是选择了使用秒针随机选中的数据作为随机数

    10、。这或许是一个特点,也是一个不足!不足:虽然对汇编的基本指令格式印象深刻,但是,还是忘记了一些老师上课讲过的指令方法。比如说,十进制数字的输入,特别是输出,虽然本次实验没有输出十进制数,但是仔细回想一下的话,对我也是一个考验。另外,对各种int 21h的指令依然记得不甚牢靠,需要查找资料等。收获与体会:通过这次的课程设计,让我重温了一遍汇编语言的知识。重新熟悉了各种汇编指令。特别是对于算法思想有了一定的提高,各种汇编指令的小技巧,数据各种各样的操作指令序列让我感觉到,汇编语言也能够越学越让人沉入,容易让人感到成功的喜悦!展望:虽然程序已经写完,但是还是遗憾不能够弄懂真正的随机数是怎样产生的;另外,也因为这个程序小了点,所以没有用子程序的方法,我想如果加大程序,还是用子程序的方法会显得条理更加清楚明白。如果将题目中的数据改成浮点型,即会有小数产生,那么这个程序有改怎么写,其中,小数的输入,小数的随机取值,这些都是会遇到的问题!


    注意事项

    本文(汇编语言:猜数字游戏的设计与实现.doc)为本站会员(风****)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922