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

下載本文檔

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

文檔簡介

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

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

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

4、而歐美都稱剪子石頭布的游戲是“日本游戲",法國人稱剪子石頭布為"jeu Japonais"(意思就是日本游戲)。原因就是因為到了二十世紀,日本人 大量西化以及日本人到世界各國游歷的原因,也對歐美推廣了這個游戲,使得很多歐美人都認為剪子石頭布就是日本的游戲。中國人和韓國人一般都叫“石頭、剪子、布”,而日本人則叫做“石頭、剪子、紙”, 與美洲、歐洲的叫法相近(Rock, Paper, Scissors ),這是因為“石頭、剪子、紙”是由 19 世紀的日本傳入歐美的緣故。臺灣人的臺語式玩法,也是以紙代替布。石頭、剪子、布具有數(shù)學(xué)上的非遞移性(當A>B,且B>

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

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

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

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

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

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

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

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

13、MOVCL,C2;左上角列號MOVDH,D1;右下角行號MOVDL,D2;右下角列號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è)置主菜單光標位置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;選擇標記在start處;選擇標記在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;選擇標記在exit處;按的是鍵ENTER;選擇標記在start處NEXT_ENTER_2:CMPX,12JNZ NEXT_ENTER_3CALLGameAboutJMPBEGINNEXT_ENTER_3:CMPX,16JNZERRORCALLGameExitJMPBEGINESC_KEY:CMPKick,27;選擇標記在about處;選擇標記在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;計算機出“石頭”計算JEa;ping 玩家出石頭CMPNUM,1JEb;shu玩家出剪刀CMPNUM,2JEc;y

29、in玩家出布JISUAN3:CMPNUM,0;計算機出“剪刀”計算JEf;玩家出石頭CMPNUM,1;玩家出剪刀JEeCMPNUM,2JEd;玩家出布JISUAN4:CMPNUM,0;計算機出“布”計算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)生隨機數(shù)RandPROCCALLxian9PUSH CXPUSH DXPUSH AXSTIMOV AH,0;讀時鐘計數(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ā)的過程中,我遇到了好多問題,一開始我不知道如何才能讓計算機與我猜拳,通過詢問其他同學(xué)和上網(wǎng)搜索相關(guān)資料,我了解了隨機數(shù):隨機數(shù)的產(chǎn)生主要依據(jù)一條數(shù)學(xué)公式:Rand_Number = (Rand_Seed * X + Y) mod Z利用這條公式,我們就可以生成一個偽隨機數(shù)了。 可是為什么是“偽隨機數(shù)”呢?因為 實際上要保證每次生成的隨機數(shù)都不同, 那是不太可能的,我們唯一能做到的只能是盡量使 每次生成的數(shù)字

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論