專業(yè)課程設計方案報告十點半游戲_第1頁
專業(yè)課程設計方案報告十點半游戲_第2頁
專業(yè)課程設計方案報告十點半游戲_第3頁
專業(yè)課程設計方案報告十點半游戲_第4頁
專業(yè)課程設計方案報告十點半游戲_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數據結構課程設計匯報設計題目:十點半游戲院系:經濟管理學院專業(yè)班級:電子商務-2班學生姓名:陳志勇、李琳、周敏指導老師:周長紅7月指導老師評語指導老師:年月日成績評定學號姓名任務分工成績陳志勇程序編寫李琳匯報撰寫周敏搜集資料目錄1.設計內容 11.1問題描述 11.2設計要求 11.3開發(fā)環(huán)境 11.4研究思緒 12.設計步驟 22.1需求分析 22.2概要設計 22.3具體設計 52.4調試分析 282.5測試結果 363.設計結果展示 543.1用戶手冊 543.2程序運行部分截圖 554.總結和心得體會 581.設計內容1.1問題描述一副撲克(除去王)第一輪玩者依次取一張牌。以后玩者依據自己牌總點數選擇繼續(xù)要牌或比較大小。(玩家能夠選擇不要牌,但一旦選擇不要牌,以后就不能要牌)玩家點數一旦超出10.5,不能再要牌。其中撲克牌中j、q、k全部算0.5點。假如牌總點數全部大于10.5或全部小于10.5,大者贏;假如一個大于10.5而另一個小于10.5,小于10.5者勝。1.2設計要求(1)由電腦隨機洗牌,并能夠輸入游戲玩家個數;(2)依據游戲玩家由電腦發(fā)牌,并由玩家輸入是否要牌;(3)依據規(guī)則自動判定勝敗。1.3開發(fā)環(huán)境Microsoftvisualc++6.01.4研究思緒十點半游戲這個題目關鍵包含以下多個關鍵點:電腦怎樣隨機洗牌,玩家怎樣要牌,全部玩家要牌結束后怎樣進行勝敗判定并輸出結果。在電腦隨機洗牌問題上,使用c語言中隨機函數rand()來實現,j=rand()%(52-i);取得隨機數,使電腦隨機換牌,達成洗牌目標。在玩家要牌時,首先要依據玩家已經有點數判定是不是能繼續(xù)要牌,在確保能夠繼續(xù)要牌條件下,問詢玩家是否要牌。當全部玩家全部停止要牌時,計算出每個玩家最終點數,然后進行比較,輸出結果。整個程序代碼由C語言編寫,在Microsoftvisualc++6.0環(huán)境下運行調試。2.設計步驟2.1需求分析游戲要求兩種模式:人機對戰(zhàn)和多人對戰(zhàn),并在多人對戰(zhàn)時能夠自由選擇玩家個數,最終程序依據規(guī)則自動判定勝敗。玩家依據提醒,輸入1或0和正確玩家個數來進行游戲,若輸入不符合要求,則會提醒“輸入錯誤!請重新輸入:”。在每一輪游戲開始時,電腦自動取得一副新牌,并完成隨機洗牌。依據玩家輸入,選擇對應模式進行游戲。人機對戰(zhàn)時,電腦能夠知道自己要拿到下一張牌是什么,然后判定是否要牌,以確保游戲中電腦絕對優(yōu)勢。游戲中,玩家或電腦每次拿牌后全部進行累加,方便判定是否能夠再要牌或讓玩家選擇是否要牌。在全部玩家全部不要牌了以后,程序開始比較各個玩家點數,得出獲勝者,最終輸出一輪游戲獲勝者。2.2概要設計程序中定義全部變量:全局變量intt;結構體變量structbookCard[52];結構體中intcolor;charnumber;floatnum;BuildShow子函數中intHuaSe[];floatDianShu[];charShuZi[];inti,j;GetCard子函數中intn,i,j,k,flag,flag2;floatsum_m,sum_c;structbookMan[52],Computer[52];DuoRen子函數中structbookMan[8][52];intn,i,m,a[8],k,flag[8],flag2,s,x;floatsum[8];Shuffle子函數中inti,j,hua;chardian;floatshu;主函數中intflag,n,x,s;intHuaSe[];floatDianShu[];charShuZi[];多種子函數:voidBuild_Show(intHuaSe[],floatDianShu[],charShuZi[]);/*建立一副新牌,并顯示給游戲者檢驗*/voidShuffle(void);/*洗牌*/voidGet_Card(intn);/*按次序發(fā)牌并公布結果*/voidDuoRen(intn);/*多人對戰(zhàn)*/voidstart()/*游戲界面*/voiddirection()/*游戲說明*/主函數步驟:主函數當中,當運行程序時就直接調用子函數start(),輸入開啟命令以后,0或1,全部會依次調用子函數Build_Show()和Shuffle(),然后依據輸入命令來調用下面子函數。假如輸入1就開始調用子函數Get_Card(n)開始游戲,假如輸入0就調用子函數direction()進入游戲說明界面。若是玩完一局以后,輸入0表示不玩了,然后輸入‘y’退出游戲。子函數間調用關系只有一個:Get_Card(n);函數調用DuoRen(intn)函數。開始開始定義變量并初始化start();輸入正確開啟命令依據開啟命令選擇優(yōu)異圖游戲介紹或直接開始游戲確定正確玩家個數direction();Get_Card(n);玩家選擇是否繼續(xù)游戲結束否是Shuffle();Build_Show(HuaSe,DianShu,ShuZi);2.3具體設計main()開始開始intflag,n,x,s;charp;intHuaSe[4]={3,4,5,6};charShuZi[13]={'A','K','Q','J','10','9','8','7','6','5','4','3','2'};floatDianShu[13]={1,0.5,0.5,0.5,10,9,8,7,6,5,4,3,2};start();輸出"為了避免陷入死循環(huán)麻煩中,請在本程序全部要輸入地方輸入數字,謝謝合作!\n\n";輸出"下面請按要求輸入1或0:\n";x<=1;x=0;輸入s;1結束61s!=1&&s!=01s!=1&&s!=0輸入"請重新輸入開啟命令,此時命令必需輸入為1或0:"輸入s;x++;Ys==0Ydirection();s==1NYBuild_Show(HuaSe,DianShu,ShuZi);Shuffle();輸出"\n請輸入玩家個數(1-8個):";輸入n;n>8||n<=0;輸出"玩家太多或人數錯誤,請重新輸入!"輸入n;Y2NN5n=1;n=1;n=2;n=4;n=3;n=7;n=8;n=6;n=5;輸出"你和電腦玩";輸出"你們兩個人玩玩";輸出"你們八個人玩玩";輸出"你們七個人玩玩";輸出"你們六個人玩玩";輸出"你們五個人玩玩";輸出"你們四個人玩玩";輸出"你們三個人玩玩";NNNNNNNYYYYYYYY23Get_Card(n);Get_Card(n);輸入"\n你還要玩嗎?輸入1表示要,輸入0表示不要:"fflush(stdin);輸入flag;flag!=1&&flag!=0;flag==1;YYNN輸出"確定不玩了嗎?輸入'y'退出游戲:";p=getchar();3444p=='y'||p=='Y';輸出"歡迎下次再來玩!謝謝";Ysystem("pause");exit(0);N65Build_show(intHuaSe[],floatDianShu[],charShuZi[])N開始N開始inti,j;intHuaSe[],floatDianShu[],charShuZi[];i=0;i<4;Yj=0;j<13;YCard[j+13*i].color=HuaSe[i];Card[j+13*i].number=ShuZi[j];Card[j+13*i].num=DianShu[j];j++;Ni++;輸出“這是一副新牌:”;i=0;j=0;i<52;Y輸出Card[i].color,Card[i].number;!(j%13);輸出”\n”;i++;j++;N結束Shuffle(void)開始開始inti,j,hua;chardian;floatshu;Srand((unsigned)time(NULL));i=0;i<52;Yj=rand()%(52-i);hua=Card[j].color;Card[j].color=Card[51-i].color;Card[51-i].color=hua;dian=Card[j].number;Card[j].number=Card[51-i].number;Card[51-i].number=dian;shu=Card[j].num;Card[j].num=Card[51-i].num;Card[51-i].num=shu;i++結束GetCard(intn)開始開始inti=0,j=0,k=0,flag=1,flag2=1,n,t;floatsum_m=0,sun_c=0;structbookMan[52],Computer[52];n==1;DuoRen();NYj=j+1;t=t+1;sum_m+=Man[j-1].num;t==52;輸出"這一副牌已經被拿光了,需要重新開局洗牌.";t=0;system("pause");exit(0);Man[j++]=Card[t++];113NYflag==1&&t<52;YN14(flag2==1&&i<52&&(sum_m<=10.5&&sum_c<=10.5&&(sum_c+Card[t].num)<=10.5||sum_m>10.5&&(sum_c+Card[t].num)>=sum_m))(flag2==1&&i<52&&(sum_m<=10.5&&sum_c<=10.5&&(sum_c+Card[t].num)<=10.5||sum_m>10.5&&(sum_c+Card[t].num)>=sum_m));t==52;輸出"這一副牌已經被拿光了,需要重新開局洗牌."t=0;system("pause");exit(0);1YNComputer[k++]=Card[t++];sum_c+=Computer[k-1].num;YN2flag=0;22輸出"你現在拿到牌為:";i<j;i=0;i++;輸出"%c%c",Man[i].color,Man[i].number);YN輸出"\n你現在拿到總點數為:sum_m\n";輸出"電腦現在拿到牌為:";i<k;i=0;i++;輸出"%c%c",Computer[i].color,Computer[i].number);YN3輸出"\n電腦現在拿到總點數為:sum_m\n";33t==52;輸出"這一副牌已經被拿光了,需要重新開局洗牌."t=0;system("pause");exit(0);YNsum_m<=10.5;fflush(stdin);輸入flag;輸出"你要牌嗎?輸入1表示要,輸入0表示不要:"flag!=1&&flag!=0;YNbreak;4YN44Computer[k++]=Card[t++];sum_c+=Computer[k-1].num;t==52;輸出"這一副牌已經被拿光了,需要重新開局洗牌."t=0;system("pause");exit(0);YNsum_c>10.5break;NY514Yflag2==1&&i<52&&(sum_m<=10.5&&sum_c<=10.5&&(sum_c+Card[t].num)<=10.5||sum_m>10.5&&(sum_c+Card[t].num)>=sum_m);55輸出"好,現在公布結果:"輸出"你現在拿到牌為:";i<j;i=0;i++;輸出"%c%c",Man[i].color,Man[i].number);輸出"\n你現在拿到總點數為:sum_m\n";輸出"電腦現在拿到牌為:";i<k;i=0;i++;輸出"%c%c",Computer[i].color,Computer[i].number);YYNN666輸出"\n電腦現在拿到總點數為:sum_m\n";(sum_m>10.5&&sum_c>10.5)||(sum_m<=10.5&&sum_c<=10.5)sum_m>sum_c輸出"O(∩_∩)O哈哈~,你竟然贏了電腦!人品爆發(fā)了!"t==52;輸出"這一副牌已經被拿光了,需要重新開局洗牌."t=0;system("pause");exit(0);8712YYNNYN88sum_m==sum_c輸出"╮(╯_╰)╭,和電腦打成了平手,你手氣確實不錯"t==52;輸出"這一副牌已經被拿光了,需要重新開局洗牌."t=0;system("pause");exit(0);109YNYN1010輸出"唉,你輸給了電腦!看來你真是臭手一只!"t==52;輸出"這一副牌已經被拿光了,需要重新開局洗牌."t=0;system("pause");exit(0);11YN1212sum_m<=10.5&&sum_c>10.5輸出"O(∩_∩)O哈哈~,你竟然贏了電腦!人品爆發(fā)了!"t==52;輸出"這一副牌已經被拿光了,需要重新開局洗牌."t=0;system("pause");exit(0);輸出"唉,你輸給了電腦!看來你真是臭手一只!"t==52;輸出"這一副牌已經被拿光了,需要重新開局洗牌."t=0;system("pause");exit(0);7191113結束YYYNNNDuoRen(intn)開始開始structbookMan[8][52];inti,m,a[8]={0},k=0,flag[8],flag2=1,s=0;floatsum[8]={0};i=0;i<n;輸出"\n第i+1個人拿牌\t";Man[i][a[i]++]=Card[k++];sum[i]+=Man[i][a[i]-1].num;flag[i]=1;輸出"第i+1個人手上牌為:\t"m=0;輸入Man[i][m].color,Man[i][m].number;m++;m<a[i];Y輸出"\n第i+1個人拿到總點數為:sum[i]\n"1YN13結束N1t==52;1t==52;輸出"這一副牌已經被拿光了,需要重新開局洗牌."t=0;system("pause");exit(0);YNflag2==1Yi=0;i<n;t==52YYflag2=0;break;Nflag[i]==1&&sum[i]<=10.523輸出"\n\n第i+1個人拿牌\t"NY578NN10933fflush(stdin);輸入flag[i];輸出"你要牌嗎?輸入1表示要,輸入0表示不要:"flag[i]!=1&&flag[i]!=0;輸出"你總點數為:sum[i]\n"YNflag[i]==1;Man[i][a[i]++]=Card[t++];sum[i]+=Man[i][a[i]-1].num;"第i+1個人手上牌為:\t";輸入Man[i][m].color,Man[i][m].number;m++;m<a[i];輸出"\n第i+1個人拿到總點數為:sum[i]\n"YN4NY64t==52;4t==52;YN輸出"這一副牌已經被拿光了,需要重新開局洗牌,以后請玩家們輸入'0',表示不能再要牌了!";65sum[i]>10.5;flag[i]=0;78s=0;i<n;i=0;s+=flag[i];i++;YNflag2=0;92YN輸出"\n\n好,現在公布結果:";輸出"\n\n好,現在公布結果:";i=0;i<n;"第i+1個人手上牌為:\t";輸入Man[i][m].color,Man[i][m].number;m++;m<a[i];輸出"\n第i+1個人拿到總點數為:sum[i]\n"m=0;YNi++;Y10intx=0;i=1;11Ni<n;i<n;11Y(sum[i]>10.5&&sum[x]>10.5)||(sum[i]<=10.5&&sum[x]<=10.5);Ysum[i]>sum[x];Yx=i;Nsum[i]==sum[x];Yx=i;i++;N12NN\i=1;i=1;12i<n;sum[i]==sum[x];輸出"這一副牌已經被拿光了,需要重新開局洗牌!";i++;sum[i]==sum[x];輸出"這一副牌已經被拿光了,需要重新開局洗牌!";t=0;system("pause");exit(0);YYYNNNi++;132.4調試分析第一次關鍵調試:主程序當中調用子函數次序出現錯誤,我們發(fā)覺一副牌洗好和輸入玩家以后,玩完一局,當它問還要玩嗎?我們發(fā)覺程序又洗了一把牌,又讓我們輸入玩家個數,這和傳統(tǒng)紙牌玩法不符,這么造成了只是一直不停在用洗好牌以后前幾張牌,顯然和實際玩法相差太大。錯誤程序以下:Build_Show(HuaSe,DianShu,ShuZi);/*建立一副新牌,并顯示給游戲者檢驗*/do{Shuffle();/*洗牌*/a:puts("\n請輸入玩家個數(1-8個):");scanf("%d",&n);Get_Card(n);/*發(fā)牌并公布結果*/do{puts("\n你還要玩嗎?輸入1表示要,輸入0表示不要:");fflush(stdin);scanf("%d",&flag);}while(flag!=1&&flag!=0);}while(flag==1);對錯誤進行分析后,改為:Build_Show(HuaSe,DianShu,ShuZi);/*建立一副新牌,并顯示給游戲者檢驗*/Shuffle();/*洗牌*/if(s==1) {puts("\n請輸入玩家個數(1-8個):"); scanf("%d",&n); while(n>8||n<=0) { puts("玩家太多或人數錯誤,請重新輸入!"); scanf("%d",&n); } do { Get_Card(n);/*發(fā)牌并公布結果*/ do { puts("\n你還要玩嗎?輸入1表示要,輸入0表示不要:"); fflush(stdin); scanf("%d",&flag); }while(flag!=1&&flag!=0); }while(flag==1);第二次關鍵調試:程序記牌抓到哪個地方功效出現了問題,造成在人機對戰(zhàn)時候,出現了電腦抓過牌又被人抓了一次,比如說:人牌為:2,4,A,3,5。電腦牌:6,4,A,3,5洗好牌次序為:2,6,4,A,3,5,也就是說從6開始以后不再交替抓牌了。錯誤程序以下:voidGet_Card(intn)/*按次序發(fā)牌并公布結果*/{if(n==1){while(flag==1&&i<52){Man[j++]=Card[i++];/*人先拿牌*/sum_m+=Man[j-1].num;/*累計人拿到總點數*/if(flag2==1&&i<52&&(sum_m<=10.5&&sum_c<=10.5&&(sum_c+Card[i].num)<=10.5||sum_m>10.5&&(sum_c+Card[i].num)>=sum_m))/*讓電腦能夠知道下一張牌,方便決定是否要牌*/{Computer[k++]=Card[i++];/*電腦拿牌*/sum_c+=Computer[k-1].num;/*累計電腦拿到總點數*/}elseflag=0;printf("\n");puts("你現在拿到牌為:");for(inti=0;i<j;i++)printf("%c%c",Man[i].color,Man[i].number);printf("\n你現在拿到總點數為:%f\n",sum_m);puts("電腦現在拿到牌為:");for(inti=0;i<k;i++)printf("%c%c",Computer[i].color,Computer[i].number);printf("\n電腦現在拿到總點數為:%f\n",sum_c);開始是以i記住牌抓到哪個地方,但因為后邊那個顯示結果for循環(huán)使i值小了1。對錯誤進行分析后,改為:intt=0;voidmain(){}在主函數之上加了一個全局變量t,用來記住牌抓到地方,把子函數部分要記住牌抓到什么地方換成用tl來表示。具體程序太多,就不再具體展示。比如:Man[j++]=Card[t++];Computer[k++]=Card[t++];第三次關鍵調試:我們搜索源碼,在多人對戰(zhàn)時候,最終只是把每個人最終持有牌是什么給展示出來,并沒有依據規(guī)則自動判定勝敗,顯然這是不符合程序要求,于是我們在DuoRen(intn)函數中,加上了多人判定勝敗代碼,具體代碼以下:intx=0; for(i=1;i<n;i++) { if((sum[i]>10.5&&sum[x]>10.5)||(sum[i]<=10.5&&sum[x]<=10.5)) { if(sum[i]>sum[x])x=i; } elseif(sum[i]<=10.5&&sum[x]>10.5)x=i; } for(i=0;i<n;i++) { if(sum[i]==sum[x]) printf("O(∩_∩)O~,第%d個人人品爆發(fā)獲勝!\n",i+1); }這段代碼相對簡單,只用到兩次循環(huán)。第一次循環(huán)用來判定獲勝點數是多少,比較規(guī)則同人機對戰(zhàn)相同,兩兩比較,將獲勝玩家序號統(tǒng)計下來,然后將獲勝玩家同下一個玩家進行比較,直到全部玩家全部比較結束。因為多人對戰(zhàn)最多可許可八個人同時進行游戲,所以在游戲中,存在玩家拿到總點數相同而同時獲勝情況。所以,進行第二次循環(huán),將每個玩家總點數和第一次循環(huán)中得到獲勝點數進行比較,假如相同就將該玩家獲勝信息輸出。這么,經過兩次循環(huán),就能夠將多人對戰(zhàn)游戲勝敗結果輸出。第四次關鍵調試:在程序當中,必需要有中止游戲功效,比如玩完一局以后不想玩了,要退出游戲,還有當一把牌被抓完了游戲善后處理功效,而正是因為游戲中止地方比較復雜也比較隨機,于是我們采取了比較通常方法來處理這一塊內容,拋棄了原先那種拍抓完以后又去抓原先洗那副牌,違反了玩牌規(guī)則,我們選擇了在牌抓完后,就中止程序。假如還想玩,就請重新開啟程序!即使此種方法操作性極低,但避免了因為違反玩牌規(guī)則而造成一把牌和一把牌之間銜接錯誤。玩完一局就不想玩了退出游戲程序:do { Get_Card(n);/*發(fā)牌并公布結果*/ do { puts("\n你還要玩嗎?輸入1表示要,輸入0表示不要:"); fflush(stdin); scanf("%d",&flag); }while(flag!=1&&flag!=0); }while(flag==1); printf("確定不玩了嗎?輸入'y'退出游戲:");getchar(); p=getchar();if(p=='y'||p=='Y') {puts("歡迎下次再來玩!謝謝");system("pause");exit(0);}拍抓完后處理程序:第一類:if(t==52){puts("這一副牌已經被拿光了,需要重新開局洗牌,以后請玩家們輸入'0',表示不能再要牌了!");}這個是出現在DuoRen()當中第人要牌抓牌地方,就是說上一個人恰好抓完最終一張牌,下一個人能夠采取輸入‘0’方法表示不能在要牌了,讓這一局順利完成下去,在勝敗結果輸出完以后再跳出程序,這么能夠確保這一局牌不浪費掉。第二類:if(t==52){puts("這一副牌已經被拿光了,需要重新開局洗牌!");t=0;system(“pause”);exit(0);}這類處理語句,在很多地方全部有出現,是在權衡程序處理利弊情況下,選擇讓其跳出程序,假如想玩就請重新開啟程序。第五次關鍵調試:此次調試關鍵是針對于圖形用戶界面方面操作,因為本小組組員編程水平有限,就只做出了這種類型,為了不讓程序顯得太過單調,我們就加上了一個初始游戲界面,即使不好看,但為了表現此程序是模擬了一個游戲,所以感覺有必需加上這一塊內容。關鍵代碼為:start();/*程序開啟后開始界面內容*/for(x=0;x<=1;x++) {scanf("%d",&s); while(s!=1&&s!=0){printf("請重新輸入開啟命令,此時命令必需輸入為1或0:");scanf("%d",&s);}Build_Show(HuaSe,DianShu,ShuZi);/*建立一副新牌,并顯示給游戲者檢驗*/ Shuffle();/*洗牌*/ if(s==0) direction();/*程序開啟后輸入‘0’進入游戲玩法說明界面*/if(s==1){} }第六次關鍵調試:剛開始受一個人機對戰(zhàn)這類程序啟發(fā),我們決定就是電腦不洗牌而是有電腦抽牌給玩家,這么就省掉了一部分代碼,不過以后發(fā)覺,這種由電腦抽牌給玩家算法很輕易抽到相同牌給不一樣玩家,要想處理這個問題,還要再設計一部分代碼來判定抽到牌是否是以前抽過牌,這么就又麻煩了,一直在想怎樣處理重牌問題,最終無果,以至于程序編寫停滯不前。以后仔細審了一下題干,最終還是要好好看看題干,不能急于編寫啊!必需要寫出這個洗牌函數,以后又一想還是必需根據玩牌部分潛在規(guī)則比很好,畢竟我們是在模擬紙牌游戲。思想就是把一副牌洗好以后,讓玩家來抓取,直到抓完。為了這個洗牌函數,可是下了一番功夫,多方查找了解資料最終弄出了一個令人滿意洗牌函數。關鍵代碼以下:voidShuffle(void){ inti,j,hua; chardian; floatshu;for(i=0;i<52;i++) { j=rand()%(52-i);/*隨機換牌,把牌次序打亂*/ hua=Card[j].color; Card[j].color=Card[51-i].color; Card[51-i].color=hua;dian=Card[j].number; Card[j].number=Card[51-i].number; Card[51-i].number=dian;shu=Card[j].num; Card[j].num=Card[51-i].num; Card[51-i].num=shu; }}2.5測試結果作為結果展示部分,為了表現程序結果,就沒有再改段落格式(1.5陪行距)。第一組:下面請按要求輸入1或0:0游戲說明歡迎大家來到十點半紙牌游戲,此游戲比較簡單,只要你含有百以內加減法就OK了。游戲玩法:按1開始游戲然后能夠依據需要,輸入要參與游戲人數。一副撲克,第一輪玩者依次取一張牌以后玩者依據自己牌點數選擇繼續(xù)要牌或比較大小玩家能夠選擇不要牌,但一旦選擇不要牌,以后就不能要牌了玩家點數一旦超出10.5,也不能再要牌。1.撲克牌當中j,q,k全部算0.5點,A算1點,其它就用紙牌本身上數字作為點數.2.假如牌點數全部大于或全部小于10.5,大者勝;假如一個大于10.5而另一個小于10.5,小于10.5者勝。相信你對于此游戲已經初步了解,試試你手氣吧!↖(^ω^)↗↖(^ω^)↗↖(^ω^)↗↖(^ω^)↗↖(^ω^)↗↖(^ω^)↗按1進入游戲1這是一副新牌:?A?K?Q?J?0?9?8?7?6?5?4?3?2?A?K?Q?J?0?9?8?7?6?5?4?3?2?A?K?Q?J?0?9?8?7?6?5?4?3?2?A?K?Q?J?0?9?8?7?6?5?4?3?2請輸入玩家個數(1-8個):1你和電腦玩你現在拿到牌為:?8你現在拿到總點數為:8.000000電腦現在拿到牌為:?K電腦現在拿到總點數為:0.500000你還要牌嗎?輸入1表示要,輸入0表示不要:0好,現在公布結果:你現在拿到牌為:?8你現在拿到總點數為:8.000000電腦現在拿到牌為:?K?7電腦現在拿到總點數為:7.500000O(∩_∩)O哈哈~,你竟然贏了電腦!人品爆發(fā)了!你還要玩嗎?輸入1表示要,輸入0表示不要:0確定不玩了嗎?輸入‘y’退出游戲:y歡迎下次再來玩!謝謝!請按任意鍵繼續(xù)……第二組:下面請按要求輸入1或0:1這是一副新牌:?A?K?Q?J?0?9?8?7?6?5?4?3?2?A?K?Q?J?0?9?8?7?6?5?4?3?2?A?K?Q?J?0?9?8?7?6?5?4?3?2?A?K?Q?J?0?9?8?7?6?5?4?3?2請輸入玩家個數(1-8個):2你們兩個人玩第1個人拿牌第1個人手上牌為:?5第1個人拿到總點數為:5.000000第2個人拿牌第2個人手上牌為:?8第2個人拿到總點數為:8.000000第1個人拿牌你總點數為:5.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第1個人手上牌為:?5?J第1個人拿到總點數為:5.500000第2個人拿牌你總點數為:8.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第2個人手上牌為:?5?Q第2個人拿到總點數為:8.500000第1個人拿牌你總點數為:5.500000你要牌嗎?輸入1表示要,輸入0表示不要:1第1個人手上牌為:?5?J?7第1個人拿到總點數為:12.500000第2個人拿牌你總點數為:8.500000你要牌嗎?輸入1表示要,輸入0表示不要:0好,現在公布結果:第1個人手上牌為:?5?J?7第1個人拿到總點數為:12.500000第2個人手上牌為:?5?Q第2個人拿到總點數為:8.500000O(∩_∩)O~,第2個人人品爆發(fā)獲勝!你還要玩嗎?輸入1表示要,輸入0表示不要:0確定不玩了嗎?輸入‘y’退出游戲:y歡迎下次再來玩!謝謝!請按任意鍵繼續(xù)……第三組:下面請按要求輸入1或0:1這是一副新牌:?A?K?Q?J?0?9?8?7?6?5?4?3?2?A?K?Q?J?0?9?8?7?6?5?4?3?2?A?K?Q?J?0?9?8?7?6?5?4?3?2?A?K?Q?J?0?9?8?7?6?5?4?3?2請輸入玩家個數(1-8個):5你們五個人玩第1個人拿牌第1個人手上牌為:?0第1個人拿到總點數為:10.000000第2個人拿牌第2個人手上牌為:?8第2個人拿到總點數為:8.000000第3個人拿牌第3個人手上牌為:?2第3個人拿到總點數為:2.000000第4個人拿牌第4個人手上牌為:?6第4個人拿到總點數為:6.000000第5個人拿牌第4個人手上牌為:?7第5個人拿到總點數為:7.000000第1個人拿牌你總點數為:10.000000你要牌嗎?輸入1表示要,輸入0表示不要:0第2個人拿牌你總點數為:8.000000你要牌嗎?輸入1表示要,輸入0表示不要:0第3個人拿牌你總點數為:2.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第3個人手上牌為:?2?5第3個人拿到總點數為:7.000000第4個人拿牌你總點數為:6.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第4個人手上牌為:?6?8第4個人拿到總點數為:14.000000第5個人拿牌你總點數為:7.000000你要牌嗎?輸入1表示要,輸入0表示不要:0第3個人拿牌你總點數為:7.000000你要牌嗎?輸入1表示要,輸入0表示不要:0好,現在公布結果:第1個人手上牌為:?Q第1個人拿到總點數為:10.000000第2個人手上牌為:?8第2個人拿到總點數為:8.000000第3個人手上牌為:?2?5第3個人拿到總點數為:7.000000第4個人手上牌為:?6?8第4個人拿到總點數為:14.000000第5個人手上牌為:?7第5個人拿到總點數為:7.000000O(∩_∩)O~,第1個人人品爆發(fā)獲勝!你還要玩嗎?輸入1表示要,輸入0表示不要:0確定不玩了嗎?輸入‘y’退出游戲:y歡迎下次再來玩!謝謝!請按任意鍵繼續(xù)……第四組:下面請按要求輸入1或0:1這是一副新牌:?A?K?Q?J?0?9?8?7?6?5?4?3?2?A?K?Q?J?0?9?8?7?6?5?4?3?2?A?K?Q?J?0?9?8?7?6?5?4?3?2?A?K?Q?J?0?9?8?7?6?5?4?3?2請輸入玩家個數(1-8個):8你們八個人玩第1個人拿牌第1個人手上牌為:?Q第1個人拿到總點數為:0.500000第2個人拿牌第2個人手上牌為:?A第2個人拿到總點數為:1.000000第3個人拿牌第3個人手上牌為:?8第3個人拿到總點數為:8.000000第4個人拿牌第4個人手上牌為:?4第4個人拿到總點數為:4.000000第5個人拿牌第5個人手上牌為:?2第5個人拿到總點數為:2.000000第6個人拿牌第6個人手上牌為:?5第6個人拿到總點數為:5.000000第7個人拿牌第7個人手上牌為:?K第7個人拿到總點數為:0.500000第8個人拿牌第8個人手上牌為:?9第8個人拿到總點數為:9.000000第1個人拿牌你總點數為:0.500000你要牌嗎?輸入1表示要,輸入0表示不要:1第1個人手上牌為:?Q?6第1個人拿到總點數為:6.500000第2個人拿牌你總點數為:1.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第2個人手上牌為:?A?6第2個人拿到總點數為:7.000000第3個人拿牌你總點數為:8.000000你要牌嗎?輸入1表示要,輸入0表示不要:0第4個人拿牌你總點數為:4.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第4個人手上牌為:?4?J第4個人拿到總點數為:4.500000第5個人拿牌你總點數為:2.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第5個人手上牌為:?2?7第5個人拿到總點數為:9.000000第6個人拿牌你總點數為:5.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第6個人手上牌為:?5?0第6個人拿到總點數為:15.000000第7個人拿牌你總點數為:0.500000你要牌嗎?輸入1表示要,輸入0表示不要:1第7個人手上牌為:?K?Q第7個人拿到總點數為:1.000000第8個人拿牌你總點數為:9.000000你要牌嗎?輸入1表示要,輸入0表示不要:0第1個人拿牌你總點數為:6.500000你要牌嗎?輸入1表示要,輸入0表示不要:1第1個人手上牌為:?Q?6?8第1個人拿到總點數為:14.500000第2個人拿牌你總點數為:7.000000你要牌嗎?輸入1表示要,輸入0表示不要:0第4個人拿牌你總點數為:4.500000你要牌嗎?輸入1表示要,輸入0表示不要:1第4個人呢手上牌為:?4?J?4第4個人拿到總點數為:8.500000第5個人拿牌你總點數為:9.000000你要牌嗎?輸入1表示要,輸入0表示不要:0第7個人拿牌你總點數為:1.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第7個人手上牌為:?K?Q?0第7個人拿到總點數為:11.000000第4個人拿牌你總點數為:8,500000你要牌嗎?輸入1表示要,輸入0表示不要:0好,現在公布結果:第1個人手上牌為:?Q?6?8第1個人拿到總點數為:14.500000第2個人手上牌為:?A?6第2個人拿到總點數為:7.000000第3個人手上牌為:?8第3個人拿到總點數為:8.000000第4個人手上牌為:?4?J?4第4個人拿到總點數為:8.500000第5個人手上牌為:?2?7第5個人拿到總點數為:9.000000第6個人手上牌為:?5?0第6個人拿到總點數為:15.000000第7個人手上牌為:?K?Q?0第7個人拿到總點數為:11.000000第8個人手上牌為:?9第8個人拿到總點數為:9.000000O(∩_∩)O~,第5個人人品爆發(fā)獲勝!O(∩_∩)O~,第8個人人品爆發(fā)獲勝!你還要玩嗎?輸入1表示要,輸入0表示不要:1第1個人拿牌第1個人手上牌為:?5第1個人拿到總點數為:5.000000第2個人拿牌第2個人手上牌為:?9第個人拿到總點數為:9.000000第3個人拿牌第3個人手上牌為:?A第3個人拿到總點數為:1.000000第4個人拿牌第4個人手上牌為:?J第4個人拿到總點數為:0.500000第5個人拿牌第5個人手上牌為:?4第5個人拿到總點數為:4.000000第6個人拿牌第6個人手上牌為:?9第6個人拿到總點數為:9.000000第7個人拿牌第7個人手上牌為:?0第7個人拿到總點數為:10.000000第8個人拿牌第8個人手上牌為:?J第8個人拿到總點數為:0.500000第1個人拿牌你總點數為:5.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第1個人手上牌為:?5?3第1個人拿到總點數為:8.000000第2個人拿牌你總點數為:9.000000你要牌嗎?輸入1表示要,輸入0表示不要:0第3個人拿牌你總點數為:1.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第3個人手上牌為:?A?9第3個人拿到總點數為:10.000000第4個人拿牌你總點數為:0.500000你要牌嗎?輸入1表示要,輸入0表示不要:1第4個人手上牌為:?J?6第4個人拿到總點數為:6.500000第5個人拿牌你總點數為:4.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第5個人手上牌為:?4?8第5個人拿到總點數為:12.000000第6個人拿牌你總點數為:9.000000你要牌嗎?輸入1表示要,輸入0表示不要:0第7個人拿牌你總點數為:10.000000你要牌嗎?輸入1表示要,輸入0表示不要:0第8個人拿牌你總點數為:0.500000你要牌嗎?輸入1表示要,輸入0表示不要:1第8個人手上牌為:?J?7第8個人拿到總點數為:7.500000第1個人拿牌你總點數為:8.000000你要牌嗎?輸入1表示要,輸入0表示不要:0第3個人拿牌你總點數為:10.000000你要牌嗎?輸入1表示要,輸入0表示不要:0第4個人拿牌你總點數為:6.500000你要牌嗎?輸入1表示要,輸入0表示不要:1第4個人手上牌為:?J?6?3第4個人拿到總點數為:9.500000第8個人拿牌你總點數為:7.500000你要牌嗎?輸入1表示要,輸入0表示不要:1第8個人手上牌為:?J?7?Q第8個人拿到總點數為:8.000000第4個人拿牌你總點數為:9.500000你要牌嗎?輸入1表示要,輸入0表示不要:0第8個人拿牌你總點數為:8.000000你要牌嗎?輸入1表示要,輸入0表示不要:1好,現在公布結果:第1個人手上牌為:?5?3第1個人拿到總點數為:8.000000第2個人手上牌為:?9第2個人拿到總點數為:9.000000第3個人手上牌為:?A?9第3個人拿到總點數為:10.000000第4個人手上牌為:?J?6?3第4個人拿到總點數為:9.500000第5個人手上牌為:?4?8第5個人拿到總點數為:12.000000第6個人手上牌為:?9第6個人拿到總點數為:9.000000第7個人手上牌為:?0第7個人拿到總點數為:10.000000第8個人手上牌為:?J?7?Q?8第8個人拿到總點數為:16.000000O(∩_∩)O~,第3個人人品爆發(fā)獲勝!O(∩_∩)O~,第7個人人品爆發(fā)獲勝!你還要玩嗎?輸入1表示要,輸入0表示不要:1第1個人拿牌第1個人手上牌為:?5第1個人拿到總點數為:5.000000第2個人拿牌第2個人手上牌為:?K第2個人拿到總點數為:0.500000第3個人拿牌第3個人手上牌為:?J第3個人拿到總點數為:0.500000第4個人拿牌第4個人手上牌為:?4第4個人拿到總點數為:4.000000第5個人拿牌第5個人手上牌為:?K第5個人拿到總點數為:0.500000第6個人拿牌第6個人手上牌為:?6第6個人拿到總點數為:6.000000第7個人拿牌第7個人手上牌為:?2第7個人拿到總點數為:2.000000第8個人拿牌第8個人手上牌為:?0第8個人拿到總點數為:10.000000第1個人拿牌你總點數為:5.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第1個人手上牌為:?5?7第1個人拿到總點數為:12.000000第2個人拿牌你總點數為:0.500000你要牌嗎?輸入1表示要,輸入0表示不要:1第2個人手上牌為:?K?7第2個人拿到總點數為:7.500000第3個人拿牌你總點數為:0.500000你要牌嗎?輸入1表示要,輸入0表示不要:1第3個人手上牌為:?J?A第3個人拿到總點數為:1.500000第4個人拿牌你總點數為:4.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第4個人手上牌為:?4?A第4個人拿到總點數為:5.000000第5個人拿牌你總點數為:0.500000你要牌嗎?輸入1表示要,輸入0表示不要:1第5個人手上牌為:?K?K第5個人拿到總點數為:1.000000第6個人拿牌你總點數為:6.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第6個人手上牌為:?6?3第6個人拿到總點數為:9.000000第7個人拿牌你總點數為:2.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第7個人手上牌為:?2?2第7個人拿到總點數為:4.000000第8個人拿牌你總點數為:10.000000你要牌嗎?輸入1表示要,輸入0表示不要:0第2個人拿牌你總點數為:7.500000你要牌嗎?輸入1表示要,輸入0表示不要:0第3個人拿牌你總點數為:1.500000你要牌嗎?輸入1表示要,輸入0表示不要:1第3個人手上牌為:?J?A?2第3個人拿到總點數為:3.500000第4個人拿牌你總點數為:5.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第4個人手上牌為:?4?A?Q第4個人拿到總點數為:5.5000000第5個人拿牌你總點數為:1.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第5個人手上牌為:?K?K?5第5個人拿到總點數為:6.000000第6個人拿牌你總點數為:9.000000你要牌嗎?輸入1表示要,輸入0表示不要:0第7個人拿牌你總點數為4.000000你要牌嗎?輸入1表示要,輸入0表示不要:1第7個人手上牌為:?5?7: 第7個人拿到總點數為:7.000000這一副牌已經被拿光了,需要重新開局洗牌,以后請玩家們輸入‘0’,表示不能要牌了!好,現在公布結果:第1個人手上牌為:?5?7第1個人拿到總點數為:12.000000第2個人手上牌為:?K?7第2個人拿到總點數為:7.500000第3個人手上牌為:?J?A?2第3個人拿到總點數為:3.500000第4個人手上牌為:?4?A?Q第4個人拿到總點數為:5.500000第5個人手上牌為:?K?K?5第5個人拿到總點數為:6.000000第6個人手上牌為:?6?3第6個人拿到總點數為:9.000000第7個人手上牌為:?2?2?3第7個人拿到總點數為:7.000000第8個人手上牌為:?0第8個人拿到總點數為:10.000000O(∩_∩)O~,第8個人人品爆發(fā)獲勝!這一副牌已經被拿光了,需要重新開局洗牌!請按任意鍵繼續(xù)…3.設計結果展示3.1用戶手冊十點半游戲是一個經典撲克牌游戲,游戲思想簡單,玩家只需掌握一百以內加減法運算,就可輕松玩轉游戲。游戲鍛煉了玩家

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論