




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件工程課程設(shè)計(論文)關(guān)于一個猜數(shù)字游戲軟件的系統(tǒng)開發(fā)作者姓名: 專業(yè)班級: 指導(dǎo)教師:摘 要該系統(tǒng)是做了一個小游戲軟件,猜數(shù)字游戲,這是一個運(yùn)行在windows平臺下的小型游戲軟件,依據(jù)猜數(shù)字游戲的基本規(guī)則,給用戶提供一個游戲的平臺。并且,該游戲提供了用戶計分的功能,并能對每個參與游戲的用戶進(jìn)行成績排行,在排行榜中排出前五名玩家的游戲記錄,并可以隨著玩家的游戲記錄進(jìn)行更新。關(guān)鍵詞:猜數(shù)字游戲,計分,成績排行,記錄更新。英文題目abstract: the system is to do a small game software,guessing number game, this is a
2、 windows platform running 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 fr
3、om the game record, and can be recorded with the players game to be updated.key words: guessing number game,record score,ranking results,update record.目 錄第一章 前言.31.1 猜數(shù)字游戲軟件的概述.31.2 系統(tǒng)主要功能簡介.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è)計.54.1 開
4、發(fā)與設(shè)計的總體思想.54.2 系統(tǒng)模塊結(jié)構(gòu)圖.54.3 模塊設(shè)計.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è)計.74.5.1 功能選擇界面設(shè)計.74.5.2 游戲主體界面設(shè)計.74.5.3 排行榜界面設(shè)計.84.5.4 幫助界面設(shè)計.84.6 數(shù)據(jù)結(jié)構(gòu)設(shè)計.9第五章 詳細(xì)設(shè)計.95.1 游戲區(qū)模塊.95.1.1 模塊描述.95.1.2 源文件定義.95.1.3 函數(shù)聲明.105.2 排行榜模塊.125.2.1 模塊描述.125.2.2 源文件定義.125.2.
5、3 函數(shù)聲明.125.3 產(chǎn)生新紀(jì)錄模塊.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ù)字游戲軟件的概述該軟件是一個運(yùn)行在windows平臺下的小型游戲軟件,依據(jù)游戲規(guī)則,在windows平臺上為為玩家提供猜數(shù)字游戲的基本功能,游戲用戶可以選擇開始游戲,排行榜查看,幫助等主要功能。1.2系統(tǒng)主要功能簡介當(dāng)用戶選擇開始游戲時,系
6、統(tǒng)會提示用戶排行榜上猜數(shù)字成績的最好記錄,并讓用戶逐次猜數(shù)字,用戶每次猜數(shù)字后系統(tǒng)會給出本次猜數(shù)字的結(jié)果提示,如位置和數(shù)字都正確的數(shù)字個數(shù),數(shù)字正確但位置不正確的數(shù)字個數(shù)。如果用戶猜數(shù)字的次數(shù)超過10次,則提示用戶游戲失敗,如果在10次之內(nèi)猜出了4個數(shù)字和正確的順序,則提示用戶猜數(shù)字成功,并到排行榜中進(jìn)行比較,如果排名在前五名,則計入排行榜中,以便其他用戶查看。在排行榜查看功能中,用戶可以查看當(dāng)前的游戲排行,排行榜中總共顯示前五名玩家的排行,如有新的記錄產(chǎn)生,則插入到排行榜中,并把排行榜中位次最末的記錄擠出排行榜。在幫助模塊,用戶可以查看游戲規(guī)則,當(dāng)熟悉規(guī)則后可以退出幫助模塊。第二章 軟件開發(fā)
7、環(huán)境2.1開發(fā)工具說明wintc是一個tc2 windows平臺開發(fā)工具,該軟件使用tc2為內(nèi)核,提供windows平臺的開發(fā)界面,支持windows平臺下的功能,如剪切、復(fù)制、粘貼和查找替換等。而且在功能上也有它的獨特特色例如語法加亮、c內(nèi)嵌匯編、自定義擴(kuò)展庫的支持等。并在編程過程中提供一組相關(guān)輔助工具。該軟件的主要優(yōu)點有:1. 由于wintc是windows程序,所以在其中進(jìn)行鼠標(biāo)操作,程序段的復(fù)制,中文輸入輸出等功能變得非常方便。2. 支持字體大小的調(diào)整和c 程序中各種關(guān)鍵字符的變色顯示。3. wintc消除了初學(xué)者設(shè)置工作目錄的煩惱,自動設(shè)置好工作目錄,程序編寫好之后就可以直接編譯運(yùn)行
8、。4. 中文界面,提示出錯信息也是中文的,支持在運(yùn)行結(jié)果中顯示中文,這樣在程序中就可以輸出中文的提示語句了。2.2系統(tǒng)運(yùn)行環(huán)境說明1.硬件環(huán)境 處理器:inter pentium 166 mx或更高 內(nèi)存: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)境:主要包括處理器、內(nèi)存、硬盤空間、顯卡。軟件環(huán)境:操作系統(tǒng) windows 98/me/2000/xp開發(fā)環(huán)境:wintc3.2需求分析3.2.1用戶需求猜數(shù)字游戲軟件
9、的總體目標(biāo)是按照特定游戲規(guī)則為用戶提供一個方便友好的游戲界面,同時給用戶提供排行榜的功能使用戶能夠按照特定的目標(biāo)提高自己的成績,并且提供相應(yīng)的幫助功能。當(dāng)用戶運(yùn)行該軟件時,即可根據(jù)界面提示,進(jìn)入到用戶想進(jìn)入的區(qū)域。游戲規(guī)則如下:1. 游戲軟件隨機(jī)產(chǎn)生4個數(shù)字,但不顯示,給用戶提供輸入提示符,讓用戶猜4個數(shù)字的值和位置順序。如果數(shù)字值和位置順序均正確,則猜數(shù)字成功。2. 玩家有10次猜數(shù)字的機(jī)會,如果在10次之內(nèi)仍未猜出正確的數(shù)字值和數(shù)字位置順序,則提示用戶游戲失敗。3. 一旦玩家在10次的次數(shù)限制內(nèi)猜出正確的數(shù)字值和位置順序,則贏得游戲。4. 當(dāng)玩家贏得游戲后,會與排行榜中前五名玩家的游戲記錄
10、比較,如排名能夠進(jìn)入前五名,則更新排行榜,使當(dāng)前玩家成為入榜選手。5. 計分規(guī)則:猜數(shù)字所使用次數(shù)即為分?jǐn)?shù),所以分?jǐn)?shù)越少證明玩家水平越高,排行榜中也是排列分?jǐn)?shù)最少的前五名選手。3.2.2功能需求本游戲軟件需要實現(xiàn)以下基本功能:1 游戲區(qū):玩家可以在游戲區(qū)逐次猜數(shù)字,系統(tǒng)給出玩家每次猜數(shù)字后的提示,包括數(shù)值、位置均正確的數(shù)字個數(shù)和數(shù)值正確,但位置不正確的數(shù)字個數(shù)。2 刷新排行榜:當(dāng)玩家成功完成一輪猜數(shù)字游戲后,可以通過和排行榜中相應(yīng)記錄的比較判斷玩家是否可以進(jìn)入排行榜,進(jìn)入排行榜的資格是游戲成績在前五名的玩家。3 查看排行榜:玩家可以查看當(dāng)前排行榜中的排名順序,從而確定自己的游戲目標(biāo)。排行榜的查
11、看按一定順序顯示給用戶,便于查看。4 清除排行榜:玩家可以選擇清除排行榜功能,使得排行榜上的玩家姓名和玩家游戲記錄從系統(tǒng)中清除,只留下系統(tǒng)默認(rèn)的玩家名(player)和系統(tǒng)默認(rèn)記錄10次。第四章 總體設(shè)計4.1開發(fā)與設(shè)計的總體思想猜數(shù)字游戲是一種大眾娛樂游戲,開發(fā)與設(shè)計的重點在于游戲供玩家進(jìn)行猜數(shù)字游戲的原始數(shù)字的產(chǎn)生和用戶每次進(jìn)行猜數(shù)字操作之后的游戲提示,這兩方面的規(guī)則設(shè)計往往決定了軟件運(yùn)行的正確性和質(zhì)量。系統(tǒng)采用結(jié)構(gòu)化的設(shè)計方法進(jìn)行設(shè)計,采用c語言進(jìn)行開發(fā)。4.2系統(tǒng)模塊結(jié)構(gòu)圖 4.3模塊設(shè)計4.3.1游戲區(qū)模塊該模塊為玩家提供數(shù)字游戲的主體功能,由系統(tǒng)自動產(chǎn)生4個隨機(jī)排列的整數(shù),并給用戶
12、10次機(jī)會猜測數(shù)字的數(shù)值和排列順序。如果用戶在10次之內(nèi)沒有猜出正確的結(jié)果,則提示用戶游戲失敗,否則提示用戶猜數(shù)字的成功,并調(diào)用產(chǎn)生新紀(jì)錄模塊對玩家游戲成績進(jìn)行處理。該模塊有如下三個子功能。1. 產(chǎn)生原始數(shù)字:由系統(tǒng)產(chǎn)生四個隨機(jī)數(shù),并按任意順序排列,作為游戲的原始數(shù)字供玩家進(jìn)行猜數(shù)字游戲。2. 游戲提示:用如1a2b的形式提示玩家當(dāng)前猜數(shù)字的匹配情況,例如,1a表示玩家猜測的數(shù)字中有2個與系統(tǒng)產(chǎn)生的原始數(shù)字相符,并且位置也完全符合,2b表示玩家猜測的數(shù)字中有2個與系統(tǒng)產(chǎn)生的原始數(shù)字相符,但位置不符。用這種方式提示用戶對自己的猜測進(jìn)行調(diào)整。3. 原始數(shù)字顯示:當(dāng)用戶在10次之內(nèi)仍未能猜出正確的原
13、是數(shù)字和順序時,系統(tǒng)提示玩家失敗,并給玩家顯示出原始數(shù)字和順序。模塊功能樹如圖: 4.3.2排行榜模塊該模塊為玩家提供排行榜的瀏覽功能和清除功能,包括按玩家成績順序瀏覽、按玩家姓名瀏覽和清除排行榜3個子功能。1. 按玩家成績順序瀏覽子功能中,將玩家的姓名、游戲成績按猜數(shù)字次數(shù)從少到多的順序列表顯示,即將玩家記錄從高到低顯示。2. 按玩家姓名瀏覽的子功能中,為了玩家便于查找到自己的游戲成績,將玩家的姓名和猜數(shù)字次數(shù)記錄按照玩家姓名的字母表順序列表顯示。3. 清除排行榜:當(dāng)用戶選擇清除排行榜功能時,系統(tǒng)會將所有玩家的歷史游戲記錄和默認(rèn)玩家姓名player和系統(tǒng)默認(rèn)記錄10次。排行榜模塊功能樹如圖:
14、 4.3.3產(chǎn)生新紀(jì)錄模塊該模塊的功能是當(dāng)玩家成功完成游戲時,判斷用戶可否進(jìn)入排行榜,如果可以進(jìn)入,則刷新排行榜記錄,將當(dāng)前玩家的游戲記錄寫入排行榜,并將排行榜目前結(jié)果顯示給用戶。產(chǎn)生新紀(jì)錄模塊功能樹如圖: 4.3.4讀取最好記錄模塊讀取最好記錄模塊的主要功能是當(dāng)用戶選擇游戲開始選項時,首先提示用戶目前排行榜中的最好游戲記錄,如果目前沒有排行的玩家游戲,則初始化排行榜,給出系統(tǒng)默認(rèn)的玩家姓名和默認(rèn)的游戲記錄。如果目前排行榜中有玩家記錄,則判斷出最好記錄顯示給用戶。讀取游戲記錄模塊功能樹如圖: 4.3.5幫助模塊幫助模塊提供的功能是玩家選項為幫助功能對應(yīng)的選項數(shù)字時,進(jìn)入幫助模塊,給出用戶猜數(shù)字
15、的游戲規(guī)則和游戲中相關(guān)提示的含義。4.4系統(tǒng)流程描述系統(tǒng)的主體處理流程如圖所示: 4.5界面設(shè)計界面設(shè)計應(yīng)遵循簡潔美觀、方便易用的基本原則。4.5.1功能選擇界面設(shè)計充分考慮界面易于操作的系統(tǒng)需求,游戲控制和排行榜等功能需求采用類似于菜單的功能選擇方式實現(xiàn)。具體功能選擇界面設(shè)計效果圖如圖所示。 4.5.2游戲主體界面設(shè)計在游戲主體部分要提示用戶排行榜中的最高紀(jì)錄,并需要逐次提示用戶猜數(shù)字的結(jié)果和猜數(shù)字的次數(shù),主要保證提示準(zhǔn)確性和易讀性。具體設(shè)計效果如圖所示。 4.5.3排行榜界面設(shè)計排行榜的界面設(shè)計主要考慮到瀏覽排行榜時的清晰和可讀性,按成績?yōu)g覽和按玩家姓名瀏覽時都列表顯示,注重清晰易讀,具體
16、設(shè)計效果如圖所示。 4.5.4幫助界面設(shè)計幫助界面需要使玩家清晰了解游戲規(guī)則和系統(tǒng)使用方法,具體設(shè)計效果如圖所示。4.6數(shù)據(jù)結(jié)構(gòu)設(shè)計猜數(shù)字游戲軟件涉及到對玩家信息和排行榜的操作。為將玩家的姓名和游戲成績描述成一個玩家的兩個重要方面。使用c語言中的結(jié)構(gòu)體來描述。具體的數(shù)據(jù)結(jié)構(gòu)設(shè)計如下。/*player結(jié)構(gòu)體,存放玩家姓名和游戲成績*/typedef struct char name20; /*field of name*/ int score; /*filed of score*/player; 第五章 詳細(xì)設(shè)計基于系統(tǒng)需求分析和系統(tǒng)總體設(shè)計的結(jié)論,本系統(tǒng)采用wintc實現(xiàn)各模塊的功能,下面按照
17、模塊的劃分來分別闡述系統(tǒng)的詳細(xì)設(shè)計和實現(xiàn)過程。5.1游戲區(qū)模塊5.1.1模塊描述游戲區(qū)模塊是猜數(shù)字游戲軟件的核心部分。用戶進(jìn)入游戲區(qū)模塊后,系統(tǒng)會調(diào)用讀取最好記錄模塊的功能,向用戶顯示目前排行榜中的榜首玩家姓名和成績。之后,系統(tǒng)產(chǎn)生4個按任意順序排列的隨機(jī)數(shù),并提供玩家10次機(jī)會,提示玩家進(jìn)行猜數(shù)字過程,并在玩家每一次猜數(shù)字后都會給玩家當(dāng)前猜測結(jié)果的提示。提示用a表示位置和數(shù)值均正確,b表示數(shù)值正確但位置錯誤。當(dāng)玩家猜測次數(shù)超過10次,則提示玩家失敗,如在10次之內(nèi)猜出正確結(jié)果,則祝賀玩家并調(diào)用產(chǎn)生記錄模塊能否進(jìn)入排行榜。5.1.2源文件定義pmain.c 系統(tǒng)功能選擇界面。start.c 游
18、戲區(qū)功能,開始游戲和進(jìn)行游戲過程。score.h 玩家姓名和游戲成績結(jié)構(gòu)體定義。5.1.3函數(shù)聲明1void main( )函數(shù)功能:軟件執(zhí)行的入口,在函數(shù)所在的程序頭部包含了部分系統(tǒng)必需的頭文件和完成其他功能的源文件。在該函數(shù)中還提供了系統(tǒng)功能選擇的平臺,提示用戶系統(tǒng)可用的功能有哪些和這些功能的選項代碼。并給用戶提供了輸入功能選項代碼的接口,當(dāng)用戶輸入選項代碼后,即顯示給用戶相應(yīng)的功能處理界面或結(jié)果。輸入:用戶想要使用的系統(tǒng)功能的選項代碼。處理:1) 接受玩家輸入的選項代碼。2) 引導(dǎo)玩家進(jìn)入相應(yīng)的功能界面。輸出:1) 系統(tǒng)功能選擇平臺。2) 相應(yīng)的功能界面。程序清單:(具體代碼省略)pma
19、in.c/*pmain.c:系統(tǒng)功能選擇界面*/#include#include/*玩家結(jié)構(gòu)體類型頭文件*/#includescore.h/*開始和進(jìn)行游戲過程*/#includestart.c/*按游戲成績排序瀏覽排行榜*/#includesort.c/*幫助*/#includehelp.c/*按玩家姓名排序瀏覽排行榜*/#includesname.c/*清除排行榜*/#includeclear.cvoid main() . . . .程序清單:score.h#includestdio.h#include#include#include#define size 5typedef struct
20、 char 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)用讀取最好記錄模塊,提示用戶榜首玩家和成績。2) 產(chǎn)生4個按任意順序排列的隨機(jī)數(shù)。3) 循環(huán)獲取用戶輸入的猜測數(shù)字并逐次給出提示。4) 判斷玩家是否猜測成功。5) 失敗,則提示用戶。6) 成功,調(diào)用產(chǎn)生新
21、記錄模塊。輸出:1) 排行榜中榜首玩家和成績。2) 游戲提示,以a表示數(shù)值位置均正確,b表示數(shù)值正確位置不正確。3) 游戲失敗的提示。4) 游戲成功的提示。程序清單:start.c(與getnumber( )函數(shù)在同一程序清單中,與getnumber( )函數(shù)的程序清單一同列出)。3. getnumber( )函數(shù)功能:由系統(tǒng)產(chǎn)生4個按任意順序排列的隨機(jī)整數(shù)。輸入:無。處理:1) 調(diào)用隨機(jī)數(shù)初始化函數(shù)。2) 用rand函數(shù)產(chǎn)生隨機(jī)數(shù)。3) 將產(chǎn)生的隨機(jī)數(shù)取整并處理為一位數(shù)的整數(shù)。4) 將產(chǎn)生的隨機(jī)數(shù)存入變量中供猜數(shù)字游戲進(jìn)行判斷比較。輸出:無。程序清單:start.c(getnumber( )
22、和startprogram( )函數(shù)包含在此程序清單中)。#include#include#include#includereadrec.c#includereset.cint a5,b5,n1,n2,n3,i,j;/*n1計算位置數(shù)字相同的數(shù)字個數(shù)*/*n2計算數(shù)字相同但位置不相同的數(shù)字個數(shù)*/*n3計算所猜數(shù)字*/char ch;startprogram() . . . .getnumber()/*隨機(jī)產(chǎn)生4個數(shù)的函數(shù)*/ randomize();/*產(chǎn)生隨機(jī)數(shù)的初始化函數(shù)*/ for(i=1;i=1;j-) if(ai=aj)goto loop2; 5.2排行榜模塊5.2.1模塊描述排行
23、榜模塊主要供用戶對排行榜的瀏覽和清除。玩家可按照游戲分?jǐn)?shù)和玩家姓名兩種方式瀏覽排行榜,排序結(jié)果列表顯示到屏幕上。用選擇法對排行榜文件中的玩家游戲記錄進(jìn)行排序。當(dāng)對排行榜中的玩家姓名進(jìn)行排序并列表顯示時,要用到c語言提供的strcmp()函數(shù)進(jìn)行字符串大小的比較,從而將玩家姓名按字母表順序排列。strcmp()函數(shù)在c語言的string.h頭文件中定義。清除排行榜功能使系統(tǒng)中的排行榜記錄完全清除,只留下系統(tǒng)默認(rèn)的用戶名player和默認(rèn)的游戲成績10次。該功能的實現(xiàn)是通過文件的fwrite()函數(shù)實現(xiàn)的。用重新覆蓋的方式將系統(tǒng)默認(rèn)用戶名player和游戲成績10次寫入排行榜文件(文件名為reco
24、rd),將原來的5個排行榜記錄覆蓋掉即可完成清除排行榜的功能。5.2.2源文件定義sname.c 按玩家姓名字母表序列瀏覽排行榜。sort.c 按玩家游戲成績?yōu)g覽排行榜。clear.c 清除排行榜。5.2.3函數(shù)聲明1. void sortbyname( )函數(shù)功能:按玩家姓名字母表序瀏覽排行榜信息。列表顯示至頻幕。輸入:在系統(tǒng)功能選擇界面中輸入該功能的功能選項代碼。處理:1) 讀取排行榜文件。2) 將文件中排行記錄存入數(shù)組。3) 將數(shù)組中數(shù)據(jù)用選擇法排序。4) 將排序后數(shù)據(jù)重新寫入排行榜。5) 將排序好的文件列表輸出到屏幕。輸出:按成績排序好的排行榜列表。程序清單:(具體代碼省略)sname
25、.c/*sscore.c:按游戲成績排序*/#include”stdio.h”void sortbyname() . . . .2. voidsortbyscore( )函數(shù)功能:按玩家成績順序瀏覽排行榜信息,列表顯示至屏幕。輸入:在系統(tǒng)功能選擇界面中輸入該功能的功能選項代碼。處理:1) 讀取排行榜文件。2) 將文件中排行記錄存入數(shù)組。3) 將數(shù)組中數(shù)據(jù)用選擇法排序。4) 將排序后數(shù)據(jù)重新寫入排行榜。5) 將排序好的文件列表輸出到屏幕。輸出:按成績排序好的排行表列表。程序清單:與程序清單sname.c結(jié)構(gòu)類似(具體代碼省略)3. void clearsort( )函數(shù)功能:清除排行榜信息。輸入
26、:在系統(tǒng)功能選擇界面中輸入該功能的功能選項代碼。處理:1) 打開排行榜文件。2) 將系統(tǒng)默認(rèn)玩家player和成績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ìn)入排行榜。首先判斷排行榜中是否已有5名玩家,如果排行榜未滿,則當(dāng)前玩家直接上榜,如排行榜已滿,則將排行榜中的最后一名擠出排行榜。5.3.1源文件定義reset.c5.3.2函數(shù)聲明r
27、esetrecord(int n)函數(shù)功能:接收從start()函數(shù)傳遞過來的函數(shù)n,該參數(shù)代表用戶猜數(shù)字所用的次數(shù)。提示玩家輸入姓名,并判斷排行榜是否已滿。如未滿,則直接用追加的方法將該玩家的成績寫入排行榜。;如已有5個玩家,則判斷出成績最差的玩家;如當(dāng)前玩家成績好于最差成績,則將其替換為當(dāng)前玩家的姓名和游戲成績,從而使當(dāng)前玩家入榜,并使最差玩家落榜。最后輸出排行榜的當(dāng)前情況。輸入:1) start()函數(shù)傳遞的猜數(shù)字所用次數(shù)參數(shù)n。2) 玩家輸入的姓名。處理:1) 獲取玩家輸入的姓名。2) 從排行榜文件中讀取記錄。3) 判斷記錄是否等于5,即判斷排行榜是否已滿。4) 如排行榜未滿,則追加使
28、玩家入榜。5) 如排行榜已滿,判斷當(dāng)前成績是否好于最差成績。6) 如好于最差成績,則替換,使玩家入榜,最差玩家落榜。輸出:排行榜的當(dāng)前情況。程序清單:(具體代碼省略)reset.c/*產(chǎn)生新紀(jì)錄*/#includestdio.hresetrecord(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ù)功能:讀取排行榜中的
29、最好記錄,顯示給正要開始游戲的玩家。如果該軟件是第一次使用,還沒有排行榜,則調(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è)置初始的玩家player和初始記錄10次。輸入:無。處理:1) 創(chuàng)建排行榜文件。2) 寫入系統(tǒng)初始玩家player和成績10次。、輸出:無。程序清單:(具體代碼省略)readrec.c(見rea
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 供貨產(chǎn)品運(yùn)輸合同
- 項目合伙的協(xié)議書
- 買賣合同房屋買賣第三方合同
- 股權(quán)分配合作協(xié)議書
- 購買汽車融資租賃合同
- 護(hù)工合同協(xié)議書樣本
- 提高工作效率方案
- 解決方案-提高工作效率的舉措
- 新能源汽車動力電池研發(fā)合作協(xié)議
- 必修4 第一單元 唯物論-高中政治單元教學(xué)設(shè)計
- GB/T 6418-2008銅基釬料
- 熒光的猝滅解析課件
- 足球訓(xùn)練計劃 周
- 人教版小學(xué)美術(shù)六年級下冊全冊課件
- 戰(zhàn)略管理教學(xué)ppt課件(完整版)
- DB32-T 3129-2016適合機(jī)械化作業(yè)的單體鋼架塑料大棚 技術(shù)規(guī)范-(高清現(xiàn)行)
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter10 Hashing
- 藍(lán)色卡通風(fēng)學(xué)生班干部競選介紹PPT模板課件
- 人教新目標(biāo)英語九年級上冊單詞中文Units
- 機(jī)動車牌證申請表格模板(完整版)
- 部編版小學(xué)語文三年級(下冊)學(xué)期課程綱要
評論
0/150
提交評論