版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、. . . . 關(guān)于一個(gè)猜數(shù)字游戲軟件的系統(tǒng)開發(fā)摘 要該系統(tǒng)是做了一個(gè)小游戲軟件,猜數(shù)字游戲,這是一個(gè)運(yùn)行在Windows平臺(tái)下的小型游戲軟件,依據(jù)猜數(shù)字游戲的基本規(guī)則,給用戶提供一個(gè)游戲的平臺(tái)。并且,該游戲提供了用戶計(jì)分的功能,并能對(duì)每個(gè)參與游戲的用戶進(jìn)行成績(jī)排行,在排行榜中排出前五名玩家的游戲記錄,并可以隨著玩家的游戲記錄進(jìn)行更新。關(guān)鍵詞:猜數(shù)字游戲,計(jì)分,成績(jī)排行,記錄更新。英文題目Abstract:The system is to do a small game software,guessing number game, this is a Windows platform runn
2、ing on the small game software, according to the basic rules of the game to provide users with a platform game. In addition, the game provides the user the function of points and for each of the users involved in the game performance ranks in the list of the top five players from the game record, an
3、d can be recorded with the player's game to be updated.Key words: guessing number game,record score,ranking results,update record.目 錄第一章 前言.31.1 猜數(shù)字游戲軟件的概述.31.2 系統(tǒng)主要功能簡(jiǎn)介.3第二章 軟件開發(fā)環(huán)境.32.1 開發(fā)工具說明.32.2 系統(tǒng)運(yùn)行環(huán)境說明.3第三章 方案論證.43.1 可行性分析.43.2 需求分析.43.2.1 用戶需求.43.2.2 功能需求.4第四章 總體設(shè)計(jì).54.1 開發(fā)與設(shè)計(jì)的總體思想.54.2 系統(tǒng)
4、模塊結(jié)構(gòu)圖.54.3 模塊設(shè)計(jì).54.3.1 游戲區(qū)模塊.54.3.2 排行榜模塊.54.3.3 產(chǎn)生新紀(jì)錄模塊.64.3.4 讀取最好記錄模塊.64.3.5 幫助模塊.64.4 系統(tǒng)流程描述.64.5 界面設(shè)計(jì).74.5.1 功能選擇界面設(shè)計(jì).74.5.2 游戲主體界面設(shè)計(jì).74.5.3 排行榜界面設(shè)計(jì).84.5.4 幫助界面設(shè)計(jì).84.6 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì).9第五章 詳細(xì)設(shè)計(jì).95.1 游戲區(qū)模塊.95.1.1 模塊描述.95.1.2 源文件定義.95.1.3 函數(shù)聲明.105.2 排行榜模塊.125.2.1 模塊描述.125.2.2 源文件定義.125.2.3 函數(shù)聲明.125.3 產(chǎn)生新紀(jì)
5、錄模塊.145.3.1 模塊描述.145.3.2 源文件定義.145.3.3 函數(shù)聲明.145.4 讀取游戲記錄模塊.155.4.1 模塊描述.155.4.2 源文件定義.155.4.3 函數(shù)聲明.155.5 幫助模塊.155.5.1 模塊描述.165.5.2 源文件定義.165.5.3 函數(shù)聲明.16第一章 前言1.1猜數(shù)字游戲軟件的概述該軟件是一個(gè)運(yùn)行在Windows平臺(tái)下的小型游戲軟件,依據(jù)游戲規(guī)則,在Windows平臺(tái)上為為玩家提供猜數(shù)字游戲的基本功能,游戲用戶可以選擇開始游戲,排行榜查看,幫助等主要功能。1.2系統(tǒng)主要功能簡(jiǎn)介當(dāng)用戶選擇開始游戲時(shí),系統(tǒng)會(huì)提示用戶排行榜上猜數(shù)字成績(jī)的最
6、好記錄,并讓用戶逐次猜數(shù)字,用戶每次猜數(shù)字后系統(tǒng)會(huì)給出本次猜數(shù)字的結(jié)果提示,如位置和數(shù)字都正確的數(shù)字個(gè)數(shù),數(shù)字正確但位置不正確的數(shù)字個(gè)數(shù)。如果用戶猜數(shù)字的次數(shù)超過10次,則提示用戶游戲失敗,如果在10次之猜出了4個(gè)數(shù)字和正確的順序,則提示用戶猜數(shù)字成功,并到排行榜中進(jìn)行比較,如果排名在前五名,則計(jì)入排行榜中,以便其他用戶查看。在排行榜查看功能中,用戶可以查看當(dāng)前的游戲排行,排行榜中總共顯示前五名玩家的排行,如有新的記錄產(chǎn)生,則插入到排行榜中,并把排行榜中位次最末的記錄擠出排行榜。在幫助模塊,用戶可以查看游戲規(guī)則,當(dāng)熟悉規(guī)則后可以退出幫助模塊。第二章 軟件開發(fā)環(huán)境2.1開發(fā)工具說明WINTC是一
7、個(gè)TC2 WINDOWS平臺(tái)開發(fā)工具,該軟件使用TC2為核,提供WINDOWS平臺(tái)的開發(fā)界面,支持WINDOWS平臺(tái)下的功能,如剪切、復(fù)制、粘貼和查找替換等。而且在功能上也有它的獨(dú)特特色例如語法加亮、C嵌匯編、自定義擴(kuò)展庫(kù)的支持等。并在編程過程中提供一組相關(guān)輔助工具。該軟件的主要優(yōu)點(diǎn)有:1. 由于WINTC是WINDOWS程序,所以在其中進(jìn)行鼠標(biāo)操作,程序段的復(fù)制,中文輸入輸出等功能變得非常方便。2. 支持字體大小的調(diào)整和C 程序中各種關(guān)鍵字符的變色顯示。3. WINTC消除了初學(xué)者設(shè)置工作目錄的煩惱,自動(dòng)設(shè)置好工作目錄,程序編寫好之后就可以直接編譯運(yùn)行。4. 中文界面,提示出錯(cuò)信息也是中文的
8、,支持在運(yùn)行結(jié)果中顯示中文,這樣在程序中就可以輸出中文的提示語句了。2.2系統(tǒng)運(yùn)行環(huán)境說明1.硬件環(huán)境 處理器:Inter Pentium 166 MX或更高 存:32MB以上 硬盤空間:1GB以上 顯卡:SVGA顯示適配器2.軟件環(huán)境 操作系統(tǒng):Windows 98/ME/2000/XP第三章 方案論證3.1可行性分析技術(shù)可行性:硬件、軟件、運(yùn)行環(huán)境和開發(fā)環(huán)境方面的條件和限制。硬件環(huán)境:主要包括處理器、存、硬盤空間、顯卡。軟件環(huán)境:操作系統(tǒng) Windows 98/ME/2000/XP開發(fā)環(huán)境:WINTC3.2需求分析3.2.1用戶需求猜數(shù)字游戲軟件的總體目標(biāo)是按照特定游戲規(guī)則為用戶提供一個(gè)方
9、便友好的游戲界面,同時(shí)給用戶提供排行榜的功能使用戶能夠按照特定的目標(biāo)提高自己的成績(jī),并且提供相應(yīng)的幫助功能。當(dāng)用戶運(yùn)行該軟件時(shí),即可根據(jù)界面提示,進(jìn)入到用戶想進(jìn)入的區(qū)域。游戲規(guī)則如下:1. 游戲軟件隨機(jī)產(chǎn)生4個(gè)數(shù)字,但不顯示,給用戶提供輸入提示符,讓用戶猜4個(gè)數(shù)字的值和位置順序。如果數(shù)字值和位置順序均正確,則猜數(shù)字成功。2. 玩家有10次猜數(shù)字的機(jī)會(huì),如果在10次之仍未猜出正確的數(shù)字值和數(shù)字位置順序,則提示用戶游戲失敗。3. 一旦玩家在10次的次數(shù)限制猜出正確的數(shù)字值和位置順序,則贏得游戲。4. 當(dāng)玩家贏得游戲后,會(huì)與排行榜中前五名玩家的游戲記錄比較,如排名能夠進(jìn)入前五名,則更新排行榜,使當(dāng)前
10、玩家成為入榜選手。5. 計(jì)分規(guī)則:猜數(shù)字所使用次數(shù)即為分?jǐn)?shù),所以分?jǐn)?shù)越少證明玩家水平越高,排行榜中也是排列分?jǐn)?shù)最少的前五名選手。3.2.2功能需求本游戲軟件需要實(shí)現(xiàn)以下基本功能:1 游戲區(qū):玩家可以在游戲區(qū)逐次猜數(shù)字,系統(tǒng)給出玩家每次猜數(shù)字后的提示,包括數(shù)值、位置均正確的數(shù)字個(gè)數(shù)和數(shù)值正確,但位置不正確的數(shù)字個(gè)數(shù)。2 刷新排行榜:當(dāng)玩家成功完成一輪猜數(shù)字游戲后,可以通過和排行榜中相應(yīng)記錄的比較判斷玩家是否可以進(jìn)入排行榜,進(jìn)入排行榜的資格是游戲成績(jī)?cè)谇拔迕耐婕摇? 查看排行榜:玩家可以查看當(dāng)前排行榜中的排名順序,從而確定自己的游戲目標(biāo)。排行榜的查看按一定順序顯示給用戶,便于查看。4 清除排行榜
11、:玩家可以選擇清除排行榜功能,使得排行榜上的玩家和玩家游戲記錄從系統(tǒng)中清除,只留下系統(tǒng)默認(rèn)的玩家名(player)和系統(tǒng)默認(rèn)記錄10次。第四章 總體設(shè)計(jì)4.1開發(fā)與設(shè)計(jì)的總體思想猜數(shù)字游戲是一種大眾娛樂游戲,開發(fā)與設(shè)計(jì)的重點(diǎn)在于游戲供玩家進(jìn)行猜數(shù)字游戲的原始數(shù)字的產(chǎn)生和用戶每次進(jìn)行猜數(shù)字操作之后的游戲提示,這兩方面的規(guī)則設(shè)計(jì)往往決定了軟件運(yùn)行的正確性和質(zhì)量。系統(tǒng)采用結(jié)構(gòu)化的設(shè)計(jì)方法進(jìn)行設(shè)計(jì),采用C語言進(jìn)行開發(fā)。4.2系統(tǒng)模塊結(jié)構(gòu)圖4.3模塊設(shè)計(jì)4.3.1游戲區(qū)模塊該模塊為玩家提供數(shù)字游戲的主體功能,由系統(tǒng)自動(dòng)產(chǎn)生4個(gè)隨機(jī)排列的整數(shù),并給用戶10次機(jī)會(huì)猜測(cè)數(shù)字的數(shù)值和排列順序。如果用戶在10次之
12、沒有猜出正確的結(jié)果,則提示用戶游戲失敗,否則提示用戶猜數(shù)字的成功,并調(diào)用產(chǎn)生新紀(jì)錄模塊對(duì)玩家游戲成績(jī)進(jìn)行處理。該模塊有如下三個(gè)子功能。1. 產(chǎn)生原始數(shù)字:由系統(tǒng)產(chǎn)生四個(gè)隨機(jī)數(shù),并按任意順序排列,作為游戲的原始數(shù)字供玩家進(jìn)行猜數(shù)字游戲。2. 游戲提示:用如1A2B的形式提示玩家當(dāng)前猜數(shù)字的匹配情況,例如,1A表示玩家猜測(cè)的數(shù)字中有2個(gè)與系統(tǒng)產(chǎn)生的原始數(shù)字相符,并且位置也完全符合,2B表示玩家猜測(cè)的數(shù)字中有2個(gè)與系統(tǒng)產(chǎn)生的原始數(shù)字相符,但位置不符。用這種方式提示用戶對(duì)自己的猜測(cè)進(jìn)行調(diào)整。3. 原始數(shù)字顯示:當(dāng)用戶在10次之仍未能猜出正確的原是數(shù)字和順序時(shí),系統(tǒng)提示玩家失敗,并給玩家顯示出原始數(shù)字和
13、順序。模塊功能樹如圖:4.3.2排行榜模塊該模塊為玩家提供排行榜的瀏覽功能和清除功能,包括按玩家成績(jī)順序?yàn)g覽、按玩家瀏覽和清除排行榜3個(gè)子功能。1. 按玩家成績(jī)順序?yàn)g覽子功能中,將玩家的、游戲成績(jī)按猜數(shù)字次數(shù)從少到多的順序列表顯示,即將玩家記錄從高到低顯示。2. 按玩家瀏覽的子功能中,為了玩家便于查找到自己的游戲成績(jī),將玩家的和猜數(shù)字次數(shù)記錄按照玩家的字母表順序列表顯示。3. 清除排行榜:當(dāng)用戶選擇清除排行榜功能時(shí),系統(tǒng)會(huì)將所有玩家的歷史游戲記錄和默認(rèn)玩家player和系統(tǒng)默認(rèn)記錄10次。排行榜模塊功能樹如圖:4.3.3產(chǎn)生新紀(jì)錄模塊該模塊的功能是當(dāng)玩家成功完成游戲時(shí),判斷用戶可否進(jìn)入排行榜,
14、如果可以進(jìn)入,則刷新排行榜記錄,將當(dāng)前玩家的游戲記錄寫入排行榜,并將排行榜目前結(jié)果顯示給用戶。產(chǎn)生新紀(jì)錄模塊功能樹如圖:4.3.4讀取最好記錄模塊讀取最好記錄模塊的主要功能是當(dāng)用戶選擇游戲開始選項(xiàng)時(shí),首先提示用戶目前排行榜中的最好游戲記錄,如果目前沒有排行的玩家游戲,則初始化排行榜,給出系統(tǒng)默認(rèn)的玩家和默認(rèn)的游戲記錄。如果目前排行榜中有玩家記錄,則判斷出最好記錄顯示給用戶。讀取游戲記錄模塊功能樹如圖:4.3.5幫助模塊幫助模塊提供的功能是玩家選項(xiàng)為幫助功能對(duì)應(yīng)的選項(xiàng)數(shù)字時(shí),進(jìn)入幫助模塊,給出用戶猜數(shù)字的游戲規(guī)則和游戲中相關(guān)提示的含義。4.4系統(tǒng)流程描述系統(tǒng)的主體處理流程如圖所示:4.5界面設(shè)計(jì)
15、界面設(shè)計(jì)應(yīng)遵循簡(jiǎn)潔美觀、方便易用的基本原則。4.5.1功能選擇界面設(shè)計(jì)充分考慮界面易于操作的系統(tǒng)需求,游戲控制和排行榜等功能需求采用類似于菜單的功能選擇方式實(shí)現(xiàn)。具體功能選擇界面設(shè)計(jì)效果圖如圖所示。4.5.2游戲主體界面設(shè)計(jì)在游戲主體部分要提示用戶排行榜中的最高紀(jì)錄,并需要逐次提示用戶猜數(shù)字的結(jié)果和猜數(shù)字的次數(shù),主要保證提示準(zhǔn)確性和易讀性。具體設(shè)計(jì)效果如圖所示。4.5.3排行榜界面設(shè)計(jì)排行榜的界面設(shè)計(jì)主要考慮到瀏覽排行榜時(shí)的清晰和可讀性,按成績(jī)?yōu)g覽和按玩家瀏覽時(shí)都列表顯示,注重清晰易讀,具體設(shè)計(jì)效果如圖所示。4.5.4幫助界面設(shè)計(jì)幫助界面需要使玩家清晰了解游戲規(guī)則和系統(tǒng)使用方法,具體設(shè)計(jì)效果如
16、圖所示。4.6數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)猜數(shù)字游戲軟件涉與到對(duì)玩家信息和排行榜的操作。為將玩家的和游戲成績(jī)描述成一個(gè)玩家的兩個(gè)重要方面。使用C語言中的結(jié)構(gòu)體來描述。具體的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)如下。/*player結(jié)構(gòu)體,存放玩家和游戲成績(jī)*/Typedef struct Char name20; /*Field of name*/ Int score; /*Filed of score*/player; 第五章 詳細(xì)設(shè)計(jì)基于系統(tǒng)需求分析和系統(tǒng)總體設(shè)計(jì)的結(jié)論,本系統(tǒng)采用WINTC實(shí)現(xiàn)各模塊的功能,下面按照模塊的劃分來分別闡述系統(tǒng)的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)過程。5.1游戲區(qū)模塊5.1.1模塊描述游戲區(qū)模塊是猜數(shù)字游戲軟件的核心部
17、分。用戶進(jìn)入游戲區(qū)模塊后,系統(tǒng)會(huì)調(diào)用讀取最好記錄模塊的功能,向用戶顯示目前排行榜中的榜首玩家和成績(jī)。之后,系統(tǒng)產(chǎn)生4個(gè)按任意順序排列的隨機(jī)數(shù),并提供玩家10次機(jī)會(huì),提示玩家進(jìn)行猜數(shù)字過程,并在玩家每一次猜數(shù)字后都會(huì)給玩家當(dāng)前猜測(cè)結(jié)果的提示。提示用A表示位置和數(shù)值均正確,B表示數(shù)值正確但位置錯(cuò)誤。當(dāng)玩家猜測(cè)次數(shù)超過10次,則提示玩家失敗,如在10次之猜出正確結(jié)果,則祝賀玩家并調(diào)用產(chǎn)生記錄模塊能否進(jìn)入排行榜。5.1.2源文件定義Pmain.c 系統(tǒng)功能選擇界面。start.c 游戲區(qū)功能,開始游戲和進(jìn)行游戲過程。Score.h 玩家和游戲成績(jī)結(jié)構(gòu)體定義。5.1.3函數(shù)聲明1void main( )
18、函數(shù)功能:軟件執(zhí)行的入口,在函數(shù)所在的程序頭部包含了部分系統(tǒng)必需的頭文件和完成其他功能的源文件。在該函數(shù)中還提供了系統(tǒng)功能選擇的平臺(tái),提示用戶系統(tǒng)可用的功能有哪些和這些功能的選項(xiàng)代碼。并給用戶提供了輸入功能選項(xiàng)代碼的接口,當(dāng)用戶輸入選項(xiàng)代碼后,即顯示給用戶相應(yīng)的功能處理界面或結(jié)果。輸入:用戶想要使用的系統(tǒng)功能的選項(xiàng)代碼。處理:1) 接受玩家輸入的選項(xiàng)代碼。2) 引導(dǎo)玩家進(jìn)入相應(yīng)的功能界面。輸出:1) 系統(tǒng)功能選擇平臺(tái)。2) 相應(yīng)的功能界面。程序清單:(具體代碼省略)Pmain.c/*Pmain.c:系統(tǒng)功能選擇界面*/#include<stdlib.h>#include<st
19、dio.h>/*玩家結(jié)構(gòu)體類型頭文件*/#include"score.h"/*開始和進(jìn)行游戲過程*/#include"start.c"/*按游戲成績(jī)排序?yàn)g覽排行榜*/#include"sort.c"/*幫助*/#include"help.c"/*按玩家排序?yàn)g覽排行榜*/#include"sname.c"/*清除排行榜*/#include"clear.c"void main() . . . .程序清單:Score.h#include"stdio.h"#
20、include<stdlib.h>#include<conio.h>#include<string.h>#define SIZE 5typedef structchar name20;/*Field of name*/int score; /*Filed of score*/player;2StartProgram( )函數(shù)功能:開始猜數(shù)字游戲和進(jìn)行游戲過程,調(diào)用讀取最好記錄模塊,提示用逐次猜數(shù)字,每次都給出游戲暗示。在10次之類未猜出者提示失敗,如果成功,則調(diào)用產(chǎn)生新紀(jì)錄模塊,看玩家能否進(jìn)入排行榜。輸入:循環(huán)輸入用戶每次所猜數(shù)字。處理:1) 調(diào)用讀取最好記
21、錄模塊,提示用戶榜首玩家和成績(jī)。2) 產(chǎn)生4個(gè)按任意順序排列的隨機(jī)數(shù)。3) 循環(huán)獲取用戶輸入的猜測(cè)數(shù)字并逐次給出提示。4) 判斷玩家是否猜測(cè)成功。5) 失敗,則提示用戶。6) 成功,調(diào)用產(chǎn)生新記錄模塊。輸出:1) 排行榜中榜首玩家和成績(jī)。2) 游戲提示,以A表示數(shù)值位置均正確,B表示數(shù)值正確位置不正確。3) 游戲失敗的提示。4) 游戲成功的提示。程序清單:start.c(與getnumber( )函數(shù)在同一程序清單中,與getnumber( )函數(shù)的程序清單一同列出)。3. getnumber( )函數(shù)功能:由系統(tǒng)產(chǎn)生4個(gè)按任意順序排列的隨機(jī)整數(shù)。輸入:無。處理:1) 調(diào)用隨機(jī)數(shù)初始化函數(shù)。2
22、) 用rand函數(shù)產(chǎn)生隨機(jī)數(shù)。3) 將產(chǎn)生的隨機(jī)數(shù)取整并處理為一位數(shù)的整數(shù)。4) 將產(chǎn)生的隨機(jī)數(shù)存入變量中供猜數(shù)字游戲進(jìn)行判斷比較。輸出:無。程序清單:start.c(getnumber( )和startprogram( )函數(shù)包含在此程序清單中)。#include<stdlib.h>#include<time.h>#include<stdio.h>#include"readrec.c"#include"reset.c"int a5,b5,n1,n2,n3,i,j;/*n1計(jì)算位置數(shù)字一樣的數(shù)字個(gè)數(shù)*/*n2計(jì)算數(shù)字一
23、樣但位置不一樣的數(shù)字個(gè)數(shù)*/*n3計(jì)算所猜數(shù)字*/char ch;startProgram() . . . .getnumber()/*隨機(jī)產(chǎn)生4個(gè)數(shù)的函數(shù)*/ randomize();/*產(chǎn)生隨機(jī)數(shù)的初始化函數(shù)*/ for(i=1;i<=4;i+) loop2: /*產(chǎn)生的隨機(jī)數(shù)處理為一位數(shù)的整數(shù)*/ ai=rand()%10;/*rand()函數(shù)用于產(chǎn)生隨機(jī)數(shù)*/ /*循環(huán)判斷,隨機(jī)數(shù)要求不重復(fù),如果重復(fù)則重新產(chǎn)生*/ for(j=i-1;j>=1;j-) if(ai=aj)goto loop2; 5.2排行榜模塊5.2.1模塊描述排行榜模塊主要供用戶對(duì)排行榜的瀏覽和清除。玩家
24、可按照游戲分?jǐn)?shù)和玩家兩種方式瀏覽排行榜,排序結(jié)果列表顯示到屏幕上。用選擇法對(duì)排行榜文件中的玩家游戲記錄進(jìn)行排序。當(dāng)對(duì)排行榜中的玩家進(jìn)行排序并列表顯示時(shí),要用到C語言提供的strcmp()函數(shù)進(jìn)行字符串大小的比較,從而將玩家按字母表順序排列。Strcmp()函數(shù)在C語言的string.h頭文件中定義。清除排行榜功能使系統(tǒng)中的排行榜記錄完全清除,只留下系統(tǒng)默認(rèn)的用戶名player和默認(rèn)的游戲成績(jī)10次。該功能的實(shí)現(xiàn)是通過文件的fwrite()函數(shù)實(shí)現(xiàn)的。用重新覆蓋的方式將系統(tǒng)默認(rèn)用戶名player和游戲成績(jī)10次寫入排行榜文件(文件名為record),將原來的5個(gè)排行榜記錄覆蓋掉即可完成清除排行榜
25、的功能。5.2.2源文件定義sname.c 按玩家字母表序列瀏覽排行榜。Sort.c 按玩家游戲成績(jī)?yōu)g覽排行榜。Clear.c 清除排行榜。5.2.3函數(shù)聲明1. void SortByName( )函數(shù)功能:按玩家字母表序?yàn)g覽排行榜信息。列表顯示至頻幕。輸入:在系統(tǒng)功能選擇界面中輸入該功能的功能選項(xiàng)代碼。處理:1) 讀取排行榜文件。2) 將文件中排行記錄存入數(shù)組。3) 將數(shù)組中數(shù)據(jù)用選擇法排序。4) 將排序后數(shù)據(jù)重新寫入排行榜。5) 將排序好的文件列表輸出到屏幕。輸出:按成績(jī)排序好的排行榜列表。程序清單:(具體代碼省略)sname.c/*sscore.c:按游戲成績(jī)排序*/#include”
26、stdio.h”void SortByName() . . . .2. voidSortByScore( )函數(shù)功能:按玩家成績(jī)順序?yàn)g覽排行榜信息,列表顯示至屏幕。輸入:在系統(tǒng)功能選擇界面中輸入該功能的功能選項(xiàng)代碼。處理:1) 讀取排行榜文件。2) 將文件中排行記錄存入數(shù)組。3) 將數(shù)組中數(shù)據(jù)用選擇法排序。4) 將排序后數(shù)據(jù)重新寫入排行榜。5) 將排序好的文件列表輸出到屏幕。輸出:按成績(jī)排序好的排行表列表。程序清單:與程序清單sname.c結(jié)構(gòu)類似(具體代碼省略)3. void ClearSort( )函數(shù)功能:清除排行榜信息。輸入:在系統(tǒng)功能選擇界面中輸入該功能的功能選項(xiàng)代碼。處理:1) 打
27、開排行榜文件。2) 將系統(tǒng)默認(rèn)玩家player和成績(jī)10次寫入文件,即完成清除功能,只留下默認(rèn)記錄。3) 關(guān)閉排行榜文件。輸出:排行榜清除成功的提示。程序清單:(具體代碼省略)Clear.c/*清除排行榜*/ClearSort(). 5.3產(chǎn)生新紀(jì)錄模塊5.3.1模塊描述當(dāng)用戶成功猜出數(shù)字的數(shù)值和順序后,系統(tǒng)調(diào)用產(chǎn)生新紀(jì)錄模塊,判斷該玩家的成績(jī)是否能進(jìn)入排行榜。首先判斷排行榜中是否已有5名玩家,如果排行榜未滿,則當(dāng)前玩家直接上榜,如排行榜已滿,則將排行榜中的最后一名擠出排行榜。5.3.1源文件定義reset.c5.3.2函數(shù)聲明ResetRecord(int n)函數(shù)功能:接收從start()
28、函數(shù)傳遞過來的函數(shù)n,該參數(shù)代表用戶猜數(shù)字所用的次數(shù)。提示玩家輸入,并判斷排行榜是否已滿。如未滿,則直接用追加的方法將該玩家的成績(jī)寫入排行榜。;如已有5個(gè)玩家,則判斷出成績(jī)最差的玩家;如當(dāng)前玩家成績(jī)好于最差成績(jī),則將其替換為當(dāng)前玩家的和游戲成績(jī),從而使當(dāng)前玩家入榜,并使最差玩家落榜。最后輸出排行榜的當(dāng)前情況。輸入:1) start()函數(shù)傳遞的猜數(shù)字所用次數(shù)參數(shù)n。2) 玩家輸入的。處理:1) 獲取玩家輸入的。2) 從排行榜文件中讀取記錄。3) 判斷記錄是否等于5,即判斷排行榜是否已滿。4) 如排行榜未滿,則追加使玩家入榜。5) 如排行榜已滿,判斷當(dāng)前成績(jī)是否好于最差成績(jī)。6) 如好于最差成績(jī)
29、,則替換,使玩家入榜,最差玩家落榜。輸出:排行榜的當(dāng)前情況。程序清單:(具體代碼省略)reset.c/*產(chǎn)生新紀(jì)錄*/#include"stdio.h"ResetRecord(int n)int i,j;int recnum=0;int maxscore=0; player r5; FILE *fp; . . . .5.4讀取游戲記錄模塊5.4.1模塊描述當(dāng)用戶開始游戲之前,提示用戶當(dāng)前在排行榜中的最好記錄。5.4.2源文件定義readrec.c5.4.3函數(shù)聲明1. ReadRecord( )函數(shù)功能:讀取排行榜中的最好記錄,顯示給正要開始游戲的玩家。如果該軟件是第一次使
30、用,還沒有排行榜,則調(diào)用SetRecord()函數(shù)創(chuàng)建排行榜并設(shè)置初始的玩家player和初始的游戲記錄10次。輸入:無。處理:1) 打開排行榜文件。2) 如排行榜文件不存在,說明是第一次使用,則調(diào)用SetRecord( )函數(shù)初始化排行榜。3) 找出排行榜中最好記錄。輸出:排行榜中最好記錄和玩家。程序清單:(具體代碼省略)readrec.c(SetRecord()函數(shù)也在此函數(shù)中)#include”stdio.h”ReadRecord()FILE *fp;player TmpS;player Min;Min.score=11;.,. 2. SetRecord( )函數(shù)功能:當(dāng)該軟件第一次使用,還沒有排行榜時(shí),該函數(shù)用來初始化排行榜,在排行榜中設(shè)置初始的玩家player和初始記錄10次。輸入:無。處理:1) 創(chuàng)建排行榜文件。2) 寫入
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧中醫(yī)藥大學(xué)《C程序設(shè)計(jì)及醫(yī)學(xué)應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 蘭州理工大學(xué)《醫(yī)學(xué)實(shí)驗(yàn)基本技術(shù)與設(shè)備》2023-2024學(xué)年第一學(xué)期期末試卷
- 集美大學(xué)《口腔人文醫(yī)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖南文理學(xué)院芙蓉學(xué)院《社會(huì)保障發(fā)展前沿》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖南高速鐵路職業(yè)技術(shù)學(xué)院《世界建筑裝飾風(fēng)格與流派》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶郵電大學(xué)《計(jì)算機(jī)學(xué)科課程教學(xué)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶健康職業(yè)學(xué)院《工程造價(jià)及管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 中原工學(xué)院《軟件質(zhì)量保證與測(cè)試實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江農(nóng)林大學(xué)暨陽(yáng)學(xué)院《野生動(dòng)植物保護(hù)與管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 中國(guó)石油大學(xué)(華東)《表演基礎(chǔ)元素訓(xùn)練》2023-2024學(xué)年第一學(xué)期期末試卷
- 建設(shè)項(xiàng)目施工現(xiàn)場(chǎng)春節(jié)放假期間的安全管理方案
- GB/T 19867.5-2008電阻焊焊接工藝規(guī)程
- 2023年市場(chǎng)部主管年終工作總結(jié)及明年工作計(jì)劃
- 國(guó)有資產(chǎn)出租出借審批表(學(xué)校事業(yè)單位臺(tái)賬記錄表)
- 30第七章-農(nóng)村社會(huì)治理課件
- 考研考博-英語-東北石油大學(xué)考試押題三合一+答案詳解1
- 出國(guó)學(xué)生英文成績(jī)單模板
- 植物細(xì)胞中氨基酸轉(zhuǎn)運(yùn)蛋白的一些已知或未知的功能
- 山東省高等學(xué)校精品課程
- 三菱張力控制器LE-40MTA-E說明書
- 生活垃圾填埋場(chǎng)污染控制標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論