《C語言課程設(shè)計(jì) 21點(diǎn)游戲設(shè)計(jì)》由會員分享,可在線閱讀,更多相關(guān)《C語言課程設(shè)計(jì) 21點(diǎn)游戲設(shè)計(jì)(5頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、 C語言課程設(shè)計(jì)題 目:程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)班 級:姓 名:指導(dǎo)教師:所屬系部:電子科學(xué)與技術(shù)系2009年 6 月24 日 21點(diǎn)游戲設(shè)計(jì)1 游戲規(guī)則此游戲,原則上是可以由不限定的人數(shù)來玩,但是隨著參與人數(shù)的增加,在最后成績的比較方面會比較的繁瑣,不像兩個人之間的比賽結(jié)果那么明顯,所以也應(yīng)該將參與人數(shù)控制在一定的范圍之內(nèi)。確定參與人數(shù)后,系統(tǒng)會隨機(jī)為每個人發(fā)三張牌,然后計(jì)算這三張牌的和進(jìn)行比較。如果這三張牌的和大于21,則此人將會輸?shù)舯荣?,除非其他人的和也大?1(即假若每個人的三張牌的和都大于21時,該局為平局,打成平手)。如果有的和大于21,有的和小于21,則大于21的人輸?shù)舯荣?,再比較小
2、于21的部分,誰的三張牌的和最接近21,則誰是該局的贏家。一局玩完后,玩者可以根據(jù)自己情況進(jìn)行選擇是否要再玩一局。若選擇再玩時,系統(tǒng)會再進(jìn)行下一次的循環(huán)。2 程序算法由系統(tǒng)隨機(jī)產(chǎn)生幾組隨機(jī)數(shù),每組3個隨機(jī)數(shù)。計(jì)算每一組的三個隨機(jī)數(shù)的和。 比較每組和的大小。得出比賽結(jié)果3 關(guān)鍵算法流程圖總體框架開始開始Flag=1Y產(chǎn)生隨機(jī)數(shù),求和,比較,得結(jié)果C =Y輸入字符 CY結(jié)束N4 程序代碼/* Note:Your choice is C IDE */#include #include #include #define N 5main( )int i,t,flag, j,m;int b8,a3*N;
3、char c;b1=0;flag=1;while (flag) /控制循環(huán)srand(time(NULL); /scanf(%d,&j); /用j控制組數(shù)for(t=0;t3*j;t+) /產(chǎn)生幾組隨機(jī)數(shù)if (t%3=0)printf(n);at=rand()%13+1;printf(%5d,at); printf(n);for(i=1;i=j;i+) /求每組隨機(jī)數(shù)的和 for(t=3*(i-1);t3*i;t+) bi=bi+at; printf(b%d=%dn,i,bi); bi+1=0; printf(n); for(t=1;tj;t+) /對和的大小進(jìn)行排序 for(i=1;ibi
4、+1) m=bi+1; bi+1=bi; bi=m; for (i=1;i=j;i+) printf(%5d,bi); printf(n); for (i=1;i21) printf(這一局為第%d個人贏n是否再玩一局,若輸入Y則繼續(xù)游戲,輸入N結(jié)束游戲n,i-1); getchar(); /與while語句是一個系統(tǒng) c=getchar(); if(c=Y) flag=1; else flag=0; 5 在程序設(shè)計(jì)中,出現(xiàn)的問題和解決方案: 由于是多組數(shù)據(jù)之間的比較,首先在同時產(chǎn)生幾組隨機(jī)數(shù)時遇到障礙,產(chǎn)生隨機(jī)數(shù)的代碼是從網(wǎng)上搜索得到的,再加上一些修改,達(dá)到所需的要求,同時有一些小的細(xì)節(jié)是在
5、老師幫助下完成的。對于多組數(shù)據(jù)的處理有些麻煩,首先要依次求和,在求和過程中要注意細(xì)節(jié)問題。對于多組數(shù)據(jù)的比較,最終只能先排序,然后得出結(jié)論,這一個程序是比較繁雜的。本程序的不足在于最終結(jié)果表達(dá)不直接,應(yīng)再加一些程序讓玩者更加清晰明了。6 體會:本次程序是一個繁瑣的過程,是在多次修改加上老師的指導(dǎo)的基礎(chǔ)上才完成的。通過本次實(shí)驗(yàn),我認(rèn)識到要想完成一件事需要一次次地嘗試,一次次地修改,然后再進(jìn)行試驗(yàn)。在修改的工程中,要反復(fù)思考問題出在何處,要慢慢的找尋,一點(diǎn)點(diǎn)的排除,在老師為我講解時我也感受到老師做事的毅力。做任何事都要一點(diǎn)點(diǎn)的,腳踏實(shí)地的去做。本次程序設(shè)計(jì)雖然不算完滿,但都是自己一點(diǎn)點(diǎn)做出來的,還是有很大收獲的。