![匯編語言五子棋課程設(shè)計_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/1/fe05face-7c8a-4fe7-9dae-98f1eff072c1/fe05face-7c8a-4fe7-9dae-98f1eff072c11.gif)
![匯編語言五子棋課程設(shè)計_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/1/fe05face-7c8a-4fe7-9dae-98f1eff072c1/fe05face-7c8a-4fe7-9dae-98f1eff072c12.gif)
![匯編語言五子棋課程設(shè)計_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/1/fe05face-7c8a-4fe7-9dae-98f1eff072c1/fe05face-7c8a-4fe7-9dae-98f1eff072c13.gif)
![匯編語言五子棋課程設(shè)計_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/1/fe05face-7c8a-4fe7-9dae-98f1eff072c1/fe05face-7c8a-4fe7-9dae-98f1eff072c14.gif)
![匯編語言五子棋課程設(shè)計_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/1/fe05face-7c8a-4fe7-9dae-98f1eff072c1/fe05face-7c8a-4fe7-9dae-98f1eff072c15.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、摘要五子棋是一種兩人對弈的純策略型漢族棋類益智游戲,棋具與圍棋通用,由中國古代漢族人發(fā)明,起源于中國上古時代的傳統(tǒng)黑白棋種之一。主要流行于華人和漢字文化圈的國家以及歐美一些地區(qū)。容易上手,老少皆宜,而且趣味橫生,引人入勝;不僅能增強思維能力,提高智力,而且富含哲理,有助于修身養(yǎng)性。已在各個游戲平臺有應(yīng)用。古代五子棋棋盤與圍棋棋盤是通用的,漢魏時為十七路(17×17)棋盤,至南北朝時即已流行十九路(19×19)棋盤,直至1931年出現(xiàn)所謂五子棋專用棋盤。關(guān)鍵字:匯編語言,五子棋,棋盤AbstractGobang is a game of pure strategy type
2、two han Chinese chess puzzle games, chess and go gm, invented by the ancient Chinese han, originated in China ancient times the traditional black white one kind. Mainly in Chinese and Chinese culture as well as Europe and the United States in some areas.Easy to use, for young and old, and fun, fasci
3、nating; Can not only enhance thinking ability, improve intelligence, and high in philosophy, helps to cultivate one's morality raises a gender. Has been applied to various game platform have.Ancient renju boards and go board is universal, for when the south-north road 17 (17 * 17) board, to the
4、northern and southern dynasties which have been popular in the 19th road (19 lines) board, until in 1931 the so-called special renju board.Keywords: gobang, the realization of assembly language,chessboard目錄1 概述12 總體設(shè)計流程圖23 各模塊的設(shè)計及算法33.1 模塊一:主程序算法的實現(xiàn)及各模塊的連接33.1.1 程序思想33.1.2 程序算法33.2 模塊二:棋子的制作及調(diào)用43.3
5、模塊三:文件的保存與打開73.4 模塊四:界面及框架的設(shè)計93.5 模塊五:鼠標功能的調(diào)用及顯示界面信息94.1 程序運行初始界面134.2 程序運行中界面13附錄:源代碼1731 概述五子棋不僅能增強思維能力,提高智力,而且富含哲理,有助于修身養(yǎng)性。五子棋既有現(xiàn)代休閑的明顯特征“短、平、快”,又有古典哲學(xué)的高深學(xué)問“陰陽易理”;它既有簡單易學(xué)的特性,為人民群眾所喜聞樂見,又有深奧的技巧和高水平的國際性比賽;它的棋文化源淵流長,具有東方的神秘和西方的直觀;既有“場”的概念,亦有“點”的連接。它是中西文化的交流點,是古今哲理的結(jié)晶。五子棋起源于古代中國,發(fā)展于日本,風靡于歐洲。對于它與圍棋的關(guān)系
6、有兩種說法,一說早于圍棋,早在“堯造圍棋”之前,民間就已有五子棋游戲;一說源于圍棋,是圍棋發(fā)展的一個分支。在中國的文化里,倍受人們的青睞。古代的五子棋的棋具與圍棋相同,縱橫各十七道。五子棋大約隨圍棋一起在我國南北朝時先后傳入朝鮮、日本等地。據(jù)日本史料文獻介紹,中國古代的五子棋是經(jīng)由高麗(朝鮮半島),于1688年至1704年的日本元祿時代傳到日本的。到日本明治32年(公元1899年),經(jīng)過公開征名,“連珠”這一名稱才被正式確定下來,取意于“日月如合壁,五星如連珠”。從此,連珠活動經(jīng)過了不斷的改良,主要是規(guī)則的變化(即對執(zhí)黑棋一方的限制),例如,1899年規(guī)定,禁止黑白雙方走“雙三”;1903年規(guī)
7、定,只禁止黑方走“雙三”;1912年規(guī)定,黑方被迫走“雙三”亦算輸;1916年規(guī)定,黑方不許走“長連”;1918年規(guī)定,黑方不許走“四、三、三”;1931年規(guī)定,黑方不許走“雙四”,并規(guī)定將19×19的圍棋盤改為15×15的連珠專用棋盤。本世紀初五子棋傳入歐洲并迅速風靡全歐。通過一系列的變化,使五子棋這一簡單的游戲復(fù)雜化、規(guī)范化,而最終成為今天的職業(yè)連珠五子棋,同時也成為一種國際比賽棋。2 總體設(shè)計流程圖submaininkeyinmouseplaypausereplaysaveopensoundaboutMainframe2Chesssave1Chessopen1Ches
8、sabout1coutmemchessshowbchessbjudgechessshowwchesswjudgechesscolorbackblockpossetframeshowmessagesetframelineframeDelay1showmessagestartgraphical interfacesSubmaincolorsetMainfrmsubfrmprintmessprintwelcome 3 各模塊的設(shè)計及算法3.1 模塊一:主程序算法的實現(xiàn)及各模塊的連接3.1.1 程序思想每按下鼠標,調(diào)用鼠標的5號功能,找到鼠標所點擊的位置,再計算出所點擊棋子所在的行和列,同時利用相對基
9、址變址尋址方式,BP計算所在的行,SI計算所在的列,如不是在棋盤的交叉點,則利用整形思想,把它放在離它最近的棋盤交叉點,再進行對棋盤的位置判斷是否有棋子,如有則取消操作,否則顯示棋子,棋子落定以后再進行對四個方向進行判斷是否有五個同色的棋子,如發(fā)現(xiàn)有,則程序結(jié)束,否則繼續(xù)下棋。3.1.2 程序算法countmemchess 用于計算棋子的位置countmemchess proc near ;for search chess in mem pos sub cx,90 mov bl,20 mov ax,cx div bl cmp ah,10 jb little1 inc al little1: m
10、ov a1,al mov b1,ah and ax,00ffh mov si,ax ;for horizion pos sub dx,90 mov bl,20 mov ax,dx div bl cmp ah,10 ; < 10 ? jb little2 inc al little2: mov a2,al mov b2,ah and ax,00ffh mov ccount,al mov bl,16 mul bl mov bp,ax ret countmemchess endpbjudgechess用于判斷黑棋輸贏的算法:Bp是棋子所在的棋盤的行×16,Si是棋子所在棋盤的列。以下
11、是判斷黑棋水平方向贏的流程圖:Bp不變,SiSi4BxBp,DiSi,Ch5,Cl0(Bp,Si)是黑棋ClCl1SiSi1Cl5退出,黑棋贏Di1,SiDiDh=Dh1DH0判斷其他方向YYYNNN3.2 模塊二:棋子的制作及調(diào)用設(shè)計思想:首先確定一個圓心,定義cx、dx,確定棋子半徑R,將棋子半徑R賦值給cx、dx,cx²+dx²-R²0則添加象素,否則dx減1,繼續(xù)判斷,直至dx為0,dxR,cx依次減1,直至為0,如此作出的是1/4圓,其余3/4圓按對稱的方法作出。流 程 圖:開始DiR;SiR(X+Si)*(X+Si)+(Y+Di)*(Y+Di)R*R&
12、lt;0在(X+Si,Y+Di) (XSi,Y+Di)(X+Si,YDi) (XSi,YDi) 這四點寫象素DEC SiSi0?DEC Di Si=RDi結(jié)束YNNYYN核心程序如下:;- showbchess proc near ;show black chess in pan push bp push si push di mov chessrad,10 mov ax,si ;calculate x and y and ax,00ffh mov bl,20 mul bl add ax,90 mov x,ax mov al,ccount mov bl,20 mul bl add ax,90
13、mov y,ax call mouseshut cbw mov di,ax loopx: mov al,chessrad cbw mov si,ax loopy: cal si ;calcuate (x-x0)*(x-x0) mov tempt1,ax cal di ;calcuate (y-y)*(y-y0) add tempt1,ax mov al,chessrad cbw cal ax sub tempt1,ax ;(x-x0)*(x-x0)+(y-y0)*(y-y0)-R*R jns nextd ; if > 0 ? mov dx,y ; < 0 in circle mov
14、 cx,x call writeb ;write pit in (x,y) add dx,di add cx,si call writeb ;write pit in (x+si,y+di) sub cx,si sub cx,si call writeb ;write pit in (x-si,y+di) mov dx,y mov cx,x sub dx,di sub cx,si call writeb ;write pit in (x-si,y-di) add cx,si add cx,si call writeb ;write pit in (x+si,y-di) nextd: dec s
15、i cmp si,0 jl nextdb jmp loopy nextdb: dec di cmp di,0 jl exitdb jmp loopx exitdb: call mouseshow pop di pop si pop bp ret showbchess endp ;- writeb proc near mov al,0 mov ah,0ch int 10h exitw: retwriteb endp3.3 模塊三:文件的保存與打開設(shè)計思想:在我們設(shè)計的五子棋中,每當開始游戲的時候,棋盤和每一個所下的棋子都在內(nèi)存的一個連續(xù)的存儲單元中。因此,保存的時候?qū)⒅灰匦麻_辟一個新的連續(xù)存儲
16、單元,再將內(nèi)存單元中的數(shù)據(jù)傳送至新的內(nèi)存單元中即可。而打開則是遍歷棋盤上的所有可落子的點,根據(jù)保存的內(nèi)存單元中的內(nèi)容,調(diào)用不同的子程序在當前運行的內(nèi)存單元中進行下不下棋子,或下黑子還是白子等操作。流 程 圖:保存流程圖有無鍵盤輸入判斷是Y或N清除鍵盤緩沖區(qū)傳送數(shù)據(jù);計數(shù)器減1計數(shù)寄存器置256清除保存的提示字符串清除鍵盤緩沖區(qū)結(jié)束開始顯示保存提示字符串計數(shù)器0?有無NY是否打開流程圖開始打印鍵盤有無棋子寄存器置0顯示黑子顯示白子計數(shù)器加1計數(shù)器256結(jié)束是無有白判斷黑白子黑是否3.4 模塊四:界面及框架的設(shè)計設(shè)計思想:利用int 10h 的och,ofh和obh的功能,完成寫像素的功能,從而可
17、以完成畫線,填充顏色等一系列的問題 。 1.我們選擇的分辨率為640*480. 2.把它們分割成幾個大塊,分別為它們填充相應(yīng)的顏色. 3.畫棋盤(16*16). 4.畫出控制命令窗口(7個).3.5 模塊五:鼠標功能的調(diào)用及顯示界面信息(一)設(shè)計思想:運用int 21h,int 10h,09h等 BIOS中斷及功能調(diào)用,通過輸出的字符串提示,給用戶提供和諧,親切,方便的界面,幫助用戶運行程序。 1.制作五子棋的歡迎界面:通過設(shè)置光標的位置,利用BIOS 的字符顯示輸出功能,調(diào)用delay1延時函數(shù),逐步輸出每個字符。 源程序如下: printwelcome proc near setcurso
18、r 1,20 ;設(shè)置光標位置 mov bx,offset m2 ;取m2的偏移地址給bx output: call delay1 ;調(diào)用delay1延時函數(shù) mov al,bx cmp al,'?' ;循環(huán)比較,判斷輸出字符 je exit0 mov ah,02h mov dl,bx int 21h inc bx jmp output exit0: ret printwelcome endp 2.顯示右邊框按鈕信息:通過循環(huán)設(shè)置光標位置及循環(huán)調(diào)用showmessage宏定義,輸出數(shù)據(jù)段中的play,stop,exit,replay,save,open,sound,about,
19、blacktime,whitetime信息。 源程序見主程序 3.顯示所有編輯制作者的名單:通過異或指令xor及比較指令cmp循環(huán)判斷并調(diào)用子程序blockpos和colorblock輸出或消除制作者名單。 源程序見主程序 4.光標,信息塊及填充顏色塊的宏定義和鼠標的功能調(diào)用。 源程序見主程序 mouseinit proc near ;鼠標復(fù)位 mov ax,0 int 33h ret mouseinit endp ;- mouseshow proc near ;顯示鼠標光標 mov ax,1 int 33h ret mouseshow endp ;- mouseshut proc near
20、;隱藏鼠標光標 mov ax,2 int 33h ret mouseshut endp;- mousestau proc near ;讀鼠標光標 mov ax,3 ;return button status in bx int 33h ;horizion in cx ;vertical in dx ret mousestau endp ;- mousepressed proc near ; 按鼠標光標 mov bx,0 ;check for left button mov ax,5 ;return statu in ax int 33h ;num in bx ;horizion in cx,v
21、ertical in dx ret mousepressed endp ;- mouseliberty proc near ; 釋放鼠標光標 mov bx,0 ;check for left mov ax,6 ;liberty mouse int 33h ret mouseliberty endp程序調(diào)試中遇到的主要問題: 1.界面還沒法更完善 2.宏定義還不太熟悉4 調(diào)試分析4.1 程序運行初始界面4.2 程序運行中界面5 總結(jié)此程序基本上實現(xiàn)了五子棋游戲的基本功能,如:play,pause,replay,save,open。不足之處是游戲的美化做的不好,希望能下一步改進。參考文獻1錢曉捷.
22、32位匯編語言程序設(shè)計.北京:機械工業(yè)出版社,2011.8.2錢曉捷.16/32位微機原理、匯編語言及接口技術(shù)教程.北京:機械工業(yè)出版2011.11.1 錢曉捷.匯編語言程序設(shè)計(第四版) 電子工業(yè)出版社2 王爽.匯編語言(第二版) 清華大學(xué)出版社3 Windows API函數(shù)參考手冊 人民郵電出版社,4 羅云彬.Windows環(huán)境下32位匯編語言程序設(shè)計(第二版) 電子工業(yè)出版社5 美Kip R.Irvine著,溫玉潔,等譯.Intel匯編語言程序設(shè)計(第五版) 電子工業(yè)出版社6 沈美明,溫冬嬋.IBM-PC匯編語言程序設(shè)計(第二版) 清華大學(xué)出版社致謝 在這次課設(shè)選題以及進行過程中得到了老
23、師和搭檔的細心指導(dǎo),在這個過程中,老師同學(xué)多次幫助我們,是我們在有些不懂得問題上得到了解決,其次,在這次課設(shè)中,沒有和搭檔的共同努力,也不會做出這個游戲,希望在以后的學(xué)習(xí)和生活中能夠繼續(xù)這種精神。附錄:源代碼TITLE Gobang (gobang.asm); Program Description:gobang game; Author:xiangwu,gongyunfei; Creation Date:2009.7.10; Revisions:; Date: Modified by:include irvine16.incVIDEO_SEGMENT = 0A000hWINDOW_WIDTH
24、 = 320WINDOW_HEIGHT = 200DEFAULT_LINE_LEN = 140BACK_COLOR = 35DESK_COLOR = 68LINE_COLOR = 120CONTROL_COLOR = 100BLACK = 254WHITE = 100TextColor = 2laxisx = 35maxisx = 180laxisy = 30maxisy = 175key_esc = 01hkey_f1 = 3Bhkey_f2 = 3Chkey_enter = 1Chkey_space = 39h.DATAtmp_es WORD 0tmp_bx WORD 0desk BYTE
25、 289 dup(0)lastmousex WORD ?lastmousey WORD ?curmousex WORD ?curmousey WORD ?clickx WORD 0clicky WORD 0x_cl WORD ?y_cl WORD ?cur_bx WORD ?cur_si WORD ?curuser BYTE ?b_sec1 BYTE 0b_sec2 BYTE 0b_min1 BYTE 0b_min2 BYTE 0w_sec1 BYTE 0w_sec2 BYTE 0w_min1 BYTE 0w_min2 BYTE 0count1 BYTE 18count2 BYTE 18 pl
26、aying BYTE ?saveMode BYTE ?; saved video modemsg byte ' Welcome to Gobang World! 'hintexit byte 'ESC :Exit'hintstart byte 'F1 :Start'hintpause byte 'Space:Pause'msgww byte ' White Wins! 'msgbw byte ' Black Wins! 'msgtime byte '00:00'msgtime_fix
27、 byte '00:00'pausemsg byte 'Paused 'playmsg byte ' 'whiteplayer byte 'White side'blackplayer byte 'Black side'BmpName byte 'BMP.DAT',0Bmp byte 3E8H dup(?).CODEDraw_Line_Vertical Proto, startx:word, starty:word, len:word,color:byteDraw_Line_Horizontal P
28、roto, startx:word, starty:word, len:word ,color:byteDraw_Circle Proto, centerx:word,centery:word,color:byteDraw_Desk ProtoDraw_Rectangle Proto, left:word ,top:word ,widt:word ,heig:word ,color:byteDraw_Square Proto ,cenx:word,ceny:word,color:byteDraw_Control ProtoPosToOffset Proto, posx:word,posy:wo
29、rd Distence Proto ,px1:word,py1:word,px2:word,py2:word PrintMessage Proto, hintmsg:ptr byte ,len:word , posh:byte,posl:bytePrintHintMessage Protomain PROCmov ax,datamov ds,axcall SetVideoModecall loadbmpinvoke Draw_Rectangle ,25,20,160,160,DESK_COLOR invoke Draw_Rectangle ,200,20,90,160,CONTROL_COLO
30、Rcall Draw_Controlinvoke Draw_Rectangle ,200,77,91,49,0invoke Draw_Deskinvoke PrintMessage,addr msg,lengthof msg,0,5invoke PrintHintMessagecall initializecall init_countingcall listeningcall exit_gamemain ENDPinit_counting PROCpush esMOV AL,1CH MOV AH,35H INT 21H sti PUSH DS mov tmp_es,ES mov tmp_bx
31、,BX MOV DX,OFFSET COUNTING MOV AX,SEG COUNTING MOV DS,AX MOV AL,1CH MOV AH,25H INT 21H POP DS in al,21h and al,11111110b out 21h,al pop es retinit_counting ENDPCOUNTING PROCPUSH DS PUSH AX PUSH CX PUSH DX MOV AX,DATA MOV DS,AX cmp playing,0 je EXIT_NOW cmp curuser,0 je blackside DEC COUNT1 JNZ EXIT_
32、NOW MOV COUNT1,18 inc w_sec1 cmp w_sec1,10 jnz showtime mov w_sec1,0 inc w_sec2 cmp w_sec2,6 jnz showtime mov w_sec2,0 inc w_min1 cmp w_min1,10 jnz showtime mov w_min1,0 inc w_min2showtime:mov al,w_min2add al,'0'mov msgtime,almov al,w_min1add al,'0'mov msgtime+1,almov al,w_sec2add al
33、,'0'mov msgtime+3,almov al,w_sec1add al,'0'mov msgtime+4,alinvoke PrintMessage,addr msgtime,lengthof msgtime,21,68jmp EXIT_NOWblackside: DEC COUNT2 JNZ EXIT_NOWMOV COUNT2,18 inc b_sec1 cmp b_sec1,10 jnz showtime2 mov b_sec1,0 inc b_sec2 cmp b_sec2,6 jnz showtime2 mov b_sec2,0 inc b_m
34、in1 cmp b_min1,10 jnz showtime2 mov b_min1,0 inc b_min2showtime2:mov al,b_min2add al,'0'mov msgtime,almov al,b_min1add al,'0'mov msgtime+1,almov al,b_sec2add al,'0'mov msgtime+3,almov al,b_sec1add al,'0'mov msgtime+4,alinvoke PrintMessage,addr msgtime,lengthof msgtime
35、,8,68 EXIT_NOW: POP DX POP CX POP AX POP DS IRET COUNTING ENDPinitialize PROCmov cx,225 ;initalize the arraymov si,offset deskinitarray:mov BYTE ptr ds:si,0inc siloop initarraymov ax,0 int 33hmov ax,7 ;set the x range of mousemov cx,laxisxmov dx,maxisxint 33hmov ax,8 ;set the y range of mousemov cx,
36、laxisymov dx,maxisyint 33hmov ax,4 ;set the position of the mouse mov cx,105mov dx,100int 33hmov lastmousex,14mov lastmousey,14mov ax,5mov bx,0int 33hmov clickx,cxmov clicky,dxmov curuser,0 ;0 represent blackmov playing,0 ;set the statusmov w_sec1,0mov w_sec2,0mov w_min1,0mov w_min2,0mov b_sec1,0mov
37、 b_sec2,0mov b_min1,0mov b_min2,0retinitialize ENDPlistening PROC L1: ;listen to the keyboardmov ah,11h ; check keyboard bufferint 16hjz noKey ; no: exit now (ZF=0)mov ah,10h ; yes: remove from bufferint 16hcmp ah,key_esc ; was it the exit key?je quit ; yes: exit now (ZF=1)cmp ah,key_f1je newgamecmp
38、 ah,key_spaceje mypausejmp noKeyquit:call exit_game;jmp L1newgame:call new_game;jmp L1mypause:call pause_game;jmp L1noKey: ;listen to the mousecmp playing,0je L1mov ax,3int 33hmov ax,cxsub ax,laxisxmov cx,dxsub cx,laxisymov dx,0mov bx,10div bxmov curmousex,axmov ax,cxmov dx,0mov bx,10div bxmov curmo
39、usey,axmov cx,curmousexmov dx,axcmp cx,lastmousexjne newpositioncmp dx,lastmouseyjne newpositionjmp nextnewposition:mov dx,0mov ax,lastmousexmov bx,10mul bxadd ax,laxisxmov cx,axmov dx,0mov ax,lastmouseymov bx,10mul bxadd ax,laxisyinvoke Draw_Square,cx,ax,DESK_COLORmov dx,0mov ax,curmousexmov bx,10m
40、ul bxadd ax,laxisxmov cx,axmov dx,0mov ax,curmouseymov bx,10mul bxadd ax,laxisy invoke Draw_Square,cx,ax,BLACKmov ax,curmousexmov lastmousex,axmov ax,curmouseymov lastmousey,axnext:mov ax,5mov bx,0int 33hcmp cx,clickxjne newchesscmp dx,clickyje L1newchess:mov clickx,cxmov clicky,dxcall drawchessjmp
41、L1listening ENDPexit_game PROCmov DX,tmp_bx push ds mov DS,tmp_es MOV AL,1CH MOV AH,25H INT 21H pop dscall RestoreVideoModeexitretexit_game ENDPnew_game PROCinvoke Draw_Rectangle ,25,20,160,160,DESK_COLOR invoke Draw_Rectangle ,200,20,90,160,CONTROL_COLORcall Draw_Controlinvoke Draw_Rectangle ,200,7
42、7,91,49,0invoke Draw_Deskinvoke PrintMessage,addr msg,lengthof msg,0,5call initializeinvoke PrintMessage ,addr playmsg,lengthof playmsg ,12,28;invoke PrintMessage ,addr blackplayer,lengthof blackplayer,20,26invoke PrintMessage,addr msgtime_fix,lengthof msgtime_fix,21,68invoke PrintMessage,addr msgti
43、me_fix,lengthof msgtime_fix,8,68 call printupcall resetdownmov playing,1retnew_game ENDPpause_game PROC invoke PrintMessage,addr pausemsg,lengthof pausemsg,12,28mov playing,0no_space: mov ah,10h ; yes: remove from bufferint 16hcmp ah,key_escjne not_esc call exit_gamenot_esc: cmp ah,key_space ; was i
44、t the space key?jne no_space mov playing,1invoke PrintMessage,addr playmsg,lengthof playmsg,12,28mov ax,6mov bx,0int 33hmov clickx,cxmov clicky,dxretpause_game ENDPdrawchess PROCmov dx,0mov ax,clickxsub ax,laxisxmov bx,10div bxmov x_cl,axmov dx,0mov ax,clickysub ax,laxisymov bx,10div bxmov y_cl,axmo
45、v bx,offset deskmov dx,0mov ax,y_clmov cx,15mul cxadd bx,axmov cur_bx,bxmov si,x_clmov cur_si,simov cl,ds:bx+sicmp cl,0jne exit_nowmov al,curuserinc almov BYTE ptr ds:bx+si,almov dx,0mov ax,x_clmov bx,10mul bxadd ax,laxisxmov cx,axmov dx,0mov ax,y_clmov bx,10mul bxadd ax,laxisycmp curuser,0jne for_w
46、hiteinvoke Draw_Circle,cx,ax,BLACKcall checkwinmov curuser,1call resetupcall printdownjmp exit_nowfor_white:invoke Draw_Circle,cx,ax,WHITEcall checkwinmov curuser,0 call resetdown call printup exit_now: retdrawchess ENDPcheckwin PROCmov dx,1mov bx,cur_bxmov si,cur_simov al,ds:bx+simov cx,x_cl;jz h2horizion1: ;leftdec sicmp ds:bx+si,aljne h2inc dxcmp dx,5je succeedloop horizion1h2: ;rightmov si,cur_simov cx,14sub cx,x_cljz v1horizion2:inc sicmp ds:bx+si,aljne v1inc dxcmp dx,5je succ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 零售業(yè)中的顧客安全保障措施
- DB3715T 69-2025研學(xué)旅游指導(dǎo)師服務(wù)規(guī)范
- 專業(yè)技術(shù)人才海外培訓(xùn)服務(wù)合同(版)
- 上海股權(quán)轉(zhuǎn)讓合同文本
- 二手房轉(zhuǎn)讓合同定金協(xié)議書范本
- 中外合資企業(yè)勞動合同樣本
- 個人保證擔保融資合同協(xié)議
- NBA賽事中國區(qū)電視轉(zhuǎn)播合同
- 互利共贏投資合作合同
- 個人物流配送服務(wù)合同模板
- 以房抵債過戶合同范本
- 重大版小學(xué)英語四年級下冊期末測試卷
- 2024年1月高考適應(yīng)性測試“九省聯(lián)考”英語 試題(學(xué)生版+解析版)
- 一人出資一人出力合伙協(xié)議范本完整版
- 2022年北京海淀區(qū)高三一模物理試題和答案
- 施工工法的編寫與申報(完整版)
- 歇后語大全500條
- 2024年北京法院聘用制審判輔助人員招聘筆試參考題庫附帶答案詳解
- 2024浙江省農(nóng)發(fā)集團社會招聘筆試參考題庫附帶答案詳解
- 慢性壓力對身體健康的影響與調(diào)理方法
- 杏花鄉(xiāng)衛(wèi)生院崗位說明樣本
評論
0/150
提交評論