匯編猜拳游戲報(bào)告_第1頁(yè)
匯編猜拳游戲報(bào)告_第2頁(yè)
匯編猜拳游戲報(bào)告_第3頁(yè)
匯編猜拳游戲報(bào)告_第4頁(yè)
匯編猜拳游戲報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、匯編語(yǔ)言(雙語(yǔ))項(xiàng)目文檔報(bào)告猜拳游戲設(shè)計(jì)專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班 級(jí): 11計(jì)算機(jī)1班指導(dǎo)教師:XXX姓 名:XXX學(xué) 號(hào):XXXXXXXX一、軟件背景介紹 .1二、核心算法思想 .3三、核心算法流程圖 .4四、源代碼 .4五、開發(fā)中遇到的問題 .20六、心得體會(huì) .21資料一、軟件背景介紹石頭、剪子、布,是一種猜拳游戲,它在各地經(jīng)常有其獨(dú)特稱呼,如香港亦叫作“猜呈 尋”。這是一種在兒童和青少年中廣泛流傳的手技游戲,有時(shí)跟“擲硬幣”、“擲骰子”有相同的功能,就是用來產(chǎn)生隨機(jī)結(jié)果以作決策。但有時(shí)它并不隨機(jī),因?yàn)橛螒蛘呖梢愿鶕?jù)經(jīng)驗(yàn),判斷對(duì)手的手法,所以說,玩這個(gè)游戲是有一定技巧的。很多情況下,如

2、“飛盤爭(zhēng)奪賽”運(yùn)動(dòng)中或“大學(xué)辯論賽”賽場(chǎng)上,規(guī)則規(guī)定用“石頭、 剪子、布”來決定那一隊(duì)伍先發(fā)(多于用擲硬幣的方法)?!笆^、剪子、布”還在實(shí)況角色扮演游戲中起到?jīng)Q定隨機(jī)結(jié)果的作用,因?yàn)椤笆^、剪子、布”不需要任何道具。兩個(gè)玩家先各自握緊拳頭, 然后其中一人或者兩人一起共同念出口令,在說完最后一個(gè)音節(jié)的同時(shí),兩個(gè)玩家出示自己心中想好的手勢(shì)(“石頭”、“剪子”或“布”)。猜拳的手勢(shì):石頭:握緊的拳頭。剪子:中指和食指伸直,其余手指握緊。某些國(guó)家(例如韓國(guó),日本的男性)玩家以伸直大拇指和食指代表剪子。布:五指伸直,張開手掌。手心向下,或向上,或豎直(拇指向上) 。每一個(gè)手勢(shì)代表一個(gè)“武器”,互相克制

3、的原則是:剪子被石頭砸碎(石頭勝利),布被剪子剪子開(剪子勝利),石頭被布布裹(布勝利),如果雙方出示了一樣的手勢(shì),就是平 局。通常這種簡(jiǎn)短的比賽可能會(huì)被重復(fù)多次,以三局兩勝或五局三勝來決定勝負(fù)。(也有可能是一局定勝負(fù))猜拳的起源:它的起源有兩種說法:一種是說起源于中國(guó),主要是由明朝人所寫五雜俎記載最早 剪子石頭布是起源自漢朝的手勢(shì)令與豁拳,然而中國(guó)所謂的豁拳是否是指猜拳,這仍待考證。另外一種比較有直接證據(jù)的說法是起源于日本19世紀(jì),相關(guān)資料可見由日本國(guó)立民族學(xué)博物館所出版的文獻(xiàn),作者 Linhart, Sepp 。日本明治時(shí)期開始傳入中國(guó),到了二十世紀(jì)剪子 石頭布的游戲開始傳到了歐洲與美國(guó),

