ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:42.55KB ,
资源ID:25928565      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25928565.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机课程方案打字游戏.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机课程方案打字游戏.docx

1、微机课程方案打字游戏。窗口初始化宏定义00000000000000000000000000000000000000000000000000lnit_w macro w_op1,w_op2,w_op3,w_op4,w_op5,w_op6,w_op7movcx,00hmovdh,w_op1movdl,w_op2w_op6:movah,02hmovbh,00hint 10hpush cxmovah,09hmoval,w_op3movbh,00hmovbl,w_op7movcx,01hint 10hpop cxinc cxinc w_op4cmpcx,w_op5jne w_op6endm0000000

2、00000000000000000000000000000000000000000000 0菜单初始化宏定义00000000000000000000000000000000000000000000000000menu macro m_op1,m_op2,m_op3movah,02hmovbh,00hmovdh,m_op1movdl,m_op2int 10hmovah,09hlea dx,m_op3int 21hendm00000000000000000000000000000000000000000000000000draw_text macro t_op1,t_op2,t_op3 movax

3、,datamoves,axmovbp, offset t_op3movdh,t_op1movdl,t_op2movah,02hint 10hmovcx,18moval,00hmovbh,00hmovbl,04h 。框架颜色movah,13hint 10hendm000000000000000000000000000000000000000000000000000000time_ch macro c_op1,c_op2lea di,c_op1lea si,c_op2cldmovcx,8rep movsbendm0000000000show_time macro s_op1,s_op2,s_op3

4、,s_op4MOVdh,s_op1 movdl,s_op2MOBP, 0FFSET_op3M0VCX,s_op4MOBX,004EHMOVAX,1301HINT 10H endm data segmentwel1 dbThis is a simple asm word game!$wel2 dbEdited by wuhanligongdaxuewhut.dq0604$wel3 dbWhen a letter is dropping,please hit it!$wel4 dbPress space to pause$wel5 dbPress ESC to return back main i

