版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、; 推箱子游戲匯編源程序; ;-up equ 48h ;定義掃描碼down equ 50hleft equ 4bhright equ 4dhf1 equ 3bhf2 equ 3chf3 equ 3dhf4 equ 3ehf5 equ 3fhf8 equ 42h;-;宏定義;- setpos macro x0,y0;設(shè)置光標(biāo)位置 mov bh,0 mov dh,x0 mov dl,y0 mov ah,2 int 10h endm;-show_char macro x,y,attr,cha,no ;顯示字符,x,y為坐標(biāo),attr為屬性, push cx;cha為字符ascii碼,no為重復(fù)次數(shù)
2、setpos x,y mov al,cha mov bl,attr mov cx,no mov ah,09h int 10h pop cx endm;- initchar macro cno,pno ;初始化字符,cno為字符串,pno為行數(shù) lea bp,cno mov cx,15 mov dh,pno mov dl,51 mov bl,00000010b mov al,1 mov ah,13h int 10h endm;- initstor macro cno,pno;初始化倉(cāng)庫(kù),cno為字符串,pno為行數(shù) lea bp,cno mov cx,20 mov dh,pno mov dl,2
3、0 mov bl,00001011b mov al,1 mov ah,13h int 10h endm;-displaymsg macro msg push ax push bx push cx push dx push di mov ah,13h mov al,0 mov bl,00000100b mov bp,offset msg mov cx,51 mov bh,0 mov dh,23 mov dl,3 int 10h pop di pop dx pop cx pop bx pop ax endm;- setcolor macro no mov ah,0bh mov bh,00 mov
4、bl,no int 10hendm;*;* 堆棧段 ;*stack_seg segment stack;= stack_buf dw 120 dup(?) top equ $-stack_bufstack_seg ends;= ;*data_seg segment para;=s1 db 201,9,40 dup(205,9),203,9,19 dup(205,9),187,9;s1-s3為畫(huà)邊框s2 db 186,9,40 dup( ,9),186,9,19 dup( ,9),186,9s3 db 200,9,40 dup(205,9),202,9,19 dup(205,9),188,9s4
5、 db f1:, ,start game;s4-s12為功能說(shuō)明s5 db f2:, ,save s6 db f3:, ,load s7 db f4:, ,select s8 db f5:, ,option s9 db f8:, ,quit s10 db no.:, s11 db game, ,time:, s12 db current, ,time:, gamename db hammal game;游戲名ying db 11 dup(223) ;陰影 g1 db 20 dup(177);g1-g8為倉(cāng)庫(kù)ascii碼定義g2 db 2 dup(177),4 dup( ),4 dup(177)
6、,4 dup( ),6 dup(177)g3 db 2 dup(177),16 dup( ),2 dup(177)g4 db 2 dup(177),4 dup(176),4 dup(177),2 dup(234),2 dup(219),4 dup( ),2 dup(177)g5 db 2 dup(177),4 dup(176),4 dup(177),2 dup( ),2 dup(219),4 dup( ),2 dup(177)g6 db 2 dup(177),16 dup( ),2 dup(177)g7 db 2 dup(177),4 dup( ),4 dup(177),4 dup( ),6
7、dup(177)g8 db 20 dup(177)manx db ?;小人的坐標(biāo)many db ?welcommsg db welcome to hammal game! selectmsg db press f1 to case1,f2 to case2 optionmsg db press 0.9 to set color errormsg db it is error! ;錯(cuò)誤提示temp db ?,?,?,?;臨時(shí)變量iswin db 0;標(biāo)志youwin db clever! you win! press any key to continue. err1 db creat file
8、 error! err2 db open file error! err3 db read file error! err4 db write file error! err5 db close file error! correct db it is ok! flag db 0caseno db ?;=data_seg ends;*;時(shí)間數(shù)據(jù)段 ;*tdata_seg segment para;=count dw 0sec dw 0min dw 0hours dw 0 ran db 0rbn db 0rcn db 0rdn dw 0ren dw 0fla dw 0 ;=tdata_seg e
9、nds ;*;音樂(lè)數(shù)據(jù)段;*mdata_seg segment para;=mus_freq dw 330,392,330,294,330,392,330,294,330 dw 330,392,330,294,262,294,330,392,294 dw 262,262,220,196,196,220,262,294,330,262 dw -1mus_time dw 3 dup(500),250,250,500,250,250,1000 dw 2 dup(500,500,250,250),1000 dw 3 dup(500,250,250),1000;=mdata_seg ends;*;文件數(shù)
10、據(jù)段;*fdata_seg segment para;=fhle dw ? ;文件句柄 fname db ./data.dat,0 ;asciiz串下段數(shù)據(jù)存入文件list.dat,(一共39字節(jié))relist label byte ;將relist為標(biāo)志的數(shù)據(jù)段存入指定文件x db ?y db ?;=fdata_seg ends;* ;* 代碼段 ;*code_seg segment para;=main proc far;主過(guò)程開(kāi)始 assume cs:code_seg,es:data_seg assume ss:stack_segstart: mov ax,stack_seg mov s
11、s,ax mov sp,top mov ax,data_seg mov es,ax;- mov ah,0 mov al,3 int 10h call init call storage call music get_key:;接受鍵入鍵 mov ah,7 int 21h cmp al,0 je get_ec jmp get_keyget_ec: mov ah,7 int 21h cmp al,f1;根據(jù)掃描碼轉(zhuǎn)入相應(yīng)處理過(guò)程 je start_g cmp al,f4 je select_g cmp al,f8 je exit jmp get_keyselect_g: call selectca
12、se start_g: ;游戲開(kāi)始; call gametime call startgame;-exit: mov ax,4c00h int 21hmain endp ;主程序結(jié)束;+ selectcase proc near;選擇子程序displaymsg selectmsgsel_key: ;接受鍵入鍵 mov ah,7 int 21h cmp al,0 je sel_ec jmp sel_keysel_ec: mov ah,7 int 21h cmp al,f8 je exit11 cmp al,f2 je sel2 cmp al,f1 je sel1 jmp sel_keyexit1
13、1: retsel1: jmp far ptr start_g sel2: mov caseno,32h show_char 13,58,00000011b,caseno,1 show_char 12,32,00001101b, ,2 show_char 13,24,00001101b,219,2 show_char 11,30,10001110b, ,2 show_char 10,34,10001110b,234,2 mov manx,10 mov many,34 jmp far ptr start_gselectcase endp;+init proc near;初始化子過(guò)程 mov ah
14、,0bh mov bh,00 mov bl,9 int 10h mov bp,offset s1 mov cx,62 mov bh,0 mov dh,4 mov dl,9 mov al,3 mov ah,13h int 10h mov cx,17 mov ax,5down_loop: mov bp,offset s2 push cx mov cx,62 mov bh,0 mov dh,al mov dl,9 push ax mov al,3 mov ah,13h int 10h pop ax pop cx inc ax loop down_loop mov bp,offset s3 mov c
15、x,62 mov bh,0 mov dh,22 mov dl,9 mov al,3 mov ah,13h int 10h show_char 1,32,00000001b,222,1 mov bp,offset gamename mov cx,12 mov bh,0 mov bl,00011110b mov dh,1 mov dl,33 mov al,0 mov ah,13h int 10h show_char 1,44,00000111b,220,1 mov bp,offset ying mov cx,11 mov bh,0 mov bl,00000111b mov dh,2 mov dl,
16、34 mov al,0 mov ah,13h int 10h initchar s4,5 initchar s5,6 initchar s6,7 initchar s7,8 initchar s8,9 initchar s9,11 initchar s10,13 initchar s11,15 initchar s12,18 displaymsg welcommsg mov flag,0 mov iswin,0 retinit endp;+ storage proc near;初始化倉(cāng)庫(kù)子過(guò)程 initstor g1,8 initstor g2,9 initstor g3,10 initsto
17、r g4,11 initstor g5,12 initstor g6,13 initstor g7,14 initstor g8,15 show_char 11,22,00000111b,176,2 show_char 11,24,00000111b,176,2 show_char 12,22,00000111b,176,2 show_char 12,24,00000111b,176,2 show_char 10,32,00001101b,219,2 show_char 11,32,00001101b,219,2 show_char 12,32,00001101b,219,2 show_cha
18、r 13,32,00001101b,219,2 mov caseno,31h show_char 13,58,00000011b,caseno,1 mov ah,2 mov bh,0 mov dh,11 mov dl,30 int 10h mov ah,09h mov al,234 mov bh,0 mov bl,10001110b mov cx,2 int 10h mov manx,11 mov many,30 mov ah,1 mov ch,4 mov cl,0 int 10h retstorage endp;+startgame proc near ;游戲子過(guò)程 push ax push
19、 bx push cx push dx push di mov ch,manx mov cl,manyget_key2: mov dx,cx mov ah,0 int 16h mov temp,-1 mov temp+1,-1 cmp ah,up jnz not_up dec ch jmp movemannot_up: cmp ah,down jnz not_down inc chnot_down: cmp ah,right jnz not_right inc clnot_right: cmp ah,left jnz moveman dec clmoveman: cmp ch,dh jl is
20、up jnle isdown cmp cl,dl jl isleft jnle isright jmp errorisup: mov temp+1,1isdown: setpos ch,cl mov bh,0 mov ah,8 int 10h cmp al,177 setpos manx,many jnz nextjmp call beepit add ch,temp+1 jmp get_key2nextjmp: cmp al,219 je nextjmp2 mov di,1 jmp nextisleft: mov temp,1 setpos ch,cl mov bh,0 mov ah,8 i
21、nt 10h cmp al,177 setpos manx,many jnz nextjmp2 call beepit add cl,temp jmp get_key2 isright: inc cl setpos ch,cl dec cl mov bh,0 mov ah,8 int 10h cmp al,177 setpos manx,many jnz nextjmp2 call beepit add cl,temp jmp get_key2nextjmp2: cmp al,219 je cagemov mov di,2 next: call sureit mov manx,ch mov many,cl show_char 23,3,00000000b, ,51 jmp get_key2exit2: pop di pop dx pop cx pop bx pop ax ret;cagemov: call movcase jmp next restart: jmp far ptr startsave_g: call sav
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度智能家電維修工專(zhuān)項(xiàng)聘用合同協(xié)議3篇
- 2024年度科技創(chuàng)新項(xiàng)目債權(quán)轉(zhuǎn)股權(quán)協(xié)議范本3篇
- 2024年度大型文藝演出項(xiàng)目合作協(xié)議3篇
- 2024年度大學(xué)生實(shí)習(xí)協(xié)議書(shū)(企業(yè)實(shí)習(xí)實(shí)訓(xùn)基地校企合作)3篇
- 2024年度企業(yè)年會(huì)演出委托合同樣本3篇
- 2024醫(yī)療設(shè)備試用體驗(yàn)及效果評(píng)價(jià)合作協(xié)議3篇
- 新疆警察學(xué)院《報(bào)檢報(bào)關(guān)實(shí)務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 《納稅申報(bào)技能訓(xùn)練》課件
- 路燈架設(shè)合同范例
- 電纜電線合同范例
- 中職一年級(jí)家長(zhǎng)會(huì)-共30張課件
- 高中物理-帶電粒子在勻強(qiáng)組合場(chǎng)中的運(yùn)動(dòng)教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 買(mǎi)賣(mài)合同糾紛案民事判決書(shū)
- 中國(guó)近代人物研究學(xué)習(xí)通課后章節(jié)答案期末考試題庫(kù)2023年
- 注冊(cè)安全工程師考試之安全技術(shù)分章習(xí)題通關(guān)寶典
- XX物業(yè)服務(wù)有限公司工作指引手冊(cè)(物業(yè)服務(wù)中心)
- 廣東省高等學(xué)?!扒О偈こ獭钡诹^續(xù)培養(yǎng)對(duì)象和第
- 游泳教練工作計(jì)劃工作總結(jié)述職報(bào)告PPT模板下載
- 食管癌的護(hù)理查房
- 【企業(yè)杜邦分析國(guó)內(nèi)外文獻(xiàn)綜述6000字】
- 中考數(shù)學(xué)真題變式題庫(kù)
評(píng)論
0/150
提交評(píng)論