第一篇:C程序設(shè)計(jì) 24點(diǎn)小游戲
1設(shè)計(jì)內(nèi)容
有2、3、4、5、6、7、8、9、10、J、Q、K、A共13張牌,編一程序,判斷對(duì)任意給定的4張牌,能否在進(jìn)行加、減、乘、除運(yùn)算后,其運(yùn)算結(jié)果等于24。其中J按11計(jì)算,Q按12計(jì)算,K按13計(jì)算,A按1計(jì)算。如果能得到結(jié)果24,則輸出可得到該結(jié)果的計(jì)算表達(dá)式。
若輸入數(shù)據(jù)符合要求,且經(jīng)過(guò)加、減、乘、除運(yùn)算后,運(yùn)行結(jié)果能得到24,如輸入5,5,5,1,則顯示可得到該結(jié)果的計(jì)算表達(dá)式,如5*(5-(1/5))。
若輸入數(shù)據(jù)小于1或者大于13或者不是整數(shù)時(shí),提示輸入錯(cuò)誤。若輸入不能運(yùn)算出24的數(shù)據(jù),如1,1,1,1,則顯示經(jīng)過(guò)加、減、乘、除運(yùn)算后,運(yùn)行結(jié)果不能得到24。
2程序設(shè)計(jì)
2.1存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)
由于要儲(chǔ)存的數(shù)據(jù)不多,主要是儲(chǔ)存所輸入的4個(gè)整數(shù),所以采用一維數(shù)組(a[4])儲(chǔ)存。而計(jì)算過(guò)程會(huì)出現(xiàn)小數(shù),所以數(shù)據(jù)類(lèi)型采用浮點(diǎn)型(float)。
2.2主要程序設(shè)計(jì)
程序采用窮舉法,對(duì)輸入的4個(gè)數(shù)進(jìn)行排列,有 4!=24種。用for來(lái)循環(huán),if來(lái)判斷,算法如下。for(i=0;i<4;i++)for(j=0;j<4;j++)if(j!=i)for(k=0;k<4;k++)if(k!=j && k!=i)for(l=0;l<4;l++)if(l!=i && l!=j && l!=k){ calculate(a[i],a[j],a[k],a[l]);}
用if來(lái)判斷括號(hào)的類(lèi)型,然后作出不同順序的運(yùn)算。括號(hào)有兩對(duì),主要有兩種類(lèi)型:一種是()()型,如(a+b)*(c+d);另一種是(())型,繼續(xù)細(xì)分又有
種類(lèi)型,如下a*(b*(c+d)),(a*(b+c))*d,a*((b+c)*d),((a+b)*c)*d。算法如下 if((!(i==3 && b==0))&&(!(j==3 && c==0))&&(!(k==3 && d==0))){ sum1=arithmetic(i,a,b);sum2=arithmetic(j,sum1,c);sum3=arithmetic(k,sum2,d);} if(k==2){ sum1=arithmetic(i,a,b);sum2=arithmetic(j,c,d);sum3=sum1*sum2;} if(k==3){ sum1=arithmetic(i,a,b);sum2=arithmetic(j,c,d);if(sum2!=0){ sum3=sum1/sum2;} } 在輸入方面,按要求,數(shù)據(jù)類(lèi)型是 1 至13 的整數(shù),符合則進(jìn)行運(yùn)算,不符合則重新輸入。用if語(yǔ)句來(lái)實(shí)現(xiàn),如下 if(a[i]<1 || a[i]>13 || a[i]!=int(a[i]))
在輸出方面,運(yùn)算結(jié)果等于 24就輸出,利用調(diào)用的參數(shù)判斷輸出形式,有5種:(a+b)*(c+d),a*(b*(c+d)),(a*(b+c))*d,a*((b+c)*d),((a+b)*c)*d。算法如下:
void show(int type,int i,int j,int k,float a,float b,float c,float d){ if(type==1){
if(j==4 || j==5){
if(k==4 || k==5)
cout< else cout<<“(”< else if(k==4 || k==5) cout< } else cout<<“((”< } if(type==2 || type==3){ cout<<“(”< 程序流程框圖如圖2-3所示: 圖2-3 3程序調(diào)試 3.1測(cè)試用例 開(kāi)始運(yùn)行時(shí)的頁(yè)面如圖4-1所示: 圖4-1 首先,測(cè)試程序能不能運(yùn)算出正確的結(jié)果,輸入數(shù)據(jù)6,6,6,6,出現(xiàn)了44組符合要求的解,如圖4-2所示。 接著輸入數(shù)據(jù)2,9,7,14,提示輸入錯(cuò)誤,重新輸入2,7,5,13,能得到正確運(yùn)行結(jié)果,如圖4-2所示。 輸入4,9,11,13,不能運(yùn)算得到24,顯示“你所輸入的數(shù),經(jīng)過(guò)四則運(yùn)算后,不等于24點(diǎn)”,如圖4-3所示。 輸入5,5,5,1,這組數(shù)據(jù)要運(yùn)算得到24,一定會(huì)出現(xiàn)小數(shù),因?yàn)橹挥幸环N運(yùn)算,即5*(5* /“ 4個(gè)運(yùn)算符號(hào)選3個(gè),有4*4*4=64種 for(j=0;j<6;j++) // 3種運(yùn)算符排列 有 3!=6 種 for(k=0;k<6;k++) { if((!(i==3 && b==0))&&(!(j==3 && c==0))&&(!(k==3 && d==0)))// 括號(hào)的類(lèi)型為(()){ // 3為做除法運(yùn)算的標(biāo)志,除數(shù)為 0 時(shí),跳過(guò) = = sum1=arithmetic(i,a,b); //a,b做 以 i 為標(biāo)志的運(yùn)算,然后把值賦給sum1 sum2=arithmetic(j,sum1,c);//sum1,c做 以 j 為標(biāo)志的運(yùn)算,然后把值賦 給sum2 sum3=arithmetic(k,sum2,d);//sum2,d做 以 k 為標(biāo)志的運(yùn)算,然后把值賦給sum3 if(fabs(sum3-24)<0.001)//判斷能否運(yùn)算出24,出現(xiàn)小數(shù)時(shí),能夠包含在內(nèi) { check++; //標(biāo)志能運(yùn)算出24 show(1,i,j,k,a,b,c,d);// 輸出運(yùn)算出 24 的表達(dá)式 } } if(k==2)//()*() { sum1=arithmetic(i,a,b);//a,b做 以 i 為標(biāo)志的運(yùn)算,然后把值賦給sum1 sum2=arithmetic(j,c,d);//sum1,c做 以 j 為標(biāo)志的運(yùn)算,然后把值賦給sum2 sum3=sum1*sum2; if(fabs(sum3-24)<0.001)//出現(xiàn)小數(shù)時(shí),能夠包含在內(nèi) { check++; //標(biāo)志能運(yùn)算出24 show(2,i,j,k,a,b,c,d);// 輸出運(yùn)算出 24 的表達(dá)式 } } if(k==3)// 括號(hào)的類(lèi)型為()() { sum1=arithmetic(i,a,b);//sum1,c做 以 j 為標(biāo)志的運(yùn)算,然后把值賦給sum2 sum2=arithmetic(j,c,d);//sum1,c做 以 j 為標(biāo)志的運(yùn)算,然后把值賦給sum2 if(sum2!=0) { sum3=sum1/sum2; if(fabs(sum3-24)<0.001)//出現(xiàn)小數(shù)時(shí),能夠包含在內(nèi) { check++; //標(biāo)志能運(yùn)算出24 show(3,i,j,k,a,b,c,d); // 輸出運(yùn)算出 24 的表達(dá)式 } } } } } void main(){ int i,j,k,l,m=0; float a[4]; //儲(chǔ)存所輸入的 4個(gè) 整數(shù) while(m==0){ m=1; cout<< ”請(qǐng)輸入4 個(gè) 1--13 的整數(shù):“< for(i=0;i<4;i++){ cin>>a[i]; if(a[i]<1 || a[i]>13 || a[i]!=int(a[i]))//判斷是否為符合要求的整數(shù) { if(m!=0){ } cout<<”輸入錯(cuò)誤,請(qǐng)重新輸入!“< m=0;} } for(i=0;i<4;i++) //4的排列 4!=24,每中情況調(diào)用calculate for(j=0;j<4;j++) if(j!=i) //第2數(shù)和第1個(gè)數(shù)不能重復(fù) for(k=0;k<4;k++) if(k!=j && k!=i)//第3數(shù)和第1,2個(gè)數(shù)不能重復(fù) for(l=0;l<4;l++) if(l!=i && l!=j && l!=k)//第4數(shù)和第1,2,3個(gè)數(shù)不能重復(fù) { calculate(a[i],a[j],a[k],a[l]);//調(diào)用calculate函數(shù),進(jìn)行進(jìn)行加、減、乘、除運(yùn)算 } } if(check==0)//不能運(yùn)算出24 { cout<<”你所輸入的數(shù),經(jīng)過(guò)四則運(yùn)算后,不等于24點(diǎn)"< 程序設(shè)計(jì)實(shí)驗(yàn) 大作業(yè) 成績(jī): 學(xué)院:班級(jí):學(xué)號(hào):指導(dǎo)老師:姓名:實(shí)驗(yàn)項(xiàng)目名稱(chēng):猜數(shù)字游戲 一、實(shí)驗(yàn)要求 根據(jù)所學(xué)知識(shí)編寫(xiě)一個(gè)小游戲--猜數(shù)字游戲 二、實(shí)驗(yàn)?zāi)康臑榱思由顚?duì)編程課程的基本知識(shí)的理解和掌握,并且掌握編程和程序調(diào)試的技巧通過(guò)程序的設(shè)計(jì)訓(xùn)練和提高學(xué)生的基本技能,掌握字符串的表示方法和字符串函數(shù)的功能、編程軟件操作的基本知識(shí)、鍵盤(pán)上特殊鍵的獲取以及圖形方式下光標(biāo)的顯示,提高編程興趣與編程水平,學(xué)會(huì)如何正確的書(shū)寫(xiě)程序設(shè)計(jì)說(shuō)明文檔,提高解決實(shí)際問(wèn)題的能力,鞏固語(yǔ)法規(guī)則的理解和掌握,學(xué)會(huì)通過(guò)源程序?qū)懗隽鞒虉D,提高自學(xué)以及查閱資料的能力。 三、功能模塊分析 1.系統(tǒng)能夠隨機(jī)產(chǎn)生一個(gè)1到1000的數(shù)字 2.比較輸入數(shù)字與隨機(jī)產(chǎn)生數(shù)字的大小 3.選擇是否繼續(xù)游戲 四、修改處 1.將輸出內(nèi)容由英文變?yōu)闈h字 2.改變背景及輸出字體的顏色將隨機(jī)產(chǎn)生的數(shù)值范圍由1-100變?yōu)?-1000 四、設(shè)計(jì)思路 # include # include # include main() {void textbackground(int color); system(“color fc”); int a,b; char c; srand(time(NULL)); a=1+(rand()%1000); printf(“這有一個(gè)數(shù)字從1到1000.n你能猜出它嗎?n輸入你猜的數(shù)字.n”);scanf(“%d”,&b); while(b!=-1) { if(b==a) { printf(“恭喜你猜對(duì)了!n你喜歡再玩一遍嗎?(y or n)?”); scanf(“%c”,&c); scanf(“%c”,&c); switch(c){ case 'y': printf(“這有一個(gè)數(shù)字.n你能猜出它嗎?n輸入你猜的數(shù)字.n”);scanf(“%d”,&b); break; case 'n': break; } } while(b { printf(“低了,再試一次.”); scanf(“%d”,&b); } while(b>a) { printf(“高了,再試一次.”); scanf(“%d”,&b); } } } 未修改前截圖 更改后截圖 四、體會(huì)心得 通過(guò)本次試驗(yàn)我見(jiàn)識(shí)到了C語(yǔ)言的重要性和我在程序設(shè)計(jì)方面的不足,讓我了解到要把書(shū)本知識(shí)轉(zhuǎn)換為可以實(shí)際操作的東西是需要扎實(shí)的理論基礎(chǔ)和嚴(yán)謹(jǐn)?shù)倪壿嬎季S的,同時(shí)我也發(fā)現(xiàn)了平時(shí)很多沒(méi)有注意到的問(wèn)題,彌補(bǔ)了我C語(yǔ)言方面的不足,在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,這畢竟第一次做的,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,通過(guò)實(shí)踐的學(xué)習(xí),我認(rèn)識(shí)到學(xué)好計(jì)算機(jī)要重視實(shí)踐操作 Java程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告 班級(jí): 學(xué)號(hào): 姓名: 實(shí)驗(yàn)題目:猜拳小游戲 實(shí)驗(yàn)要求: 用java編寫(xiě)一個(gè)人機(jī)對(duì)戰(zhàn)的猜拳小游戲。人選擇性出拳,電腦隨機(jī)出拳,判斷輸贏,記錄輸贏情況。有簡(jiǎn)單的操作界面。 實(shí)驗(yàn)內(nèi)容: 1、問(wèn)題分析過(guò)程: (1)首先分析猜拳游戲本身的玩法: 人選擇性出拳,電腦隨機(jī)出拳,判斷輸贏,記錄輸贏情況。(2)用面向?qū)ο蟮乃枷雭?lái)分析: 在游戲過(guò)程中有幾個(gè)對(duì)象組成人 電腦 游戲規(guī)則 抽象出3個(gè)類(lèi):Person、Computer、Game Person類(lèi)有哪些屬性和行為呢? 屬性:名字name,輸贏次數(shù)(比分)score 行為:出拳ShowFirst() 選擇性 Computer類(lèi)有哪些屬性和行為呢? 屬性:名字name,輸贏次數(shù)(比分)score 行為:出拳showFist() 隨機(jī) Game類(lèi)有哪些屬性和行為呢? 屬性:游戲的雙方(person、computer)、對(duì)戰(zhàn)局?jǐn)?shù)count 行為:產(chǎn)生角色initial()、游戲規(guī)則startGame()、顯示比賽結(jié)果showResult()、統(tǒng)計(jì) 比賽結(jié)果calcResul() 2、主要實(shí)現(xiàn)代碼: import java.util.*;public class StartGame { public static void main(String[]args){ Game start = new Game();//實(shí)例化游戲類(lèi) start.initial();//調(diào)用初始化方法 start.startGame();//調(diào)用游戲開(kāi)始方法 start.showResult();//調(diào)用游戲結(jié)果顯示方法 } } import java.util.*;public class Person { String name;//名字屬性 int score;//積分屬性 //出拳方法 public int showFist(){ System.out.print(“n請(qǐng)出拳:1.剪刀2.石頭3.布(輸入相應(yīng)數(shù)字):”); Scanner input = new Scanner(System.in); int num = input.nextInt(); String fist = “";//保存出拳 switch(num){ case 1: fist = ”剪刀“; break; case 2: fist = ”石頭“; break; case 3: fist = ”布“; break; } System.out.println(name + ”出拳:“ + fist); return num;} } import java.util.*;public class Game { //Person person; //甲方 //Computer computer;//乙方 int count; //對(duì)戰(zhàn)次數(shù) Person person = new Person();//實(shí)例化用戶(hù)類(lèi) Computer computer = new Computer();//實(shí)例化計(jì)算機(jī)類(lèi) //初始化方法 public int initial(){ count = 0; return count;} //游戲開(kāi)始方法 public void startGame(){ //顯示游戲開(kāi)始界面 System.out.println(”---------------歡 迎 進(jìn) 入 游 戲 世 System.out.println(“tt******************************”); System.out.println(“tt** ^_^ 猜拳,Start ^_^ **”); System.out.println(“tt*****************************”); 界--------------n“); System.out.println(”nn出拳規(guī)則:1.剪刀 2.石頭 3.布“);//選擇計(jì)算機(jī)角色 System.out.print(”請(qǐng)選擇對(duì)方角色:1.劉備 2.孫權(quán) 3.曹操:“);Scanner input = new Scanner(System.in);int num = input.nextInt();switch(num){ case 1: computer.name = ”劉備“;break;case 2: computer.name = ”孫權(quán)“;break;case 3: } computer.name = ”曹操“;break;//輸入用戶(hù)角色名 System.out.print(”請(qǐng)輸入你的姓名:“);person.name = input.next(); //顯示對(duì)戰(zhàn)雙方 System.out.print(person.name + ” VS “ + computer.name + ” 對(duì)戰(zhàn)n“);//開(kāi)始游戲 System.out.print(”n要開(kāi)始嗎?(y/n)“);String con = input.next();int perFist;//用戶(hù)出的拳 int compFist;//計(jì)算機(jī)出的拳 if(con.equals(”y“)){//判斷是否開(kāi)始 String answer = ”y“; while(”y“.equals(answer)){//循環(huán)條件是是否開(kāi)始下一輪 //出拳 perFist = person.showFist();//調(diào)用用戶(hù)出拳方法 compFist = computer.showFist();//調(diào)用計(jì)算機(jī)出拳方法 //裁決 if((perFist == 1 && compFist == 1)|| (perFist == 2 && compFist == 2)|| (perFist == 3 && compFist == 3)){ System.out.println(”結(jié)果:和局,真衰!n“);//平局 } else if((perFist == 1 && compFist == 3)|| (perFist == 2 && compFist == 1)|| (perFist == 3 && compFist == 2)){ System.out.println(”結(jié)果:恭喜, 你贏了!n“);//用戶(hù)贏 person.score++; //累計(jì)用戶(hù)積分 } else{ } } System.out.println(”結(jié)果說(shuō):^_^,你輸了,真笨!n“);//計(jì)算機(jī)贏 computer.score++; //累計(jì)計(jì)算機(jī)積分 } count++;//累計(jì)對(duì)戰(zhàn)次數(shù) System.out.print(”是否開(kāi)始下一輪(y/n):“);answer = input.next();} //比較得分情況的方法 public void showResult(){ System.out.println(”-----------------------“);System.out.println(computer.name + ” VS “ + person.name); System.out.println(”對(duì)戰(zhàn)次數(shù):“ + count);System.out.println(”n姓名t得分n“ + person.name + ”t“ + person.score + ”n“ + computer.name + ”t“ + computer.score + ”n“); //比較積分 if(computer.score == person.score){ System.out.println(”結(jié)果:打成平手,下次再和你一分高下!“); } else if(computer.score < person.score){ System.out.println(”結(jié)果:你果然是高手,“ + computer.name + ”佩服!“); } else{ System.out.println(”結(jié)果:呵呵,笨笨,下次加油哦!“); } System.out.println(”-----------------------“);} } public class Computer { String name;//名字屬性 int score;//積分屬性 //出拳方法 public int showFist(){ int num =(int)(Math.random()*3)+ 1;String fist = ”“;switch(num){ case 1: fist = ”剪刀“; break;case 2: fist = ”石頭“; break;case 3: fist = ”布“; break; } System.out.println(name + ”出拳:" + fist); return num;} } 運(yùn)行界面: 3、實(shí)驗(yàn)心得體會(huì): 從本次課程設(shè)計(jì)的完成中,我發(fā)現(xiàn)我有很多不足的地方,最突出的是所掌握的知識(shí)太少,學(xué)到的知識(shí)應(yīng)用不到實(shí)踐中。后來(lái)通過(guò)看書(shū)查找相關(guān)資料,完成課程設(shè)計(jì)任務(wù)。 程序設(shè)計(jì)語(yǔ)言是程序設(shè)計(jì)的工具,如果想有效的設(shè)計(jì)程序,正確的應(yīng)用程序表達(dá)算法,必須準(zhǔn)確應(yīng)用程序設(shè)計(jì)語(yǔ)言;學(xué)習(xí)程序設(shè)計(jì),必須要多讀程序,并試著自己編寫(xiě)程序,多上機(jī)調(diào)試程序代碼。 游戲1:記名字 這個(gè)游戲適合初次見(jiàn)面用來(lái)記住在座各位的名字。主持者等各人做好自我介紹之后說(shuō)好規(guī)則:大家一起有節(jié)奏的拍掌(兩拍接一響指),然后主持人說(shuō)一個(gè)名字,此人不用動(dòng)作,繼續(xù)拍掌(兩拍接一響指),左手邊的人喊另外一個(gè)人的名字,繼續(xù)拍掌,一直下去,錯(cuò)了受罰。 另外一種玩法:圍成一圈,第一個(gè)人說(shuō)“我叫XXX,我喜歡打籃球”,第二個(gè)人必須說(shuō),“我是站在喜歡打籃球的XXX旁邊的喜歡吃醋的YYY”,第三個(gè)人就必須說(shuō)前面兩個(gè)人的特性和名字了,排在最后那老兄就慘了,要說(shuō)十幾個(gè)人,不過(guò)他也聽(tīng)得最多,所以還是說(shuō)得出的。這樣一圈,名字就都記住了,接下來(lái)可以更熟一點(diǎn)。 游戲:2:(壓軸、力薦)拉拉手 1.讓全體同學(xué)站到場(chǎng)中央,分散開(kāi),手牽手成一個(gè)圈 2.觀察一下左手牽的是誰(shuí)的右手,右手牽的是誰(shuí)的左手(重點(diǎn)) 3.然后松開(kāi)手,打亂次序站在一起不留空隙 4.不要移動(dòng)腳,像剛才那樣左右手相對(duì)應(yīng)拉手 5.緩慢解開(kāi)(注意安全) 目的:訓(xùn)練大家的團(tuán)隊(duì)意識(shí) 游戲3:連連看 1.兩位主持站隊(duì)前,分別對(duì)第一位同學(xué)說(shuō)一個(gè)具體意象,如釣魚(yú)、劃船、月亮、皇冠、圣誕老人等 2.第一位同學(xué)不許說(shuō)話(huà),用動(dòng)作表演給第二位同學(xué),第二位表演給第三位看……直到最后一位同學(xué)說(shuō)出具體意象 3.再來(lái)兩隊(duì) 游戲4:交換名字 內(nèi)容:這個(gè)游戲乃在于考驗(yàn)人們的習(xí)性。平常對(duì)于自己的名字,可說(shuō)是耳熟不過(guò)了,但若臨時(shí)更換名字,可就會(huì)覺(jué)得陌生了。 方法: (1)人數(shù)在 10 個(gè)人最適合(2)參加者圍成一個(gè)圓圈坐著。 (3)圍個(gè)圓圈的時(shí)候,自己隨即更換成右鄰者的名字。 (4)以猜拳的方式來(lái)決定順序,然后按順序來(lái)提出問(wèn)題。 (5)當(dāng)主持人問(wèn)及“張三先生,你今天早上幾點(diǎn)起床?”時(shí),真正的張三不可以回答,而必須由更換成張三的名字的人來(lái)回答:“恩,今天早上我 7點(diǎn)鐘起床!”?? (6)當(dāng)自己該回答時(shí)卻不回答,不是自己該回答的人就要被淘汰。 (7)最后剩下的一個(gè)人就是勝利者。 游戲5:直呼其名 時(shí)間:10~15分鐘 人數(shù): 不限,人數(shù)較多時(shí),需要將隊(duì)員劃分成若干個(gè)由15~20個(gè)人組成的小組。 目的:幫助大家記住彼此的名字。 準(zhǔn)備: 步驟: 1.選一塊寬闊平整的游戲場(chǎng)地。 2.隊(duì)員們以小組為單位站成一圈。每人相距約一臂長(zhǎng)。作為培訓(xùn)專(zhuān)員的你也不例外。 3.告訴小組游戲?qū)哪闶掷镩_(kāi)始。你大喊出自己的名字,然后將手中的球傳給自己左邊的隊(duì)友。接到傳球的隊(duì)友也要如法炮制,喊出自己的名字,然后把球傳給自己左邊的人。這樣一直繼續(xù)下去,直到球又重新回到你的手中。 4.你重新拿到球后,告訴大家現(xiàn)在我們要改變游戲規(guī)則了?,F(xiàn)在接到球的隊(duì)員必須要喊出另一個(gè)隊(duì)員的名字,然后把球扔給該隊(duì)員。 5.幾分鐘后,隊(duì)員們就會(huì)記住大多數(shù)隊(duì)友的名字,這時(shí),再加一只球進(jìn)來(lái),讓兩個(gè)球同時(shí)被扔來(lái)扔去,游戲規(guī)則不變。 6.在游戲接近尾聲的時(shí)候,再把第三只球加進(jìn)來(lái),其主要目的是讓游戲更加熱鬧有趣。 7.游戲結(jié)束后,在解散小組之前,邀請(qǐng)一個(gè)志愿者,讓他在小組內(nèi)走一圈,報(bào)出每個(gè)人的名字。 討論問(wèn)題示例: 安全: 注意扔球的時(shí)候不可用力過(guò)猛。你最初的扔球應(yīng)當(dāng)是一個(gè)較慢的高球,為后續(xù)的扔球手法樹(shù)立典范。 變通:1.如果幾個(gè)小組同時(shí)在玩這個(gè)游戲,可以讓不同的小組在游戲中間交換一半隊(duì)員。 2.讓隊(duì)員們可以隨心所欲地更換小組。被新小組接納的唯一條件是新成員在站好位置后喊出自己的名字,以便其他隊(duì)員扔球給他。 一 團(tuán)隊(duì)精神游戲 一 快樂(lè)傳真 每個(gè)組5-8個(gè)人為宜,一組人按1行胸對(duì)背的排列。第一個(gè)人面向主持人其余人向后轉(zhuǎn),背向第一個(gè)人。第一個(gè)人看主持人給的題目,看完后,主持人收起題目,第一個(gè)人拍第二個(gè)人肩膀示意讓其轉(zhuǎn)身。第一個(gè)人通過(guò)肢體語(yǔ)言,把剛剛看到的詞語(yǔ)的含義表示出來(lái),然后第二個(gè)人根據(jù)自己的理解同樣把自己的理解通過(guò)肢體語(yǔ)言傳遞給第三個(gè)人。以此類(lèi)推。傳到該組最后一個(gè)人時(shí),這個(gè)人需要說(shuō)出成語(yǔ)。比賽過(guò)程中不得以語(yǔ)言或口形提示。沒(méi)有說(shuō)出成語(yǔ)的團(tuán)隊(duì)接受懲罰。如:一箭雙雕垂頭喪氣口是心非亡羊補(bǔ)牢十拿九穩(wěn)樹(shù)大招風(fēng)一口吃個(gè)大胖子槍打出頭鳥(niǎo)放下屠刀立地成佛,猴子撈月等 二 盲人方陣(考驗(yàn)團(tuán)隊(duì)協(xié)作,集體智慧,領(lǐng)導(dǎo)能力) 全體隊(duì)員戴好眼罩,利用繩子,在規(guī)定的時(shí)間內(nèi)做成一個(gè)正方形(所有的人相對(duì)均勻的分布在正方形的各個(gè)邊上),菱形或圓形等(抽簽決定) 三 盲人摸號(hào) 用語(yǔ)言、表情、甚至眼神溝通并傳遞信息都不是難事,現(xiàn)在這個(gè)游戲卻要打破常規(guī),制造一些限制條件來(lái)訓(xùn)練學(xué)生的溝通能力,并讓他們體會(huì)改變自己已適應(yīng)環(huán)境和條件的限制。 1給組員戴上眼罩。 2發(fā)給每人一個(gè)號(hào)碼,這個(gè)號(hào)碼只有本人知道。 3讓這些受訓(xùn)者根據(jù)每人的號(hào)碼,按從大到小的順序排成一列。這個(gè)過(guò)程中任何人都不能說(shuō)話(huà)或發(fā)出聲音,如果有人摘下眼罩或說(shuō)話(huà),游戲即告失敗。 這個(gè)游戲需要考驗(yàn)的是: 1你是怎樣與其他成員交流的。 2你們用什么方法得知?jiǎng)e人的號(hào)數(shù)和位置? 四 你畫(huà)我猜 跟QQ游戲里的你畫(huà)我猜游戲規(guī)則類(lèi)似,每組派一到兩個(gè)組員畫(huà),其余的人猜,時(shí)間最短的獲勝。 五 瞎子瘸子 目的:溝通配合能力,活躍氣氛游戲規(guī)則: 每組派三男三女,男生背女生,男生當(dāng)“瞎子”,用紗巾蒙住眼睛,女生扮“瘸子”,為“瞎子”指引路,繞過(guò)路障,達(dá)到終點(diǎn),其中路障設(shè)置可擺放椅子,須繞行;鮮花,須拾起,遞給女生。最早到達(dá)者,為贏。可以同時(shí)多組一起比賽。 六 “誰(shuí)是臥底” 游戲人數(shù):最好7個(gè)游戲者,1個(gè)臥底,若干不明所以圍觀者。游戲規(guī)則:在場(chǎng)7個(gè)人中6個(gè)人拿到相同的一個(gè)詞語(yǔ),剩下的1個(gè)拿到與之相關(guān)的另一個(gè)詞語(yǔ)。每人每輪只能說(shuō)一句話(huà)描述自己拿到的詞語(yǔ)(不能直接說(shuō)出來(lái)那個(gè)詞語(yǔ)),與不能讓臥底發(fā)現(xiàn),也要給同胞以暗示。每輪描述完畢,7人投票選出懷疑是臥底的那個(gè)人,得票數(shù)最多的人出局,倆個(gè)人一樣多的話(huà),待定(就是保留)。若有臥底撐到剩下最后三人,則臥底獲勝,反之,則大部隊(duì)獲勝。比如胡子和眉毛,豬肉和牛肉等等 七 100s不NG(可以作為輸隊(duì)的懲罰) 簡(jiǎn)單來(lái)說(shuō)就是參加游戲的每一個(gè)人都要在規(guī)定的時(shí)間內(nèi)一次性完成他的任務(wù),而且要大家都要一次性連貫的做完,中間如果有誰(shuí)沒(méi)有完成任務(wù),或者是超過(guò)時(shí)間,都要重頭來(lái)過(guò)。 1.第一關(guān)組員做左轉(zhuǎn)三圈右轉(zhuǎn)三圈,重復(fù)三次走直線(xiàn)。做完說(shuō)“哦吧,gangan style” 2第二關(guān)組員跳騎馬舞,加動(dòng)作。 3第三關(guān)組員做五個(gè)俯臥撐并拿起旁邊的橫幅說(shuō)出通關(guān)密語(yǔ):恭喜發(fā)財(cái).4最后一關(guān)還在想。。 小懲罰: 大茶壺我是茶壺矮又肥,——作矮肥狀這是壺嘴這是柄,——一手側(cè)前點(diǎn)作壺嘴狀,一手撐腰作壺柄狀,呼啦啦,呼啦啦,——雙手向上揚(yáng)作水蒸氣狀水開(kāi)啦,水開(kāi)啦,——雙手向上揚(yáng)作水蒸氣狀倒茶,倒茶。 ——壺嘴狀之手點(diǎn)作斟茶狀,另一手作壺柄狀。 Ps:先隨便想了點(diǎn)點(diǎn)子,你看下,根據(jù)時(shí)間啊,可行性什么的,看看有么有用的上的。有用得上的游戲再來(lái)具體策劃吧!(*^__^*)??第二篇:C語(yǔ)言小游戲程序設(shè)計(jì)
第三篇:Java猜拳小游戲程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告
第四篇:小游戲
第五篇:小游戲