4、而歐美都稱剪子石頭布的游戲是“日本游戲",法國(guó)人稱剪子石頭布為"jeu Japonais"(意思就是日本游戲)。原因就是因?yàn)榈搅硕兰o(jì),日本人 大量西化以及日本人到世界各國(guó)游歷的原因,也對(duì)歐美推廣了這個(gè)游戲,使得很多歐美人都認(rèn)為剪子石頭布就是日本的游戲。中國(guó)人和韓國(guó)人一般都叫“石頭、剪子、布”,而日本人則叫做“石頭、剪子、紙”, 與美洲、歐洲的叫法相近(Rock, Paper, Scissors ),這是因?yàn)椤笆^、剪子、紙”是由 19 世紀(jì)的日本傳入歐美的緣故。臺(tái)灣人的臺(tái)語(yǔ)式玩法,也是以紙代替布。石頭、剪子、布具有數(shù)學(xué)上的非遞移性(當(dāng)A>B,且B>

5、C,則可推知A>C)。一個(gè)集合同時(shí)具有反身性、反對(duì)稱性與遞移性時(shí),可稱作偏序關(guān)系,類似于“大”與“小”的關(guān)系。 理論上,一個(gè)集合里較“大”的元素是比較接近最優(yōu)化選擇,可是,在這個(gè)集合里并不存在。因?yàn)槭^、剪子、布都不具遞移關(guān)系, 如:石頭贏剪子,剪子贏布、布贏石頭。因?yàn)樨K豠、 b、c都可傳遞到自己身上,所以這個(gè)關(guān)系可以稱作非遞移性。猜拳游戲在現(xiàn)實(shí)生活中用來解決一些不同意見或者解決一些有分歧的事情,也有些人用來測(cè)試自己的運(yùn)氣, 所以對(duì)漢猜拳游戲的研究和制作、 仿真有一定的意義。 因此我就對(duì)匯編 編寫的猜拳游戲的設(shè)計(jì)與仿真做了詳細(xì)的說明。我編寫的猜拳游戲很簡(jiǎn)單,進(jìn)入游戲選擇開始游戲,輸入

6、0,1,2分別代表石頭、剪子、 布,然后計(jì)算機(jī)會(huì)隨機(jī)的選擇一個(gè)手勢(shì),按照游戲規(guī)則與之進(jìn)行比較,最后輸出結(jié)果。圖1游戲進(jìn)入界面此次設(shè)計(jì)的基本目的是實(shí)現(xiàn)猜拳游戲的設(shè)計(jì)與仿真,即通過學(xué)習(xí)和了解masm 開發(fā)環(huán)境,并分析漢諾塔的游戲原理, 在通過masm開發(fā)工具設(shè)計(jì)與實(shí)現(xiàn)猜拳游戲。 選才i play game 開始游戲,exit game 退出游戲。Q R調(diào)健文7惴曲猜拳與E口 I回'I桌圖2游戲主界面二、核心算法思想這個(gè)程序的很簡(jiǎn)單, 主要就是用戶輸入一個(gè)數(shù)據(jù),計(jì)算機(jī)再隨機(jī)產(chǎn)生一個(gè)數(shù)據(jù),然后把這兩個(gè)數(shù)據(jù)進(jìn)行比較得出結(jié)果,最后將得到的結(jié)果輸出。它主要用到了以下算法:1 .隨機(jī)數(shù)的產(chǎn)生:隨機(jī)數(shù)的

7、產(chǎn)生主要依據(jù)一條數(shù)學(xué)公式:Rand_Number = (Rand_Seed * X + Y) mod Z利用這條公式,我們就可以生成一個(gè)偽隨機(jī)數(shù)了。 可是為什么是“偽隨機(jī)數(shù)”呢?因?yàn)?實(shí)際上要保證每次生成的隨機(jī)數(shù)都不同,那是不太可能的,我們唯一能做到的只能是盡量使每次生成的數(shù)字與前面的不同,并且盡量使生成的數(shù)字均勻分布在指定的范圍內(nèi)。Rand_Seed 表示隨機(jī)數(shù)種子,注意這個(gè)“種子”必須每次都不同,我們可以簡(jiǎn)單地 利用GetTickCount() 這個(gè)API來獲得不同的數(shù)字,當(dāng)然,你也可以用別的方法來取得, 例如讀取當(dāng)前鼠標(biāo)的坐標(biāo)等等X、Y必須至少有一個(gè)為素?cái)?shù)。素?cái)?shù)就是除了1和它本身,不能被

