擲骰子游戲設(shè)計(jì)需求分析

擲骰子游戲設(shè)計(jì)需求分析

ID:9416832

大?。?6.50 KB

頁數(shù):14頁

時(shí)間:2018-04-30

擲骰子游戲設(shè)計(jì)需求分析_第1頁
擲骰子游戲設(shè)計(jì)需求分析_第2頁
擲骰子游戲設(shè)計(jì)需求分析_第3頁
擲骰子游戲設(shè)計(jì)需求分析_第4頁
擲骰子游戲設(shè)計(jì)需求分析_第5頁
資源描述:

《擲骰子游戲設(shè)計(jì)需求分析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、C++課程設(shè)計(jì)目錄一、擲骰子游戲設(shè)計(jì)需求分析…………………………1二、類關(guān)系圖和類成員函數(shù)……………………………3三、模塊的設(shè)計(jì)分析……………………………………4四、存在的問題與不足及總結(jié)…………………………7五、使用說明(操作手冊(cè))……………………………8六、程序源代碼…………………………………………913C++課程設(shè)計(jì)一擲骰子游戲設(shè)計(jì)需求分析一、擲骰子游戲需求:1、假如有n個(gè)學(xué)生排成一圈,編號(hào)從1到n,每個(gè)人有初始積分,不防設(shè)為100。2、從1號(hào)開始擲骰子,骰子出現(xiàn)后,根據(jù)點(diǎn)數(shù)減去擲骰人的相應(yīng)積分,如減去10*(6-點(diǎn)數(shù)

2、),然后根據(jù)點(diǎn)數(shù)多少,就依次向后數(shù)擲骰的點(diǎn)數(shù)同等數(shù)量的人,被數(shù)到的最后一個(gè)人繼續(xù)擲骰子,計(jì)算積分,依此類推。3、如果某人擲骰后,其積分小于等于0則出列,余下的人繼續(xù)按照此法進(jìn)行游戲,直到剩下最后一個(gè)人,為勝利者。4、要求打印每次出列的人的編號(hào),擲骰子的次數(shù),當(dāng)前積分。并打印最后勝利者的相應(yīng)信息。5、要求用環(huán)鏈表以及類來實(shí)現(xiàn)這個(gè)程序。6、選做:?jiǎn)枖S骰m次后,還剩下幾個(gè)人積分多少,顯示出來。二、游戲?qū)崿F(xiàn)方式:13C++課程設(shè)計(jì)為了實(shí)現(xiàn)游戲的上述功能,在整個(gè)程序的設(shè)計(jì)中構(gòu)造了一個(gè)游戲類(classplayer)。下面是游戲類(cl

3、assplayer)的成員函數(shù)實(shí)現(xiàn)的功能:1、成員函數(shù)Player(char*pName,intid)用于儲(chǔ)存參賽者的姓名和他們的編號(hào);2、成員函數(shù)Player::Integral(intnumber)用于計(jì)算參賽者的當(dāng)前積分和擲骰子的次數(shù)。3、成員函數(shù)Player::Initial()用于創(chuàng)建參賽者的鏈表。4、成員函數(shù)Player::Game()用于判斷是否要有參賽者出列并記錄當(dāng)前參賽者的信息和擲骰子的次數(shù)、點(diǎn)數(shù)。5、成員函數(shù)Display()用于打印本次游戲打印每次出列的人的編號(hào),擲骰子的次數(shù)和最后勝利者的相應(yīng)信息。二類

4、關(guān)系圖和類主要成員函數(shù)和成員變量13C++課程設(shè)計(jì)Player類code;countscorename[20]numOfPlayerPlayer*head;Player*next;Player()Integral()Display()~Player()Initial()Game()code//每位參賽者的編號(hào)count//每位參賽者擲骰子的次數(shù)score//參賽者的積分name[20]//參賽者的姓名numOfPlayer//參加游戲總?cè)藬?shù)13C++課程設(shè)計(jì)三模塊的設(shè)計(jì)分析1.游戲類(classPlayer)的說明1).構(gòu)造

5、函數(shù)Player(char*pName,intid)用于儲(chǔ)存參賽者的姓名和他們的編號(hào);Player::Player(char*pName,intid){code=id;score=100;count=0;strcpy(name,pName);}先是從程序中輸入?yún)①愓呷藬?shù),通過DOS屏幕的提示依次輸入?yún)①愓叩男彰到y(tǒng)會(huì)自動(dòng)給參賽者編號(hào),而這些信息由構(gòu)造函數(shù)Player儲(chǔ)存。2).Player::Integral(intnumber)用于計(jì)算參賽者的當(dāng)前積分和擲骰子的次數(shù)。Player::~Player(){Player*t;

6、Player*p=head;for(inti=1;i<=numOfPlayer;i++){t=p;if(i!=numOfPlayer){p=p->next;}deletet;}}intPlayer::Integral(intnumber){count=count+1;score-=(6-number)*10;if(score<=0)return0;elsereturn1;}通過構(gòu)造函數(shù)Integral()來計(jì)算參賽者的當(dāng)前積分和擲骰子的次數(shù)。另外該函數(shù)被后面的Game()函數(shù)調(diào)用,用于判斷是否有參賽者出列。3).析構(gòu)函數(shù)Pl

7、ayer::~Player()。因?yàn)榉峙淞硕褍?nèi)存,所以當(dāng)程序結(jié)束時(shí)要把空間給釋放。13C++課程設(shè)計(jì)4).Player::Initial()用于創(chuàng)建參賽者的鏈表。Player*ps;//創(chuàng)建的結(jié)點(diǎn)指針Player*pend;//鏈尾指針,用于在其后面插入結(jié)點(diǎn)Player::Initial(){intid;intm;Player*ps;Player*pend;while(1){cout<<"下面請(qǐng)輸入?yún)①愓呷藬?shù):";cin>>m;numOfPlayer=m;for(id=1;id<=m;id++){cout<<"請(qǐng)輸入"<

8、d<<"號(hào)參賽者的姓名:";charpName[20];cin>>pName;ps=newPlayer(pName,id);if(head==NULL)head=ps;elsepend->next=ps;pend=ps;cout<

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。