5、nterface$wel6 dbPress letter E to exit!$wel7 dbEnter your name and press enter to start this game!$ wel8 dbYour name here:$player dbPlayer:player_na db 6 dup( , $failure db 0letter_co un ter db 0letter_co unt dw 0score dbscore : score_show db $ score_number db 0 score_ nu mber1 db 30h score_ nu mber

6、2 db 30hchar_pt dbchar_?speed dwOafffhletters dbqpwoeirutylaksjdhfgzmx ncbvpslwpdlemdkgwletters_bak dbqpwoeirutylaksjdhfgzmx ncbvpslwpdlemdkgw letters_c oun ter db 0letters_c ount dw0life_flag db 39 dup(0 prese nt_positi on db 1start_strdbstart: $start_timedb 8 dup(:no w_timedb 8 dup(:en d_strdbe nd

7、: $en d_timedb 8 dup(:t_timedb 8 dup(:word_strdbtotal word:$text_framedb 0c9h,16dup(0cdh,0bbhtext_frame10 text_frame11 text_frame12 text_frame13 text_frame14 text_frame15db 0cch,16 dup(0cdh,0b9h db 0bah,16 dup(20h,0bah db 0bah,16 dup(20h,0bah db 0bah,16 dup(20h,0bah db 0bah,16 dup(20h,0bah db 0c8h,1

8、6 dup(0cdh,0bch data ends stack segment stack db 200 dup(? stack ends code segme ntmai n proc farassumecs:code,ds:data,ss:stackstart :movax,datamovds,axmoves,axmovax,0003hint 10hmovah,01hor ch,00010000bint 10h000000000。利用宏初始化窗口边框00000000000000000000000000000000000000000000000000lnit_w 00d,00d,02d,dl

9、,80d,win_x1,04hlnit_w 24d,00d,02d,dl,80d,win_x2,04hlnit_w 00d,00d,02d,dh,25d,win_y1,04hlnit_w 00d,79d,02d,dh,25d,wi n_y2,04h menu 08h,14h,wel1 menu 09h,14h,wel2 menu 0ah,14h,wel3 menu 0bh,14h,wel4 menu 0ch,14h,wel5 menu 0dh,14h,wel6 menu 0fh,14h,wel7 menu 10h,14h,wel800000000000000000000000000000000

10、000000000 0000000000 0输入玩家名字00000000000000000000000000000000000000000 000000000in put_ name: movcx,16 lea si,player_ na n ext_i nput: movah,01h int 21h cmpal,08h jz erase_ name cmpal,0dh jz beg in _game cmpal,45h jz exit movsi,al inc si loop n ext_i nput jmp beg in _game movah,1h int 21h exit: movah

11、,4ch int 21h erase_ name: push cx push ax movah,Oah moval, movbl,00h movbh,00h movcx,1 int 10h pop ax pop ex jmp n ext_i nput00000000000000000000000000000000000000000000000000beg in _game:call elear_seree ncall get_timetime_eh start_time,t_timemovletter_e oun ter,00hmovprese nt_positi on,10000000000

12、0000000000000000000000000000000 0000000000000000lea si,letterslea di,letters_bakmovex,00hinit_letters: 。 LETTER赋值 LETTERS BAKmovah,dimovsi,ahine siine diine exempex,39jne ini t_lettersmovah,00hlea si,life_flagmovex,00hinit_life_flag: 。 LIFE_FLAG武值0movsi,ahine siine exempex,39jne in it_life_flag00000

13、0000000000000000000000000000000000000000000000000000000 0 0 0 0初始化菜单00000000000000000000000000000000000000000movah,0bhmovbx,0100hint 10h。call clear_screendraw_text 04h,38h,text_frame draw_text 05h,38h,text_frame1 draw_text 06h,38h,text_frame2 draw_text 07h,38h,text_frame3 draw_text 08h,38h,text_fram

14、e4 draw_text 09h,38h,text_frame5 draw_text 0ah,38h,text_frame6 draw_text 0bh,38h,text_frame7 draw_text 0ch,38h,text_frame8 draw_text 0dh,38h,text_frame9 draw_text 0eh,38h,text_frame10 draw_text 0fh,38h,text_frame11 draw_text 10h,38h,text_frame12 draw_text 11h,38h,text_frame13 draw_text 12h,38h,text_

15、frame14 draw_text 13h,38h,text_frame15 lnit_w 02d,05d,0dbh,dl,40d,rect_x1,04hlnit_w 21d,05d,0dbh,dl,40d,rect_x2,04hInit_w 02d,05d,0dbh,dh,20d,rect_y1,04hInit_w 02d,45d,0dbh,dh,20d,rect_y2,04h call show_i nfoInit_w 20d,06d,0eh,dl,39d,yi nfu,0fh me nu 06d,58d,start_strshow_time 06d,64d,start_time,08 m

16、enu 08d,58d,e nd_str00000000000000000000000000show time00000000000000 0 0 0初始化字母menu 10d,58d,word_str000000000000000movah,02hmovbh,00hmovdh,04dmovdl,06dint 10h000000000000000000000000000000movax,data moves,axmovbp, offset letters movdh,03dmovdl,06dmovah,02hint 10hmovcx,39moval,00hmovbh,00hmovbl,0fh

17、。框架颜色 个人资料整翌_仅限学习使用_movah,13hint 10hjmp n extcycle00000000000000000000000000000000000000000000000000000000000from_front:sub prese nt_positi on, 39djmp backto_sifin d_zero:cmpprese nt_positi on, 39dje from _onemovah,00hn extsi:add prese nt_positi on, 01hinc sicmpsi,ahje backto_dicmpprese nt_positi on

18、,39je from _onejmp n extsifrom_one:movprese nt_positi on, 01hjmp backto_sin extcycle:lea di,letterslea si,life_flagadd prese nt_positi on ,16dcmpprese nt_positi on,39ja fromrontbackto_si:add si,word ptr prese nt_positi ondec simovah,sicmpah,01hje fin d_zerobackto_di:0 mov ah,01h0 mov si,ahpush cxxor

19、 ch,chmovcl,prese nt_positi onin c_di:inc diloop inc_dipop cx0 add di,word ptr prese nt_positi on 个人资料整翌_仅限学习使用dec di 。 DI为字母位置指针,开始指向LETTER首地址movdl,prese nt_positi onadd dl,05movah,02hmovbh,00hmovdh,03hint 10h 。找相对应都字母位置movcx,00hn extrow: push cxmovcx,00hout_cycle: 。延迟push cxmovcx,00hin_cycle:add c

20、x,01hcmpcx,1000jne in_cycle0000000000000000000000000000000push dxmovah,06h 。从键盘输入字符movdl,0ffhint 21hpop dxjz pass 。此行已经注释掉cmpal,1bh 。如果键入ESC则返回主菜单je to_start1cmpal,。如果键入SPACE则游戏暂停je pausecmpal,di 。输入字母正确!则字母消失je disappearpass: pop cxinc cxcmpcx,speedje printjmp out_cyclepause: push dx 。暂停处理movah,06h

21、movdl,0ffhint 21hpop dxcmpal,jne pausejmp passto_start1: 。返回主菜单jmp game_loseprint:movah,0ah 。在当前光标位置写空格moval,movbh,00h movcx,01h int 10h inc dhmovah,02h 。改变光标位置movbh,00hint 10hmovah,09h 。在当前光标位置写字母moval,dimovbh,00h movbl,0fh movcx,01h int 10hpop cxinc cx cmpcx,17dje print_n ext_letterjmp n extrow 。下

22、一行disappear: 。击中字母后输出空格pop cx pop cxmovah,0ah moval, movbh,00h movcx,01hint 10hadd score_ nu mber,1dadd score_ nu mber1,1dpush axpush sipush dxmoval,score_ nu mber1lea si,score_showcmpal, 9ja score_ nextinc si movsi,aljmp score_overscore_ next:inc score_ nu mber2moval,score_ nu mber2 movsi,almoval,3

23、0h movscore_ nu mber1,al inc simovsi,alscore_over:pop sipop axcall show infojmp hitprint_n ext_letter:add failurecmpfailure,39jz game_loselea si,life_flag 。击中下面的符号,符号消失add si,word ptr prese nt_positi on dec si movah,1 movsi,ah movah,0ah moval,20H movbh,00h movcx,01hint 10hinc dhhit:movah,02h 。上面字母消失

24、movbh,00hmovdh,03hint 10hmoval,di 。出现下一个新字母数值都算法add al,7dcmpal, zja convey_letter 。ja 变jgmovah,0ahmovbh,00h movcx,01h int 10hmovdi,aladd letters_co un ter,1push dxpush axpush bxpush cxcall show_co un terpop cxpop bxpop axpop dxshow_time 12d,63d,letters_cou nt,02jmp n extcyclegame_lose:call get_timetime_ch en d_time,t_timemenu 08d,58d,e nd_strshow_time 08d,64d,e nd_time,08game_aga in: movah,06h movdl,Offhint 21hjz game_aga in jmp startcon vey_letter: sub al, z add al, a movah,0ah movbh,00h movcx,01h int 10h movdi,al

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1