8、其他數(shù)整除的數(shù)字。在這里我們可以簡(jiǎn)單地給X、Y賦值23和7 ,其實(shí)別的素?cái)?shù)也行,我只是隨便取了這兩個(gè)數(shù)字。最后,Z也應(yīng)該是一個(gè)素?cái)?shù), 這樣才能保證產(chǎn)生的隨機(jī)數(shù)能得到上限的值。不過我在實(shí)踐中發(fā)現(xiàn),這個(gè) Z不一定要準(zhǔn)確地為素?cái)?shù)。2 .字符串的比較:指令的基本功能:CLD DF=0STD DF=1Direction Flag (DF)-方向標(biāo)志,在串處理指令中控制處理信息的方向用。當(dāng)DF為1時(shí),每次操作后使變址寄存器SI和DI減量,這樣就使串處理從高地址向低地址方向處理。當(dāng) DF為0時(shí),則使SI和DI增量,使串處理從低地址向高地址方向處理。有效地址傳送器 LEA相等/為零時(shí)重復(fù)執(zhí)行串指令 REPE/

9、REPZ指令的匯編格式: REPE / REPZ(CX尸 比較/掃描的次數(shù)指令的基本功能:(CX廢ZF=0時(shí),結(jié)束執(zhí)行串指令,否則繼續(xù)(CX) (CX) 1 執(zhí)行串指令(CMPS或SCAS)重復(fù)執(zhí)行不等/不為零時(shí)重復(fù)執(zhí)行串指令REPNE / PEPNZ指令的匯編格式: REPNE / PEPNZ(CX尸 比較/掃描的次數(shù)指令的基本功能:(CX廢ZF=1,結(jié)束執(zhí)行串指令,否則繼續(xù)(CX) (CX) 1 執(zhí)行串指令(CMPS或SCAS)重復(fù)執(zhí)行三、核心算法流程圖關(guān)于這個(gè)程序流程圖有兩個(gè):1 .程序主流程圖:打開程序出現(xiàn)選擇界面,選擇開始游戲或游戲的介紹還有結(jié)束程序,看完游戲介紹后可以開始玩游戲了,

10、玩夠了就可以退出了。開始程序游戲介紹選擇界面開始游戲結(jié)束程序圖5程序主流程圖2 .猜拳游戲流程圖:進(jìn)入游戲后,根據(jù)游戲的提示,輸入 0,1,2分別代表石頭,剪刀,布,輸入后程序會(huì)隨機(jī)的 產(chǎn)生一個(gè)數(shù)據(jù),然后按照游戲的規(guī)則進(jìn)行比較, 然后輸出猜拳游戲的結(jié)果并記錄下勝負(fù)的場(chǎng) 次。進(jìn)入游戲得出結(jié)第出結(jié)束圖6核心算法流程圖四、源代碼下面是猜拳程序的源代碼接收一個(gè)字符放在 char里getCharMACROCharPUSHAXMOVAH,1INT21HMOVChar,ALPOPAXENDM顯示字符showCharMACROcharPUSHAX顯示字符showCharMACROcharPUSHAXPUSHD

11、XMOVAH,2MOVDL,charINT21HPOPDXPOPAXENDM調(diào)用9號(hào)功能顯示字符串showStringMACROstring;PUSHAXPUSHDXPUSHDSMOVAX,DATA_SEGMOVDS,AXMOVAH,9LEADX,stringINT21HPOPDSPOPDXPOPAXENDM設(shè)置光標(biāo)的位置在 M行,N列,p頁(yè)setCurPosMACROM,N,P;PUSHAXPUSHBXPUSHDXMOVAH,2MOVBH,PMOVDH,MMOVDL,NINT10HPOPDXPOPBXPOPAXENDM獲取光標(biāo)的位置,將相應(yīng)的行放在M中,列值放在 N中g(shù)etCurPosMAC

12、ROM,N;PUSHAXPUSHBXPUSHDXMOVAH,3;讀光標(biāo)位置MOVBH,0INT10HMOVM,DHMOVN,DLPOPDXPOPBXPOPAXENDM初始化顯示模式initShowModel MACROA;PUSHAXMOVAH,0;用來設(shè)定顯示模式的服務(wù)程序MOVAL,A;AL寄存器表示欲設(shè)定的模式INT10HPOPAXENDM初始化窗口或窗口內(nèi)容向上卷動(dòng),也可以用于清屏initWindowMACROA,B,C1,C2,D1,D2PUSHAXPUSHBXPUSHCXPUSHDXMOVAH,6MOVAL,A;上卷行數(shù)MOVBH,B;卷入行屬性(顏色)MOVCH,C1;左上角行號(hào)

13、MOVCL,C2;左上角列號(hào)MOVDH,D1;右下角行號(hào)MOVDL,D2;右下角列號(hào)INT10HPOPDXPOPCXPOPBXPOPAXENDMPauseMACROPUSHAXMOVAH,01HINT21HPOPAXENDM數(shù)據(jù)段定義DATA_SEG SEGMENT;主菜單GameMenuDB 'Welcome Use Caiquan Game',0dh,0ah,'$'DB 'Play Game',0dh,0ah,$DB 'About',0dh,0ah,'$'DB 'Exit game',0dh,0

14、ah,$DisWDB 'Win : Time',0dh,0ah,'$'DisFDB 'Fail :Time',0dh,0ah,'$'DisEDB 'You have Equel:Time',0dh,0ah,'$'Dispay2DB 'This Time You Win !',0dh,0ah,'$'Dispay3DB 'This Time You Failed !',0dh,0ah,'$'Dispay4DB 'This Time

15、You Equel to PC !',0dh,0ah,'$'Dispay5DB 'Enter "Enter" to continue !',0dh,0ah,'$'Dispay6DB 'Enter "ESC" to Exit!',0dh,0ah,'$'DispaytDB 'You choose the"Tone"!',0dh,0ah,'$'DispaysDB 'You choose the"Sciss

16、or"!',0dh,0ah,'$'DispaycDB 'You choose the"Cloth"!',0dh,0ah,'$'DispayytDB 'PC choose the"Tone"!',0dh,0ah,'$'DispayysDB 'PC choose the"Scissor"!',0dh,0ah,'$'DispayycDB 'PC choose the"Cloth"!&#

17、39;,0dh,0ah,'$'KickDB ?R_NUMDB ?NUMDB ?XDB ?FAIDB 48WINDB 48EQDB 48EXITMsgDB 'You really want to exit!','$'DB 'Enter Y to exit','$'DB 'Enter N to continue!','$'InformationDB 'Author information',0dh,0ah,'$'DB 'Name:Li Fang&#

18、39;,0dh,0ah,'$'DB 'Class:jisuanji 1',0dh,0ah,'$'DB 'Student ID: 201114600115',0dh,0ah,'$'CharDB ?LineADB 'You Have Beginning Game !',0dh,0ah,'$'LineBDB '',0dh,0ah,'$'lineFDB 'Please Input"0"or"1"or"2

19、"',0dh,0ah,'$'LineCDB '0tone',0dh,0ah,'$'LineC1DB '1Scissor',0dh,0ah,'$'LineC2DB '2Cloth',0dh,0ah,'$'LineDDB '/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/,0dh,0ah,'$'LineEDB ' Input your choose Here:',0dh,0ah,'$'Line

20、E1DB ' Input Error! Please input again',0dh,0ah,'$'LineE2DB ' Choose a number from 0-2 input',0dh,0ah,'$'LinetDB 'Enter "Tab" to Restart!,0dh,0ah,'$'DATA_SEGENDSYDB ?堆棧段定義STACK_SEGSEGMENTSTACKSTACK_BUFDW120 DUPTOPEQU$-STACK_BUFSTACKSEGENDS程序代碼區(qū)CO

21、DE_SEG SEGMENT ;ASSUME CS:CODE_SEG,DS:DATA_SEG,SS:STACK_SEGMAINPROCFARSTART:MOVAX,STACK_SEGMOVSS,AXMOVSP,TOPMOVAX,DATA_SEGMOVDS,AXBEGIN:initShowModel 0H;宏調(diào)用;設(shè)置主菜單光標(biāo)位置initWindow 0,9EH,0,0,25,40MENU:setCurPos 2,2,0showString LineDsetCurPos 4,9,0showString GameMenusetCurPos 8,15,0showString GameMenu27

22、setCurPos 12,15,0showString GameMenu39 setCurPos 16,15,0showString GameMenu47 setCurPos 21,2,0 showString LineD setCurPos 8,12,0 showChar '>'Keyboad:getChar KickCMPKick,9JETABJMPENTERTAB:getCurPos X,YNEXT_Tab_1:CMPX,8JNZ NEXT_Tab_2setCurPos 8,12,0 showChar ''setCurPos 8,15,0showSt

23、ring GameMenu27setCurPos 12,12,0 showChar '>'JMPKeyboadNEXT_Tab_2:CMPX,12JNZ NEXT_Tab_3setCurPos 12,12,0 showChar ''setCurPos 12,15,0showString GameMenu39setCurPos 16,12,0;菜單選擇部分;按的是鍵TAB;選擇標(biāo)記在start處;選擇標(biāo)記在ABOUT處showChar '>'JMPKeyboadNEXT_Tab_3:CMPX,16JENEXT_Tab_3_ELSEJMP

24、ERRORNEXT_Tab_3_ELSE:setCurPos 16,12,0showChar ''setCurPos 16,15,0showString GameMenu47setCurPos 8,12,0showChar '>'JMPKeyboadENTER:CMPKick,13JEENTER_ENTERJMPESC_KEYENTER_ENTER:getCurPos X,YNEXT_ENTER_1:CMPX,8JZNEXT_ENTER_EJMPNEXT_ENTER_2NEXT_ENTER_E:MOVEQ ,48MOVFAI ,48MOVWIN ,48CA

25、LLGamePlayJMPBEGIN;選擇標(biāo)記在exit處;按的是鍵ENTER;選擇標(biāo)記在start處NEXT_ENTER_2:CMPX,12JNZ NEXT_ENTER_3CALLGameAboutJMPBEGINNEXT_ENTER_3:CMPX,16JNZERRORCALLGameExitJMPBEGINESC_KEY:CMPKick,27;選擇標(biāo)記在about處;選擇標(biāo)記在eXIT處;按的是鍵ESCJNEELSE_KEYCALLGameExitJMPBEGINELSE_KEY:JMPBEGINERROR:initShowModel 0initWindow 0,9EH,0,0,25,40

26、setCurPos 12,6,0getCharKickEXIT:MOVAX,4CHINT21HMAINENDP;開始游戲子程序GamePlayPROCRestart:initShowModel 0initWindow 0,9EH,0,0,25,40 setCurPos 2,2,0 showString LineBsetCurPos 3,2,0 showString LineA setCurPos 5,2,0 showStringLineFsetCurPos 7,2,0 showStringLineBsetCurPos 10,12,0showString LineC setCurPos 13,1

27、2,0 showStringLineC1setCurPos 16,12,0showStringLineC2setCurPos 19,2,0 showString LineB setCurPos 24,2,0showString LineD setCurPos 19,2,0 showStringLineE2CALLRandMOVNUM,BLKey:setCurPos 21,2,0showString LineEsetCurPos 21,29,0getChar R_NUMCMPR_NUM,'0'JEJISUANJMPScissorScissor:CMPR_NUM,'1

28、9;JEJISUANJMPClothCloth:CMPR_NUM,'2'JEJISUANsetCurPos 19,2,0showStringLineE1setCurPos 21,29,0JMPKeyshowStringLineEJISUAN:PauseCMPR_NUM,'0'JEJISUAN2;等于跳轉(zhuǎn)CMPR_NUM,'1'JEJISUAN3CMPR_NUM,'2'JEJISUAN4JISUAN2:CMPNUM,0;計(jì)算機(jī)出“石頭”計(jì)算JEa;ping 玩家出石頭CMPNUM,1JEb;shu玩家出剪刀CMPNUM,2JEc;y

29、in玩家出布JISUAN3:CMPNUM,0;計(jì)算機(jī)出“剪刀”計(jì)算JEf;玩家出石頭CMPNUM,1;玩家出剪刀JEeCMPNUM,2JEd;玩家出布JISUAN4:CMPNUM,0;計(jì)算機(jī)出“布”計(jì)算JEh;玩家出石頭CMPNUM,1;玩家出剪刀JEl;玩家出布CMPNUM,2JEga:CALLSHOW1CALLxian1JMPshuru ;shitou dui shi touRETb:CALLSHOW3;shitou dui jian daoCALLxian2JMPshuruRETc:CALLSHOW2;shitou dui buCALLxian3JMPshuruRETd:CALLSHOW

30、2CALLxian4JMPshuruRETe:CALLSHOW1CALLxian5JMPshuruRETf:CALLSHOW3CALLxian6JMPshuruRETg:CALLSHOW3CALLxian7JMPshuruRETh:CALLSHOW2CALLxian8JMPshuruRETl:CALLSHOW1JMPshuruRETshuru:setCurPos 25,0,0getCharKickCMPKick ,27JEesccCMPKick ,13JEcontinueCMPKick ,9JNEshuruRETescc:CALLGameExitcontinue:JMPReStartGameP

31、layENDP;產(chǎn)生隨機(jī)數(shù)RandPROCCALLxian9PUSH CXPUSH DXPUSH AXSTIMOV AH,0;讀時(shí)鐘計(jì)數(shù)器值INT 1AHMOV AX,DX;清高 6 位AND AH,3MOV DL,100;除100,產(chǎn)生 0100 余數(shù)DIV DLMOV AH,0MOV DL,3;除3,產(chǎn)生02余數(shù)DIV DLMOV BL,AH;余數(shù)存BX,除數(shù)POP AXPOP DXPOP CXRETRandENDP;游戲結(jié)果顯示子程序SHOW1PROCINC EQinitShowModel 0initWindow 0,9EH,0,0,25,40setCurPos 2,2,0showStr

32、ing LineDsetCurPos 8,2,0showStringDispay4setCurPos 10,2,0 showStringLineBsetCurPos 11,2,0showStringDisEsetCurPos 13,2,0 showStringDisFsetCurPos 15,2,0 showString DisW setCurPos 18,2,0showString Dispay5 setCurPos 20,2,0showStringDispay6setCurPos 16,2,0 showStringLineBsetCurPos 24,2,0showStringLineDse

33、tCurPos 21,2,0showStringLinetsetCurPos 10,25,0 showChar EQ setCurPos 12,25,0 showCharFAIsetCurPos 14,25,0 showCharWINRETSHOW1ENDPSHOW2PROCINC FAIinitShowModel 0initWindow 0,9EH,0,0,25,40setCurPos 2,2,0 showStringLineDsetCurPos 8,2,0showStringDispay3setCurPos 11,2,0 showString DisEsetCurPos 13,2,0sho

34、wStringDisFsetCurPos 15,2,0 showString DisW setCurPos 10,2,0showStringLineBsetCurPos 18,2,0showStringDispay5setCurPos 20,2,0showStringDispay6setCurPos 16,2,0showStringLineBsetCurPos 24,2,0showStringLineDsetCurPos 21,2,0showStringLinetsetCurPos 10,25,0showCharEQsetCurPos 12,25,0 showCharFAIsetCurPos

35、14,25,0 showCharWINRETSHOW2ENDPSHOW3PROCINC WIN initShowModel 0initWindow 0,9EH,0,0,25,40 setCurPos 2,2,0 showStringLineDsetCurPos 8,2,0showStringDispay2setCurPos 10,2,0showStringLineBsetCurPos 11,2,0 showStringDisEsetCurPos 13,2,0 showStringDisFsetCurPos 15,2,0 showString DisW setCurPos 18,2,0showS

36、tring Dispay5setCurPos 20,2,0showStringDispay6setCurPos 16,2,0showStringLineBsetCurPos 24,2,0showStringLineDsetCurPos 21,2,0showStringLinetsetCurPos 10,25,0showChar EQsetCurPos 12,25,0showCharFAIsetCurPos 14,25,0showCharWINRETSHOW3ENDPxian1PROCsetCurPos 3,2,0showStringDispaytsetCurPos 5,2,0 showStri

37、ngDispayytRETxian1ENDPxian2PROCsetCurPos 3,2,0showStringDispaytsetCurPos 5,2,0 showStringDispayysRETxian2ENDPxian3PROCsetCurPos 3,2,0 showStringDispaytsetCurPos 5,2,0 showStringDispayycRETxian3ENDPxian4PROCsetCurPos 3,2,0showStringDispayssetCurPos 5,2,0showStringDispayytRETxian4ENDPxian5PROCsetCurPo

38、s 3,2,0showStringDispayssetCurPos 5,2,0showStringDispayysRETxian5ENDPxian6PROCsetCurPos 3,2,0showStringDispayssetCurPos 5,2,0 showStringDispayycRETxian6ENDPxian7PROCsetCurPos 3,2,0showStringDispaycsetCurPos 5,2,0 showStringDispayytRETxian7ENDPxian8PROCsetCurPos 3,2,0showStringDispaycsetCurPos 5,2,0s

39、howStringDispayysRETxian8ENDPxian9PROCsetCurPos 2,2,0showStringDispaycsetCurPos 5,2,0 showStringDispayycRETxian9ENDP;游戲界面about子程GameAboutPROCinitShowModel 0 initWindow 0,9EH,0,0,25,40 setCurPos 2,2,0 showString LineD setCurPos 4,9,0 showString Information setCurPos 6,2,0 showString LineD setCurPos 1

40、2,8,0 showString Information21 setCurPos 14,8,0 showString Information49 setCurPos 16,8,0 showString Information75 setCurPos 20,2,0 showString LineD setCurPos 20,2,0 PauseRETGameaboutENDP;退出游戲子程序GameExitPROCCHOOSE:initShowModel 0 initWindow 0,9EH,0,0,25,40 setCurPos 2,2,0 showString LineDsetCurPos 2

41、0,2,0 showString LineD setCurPos 4,6,0 showString ExitMsg setCurPos 6,2,0 showString LineB setCurPos 10,8,0 showString ExitMsg25 setCurPos 12,8,0 showString ExitMsg41 setCurPos 16,2,0showString LineBsetCurPos 20,20,0getCharKickCMPKick,'Y'JNEY_INPUTJMPEXITY_INPUT:CMPKick,'y'JNEN_INPUT

42、JMP EXITN_INPUT:CMP Kick,'N'JNE DOWNJMPRETURNDOWN:CMP Kick,'n'JERETURNJMP CHOOSERETURN:RETGameExitENDPCODE_SEG ENDSENDMAIN五、開發(fā)中遇到的問題游戲開發(fā)的過程中,我遇到了好多問題,一開始我不知道如何才能讓計(jì)算機(jī)與我猜拳,通過詢問其他同學(xué)和上網(wǎng)搜索相關(guān)資料,我了解了隨機(jī)數(shù):隨機(jī)數(shù)的產(chǎn)生主要依據(jù)一條數(shù)學(xué)公式:Rand_Number = (Rand_Seed * X + Y) mod Z利用這條公式,我們就可以生成一個(gè)偽隨機(jī)數(shù)了。 可是為什么是“偽隨機(jī)數(shù)”呢?因?yàn)?實(shí)際上要保證每次生成的隨機(jī)數(shù)都不同, 那是不太可能的,我們唯一能做到的只能是盡量使 每次生成的數(shù)字

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論