五子棋c++課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  五子棋</b></p><p><b>  課程設(shè)計(jì)目的和要求</b></p><p>  1.1 C++語(yǔ)言課程設(shè)計(jì)的目的 </p><p>  進(jìn)一步培養(yǎng)結(jié)構(gòu)化程序設(shè)計(jì)的思想,加深對(duì)高級(jí)系統(tǒng)語(yǔ)言基本語(yǔ)言要素和控制結(jié)構(gòu)的理解,針對(duì)C++語(yǔ)言中的重點(diǎn)和難點(diǎn)內(nèi)容進(jìn)行訓(xùn)練,獨(dú)立完成有一定工作量的

2、程序設(shè)計(jì)任務(wù),同時(shí)強(qiáng)調(diào)好的程序設(shè)計(jì)風(fēng)格。</p><p>  此課程設(shè)計(jì)著眼于知識(shí)的運(yùn)用,把平常學(xué)的知識(shí)運(yùn)用到課程實(shí)踐中來(lái),本身就是考察我們知識(shí)運(yùn)用能力。要求熟悉運(yùn)用一些編程軟件,對(duì)我們所學(xué)的理論知識(shí)進(jìn)一步的深化。</p><p>  1.2 C++語(yǔ)言課程設(shè)計(jì)實(shí)現(xiàn)的要求</p><p>  使用C++語(yǔ)言編寫一個(gè)基于控制臺(tái)的簡(jiǎn)單程序,使學(xué)生掌握簡(jiǎn)單的程序設(shè)計(jì)技巧

3、。同時(shí)設(shè)計(jì)一個(gè)簡(jiǎn)單的五子棋對(duì)弈系統(tǒng),可以實(shí)現(xiàn)五子棋的基本功能,是一款?yuàn)蕵酚玫男⌒统绦颉?lt;/p><p><b>  課程設(shè)計(jì)任務(wù)內(nèi)容</b></p><p>  五子棋對(duì)弈系統(tǒng) </p><p>  設(shè)計(jì)一個(gè)五子棋系統(tǒng)程序,實(shí)現(xiàn)對(duì)五子棋進(jìn)行運(yùn)行。</p><p>  基本要求:五子棋是有兩個(gè)人在一盤棋上進(jìn)行對(duì)抗的競(jìng)技

4、活動(dòng)。在對(duì)局開始時(shí),先由用戶選擇哪方開局,先開局一方將一枚棋子落在一點(diǎn)上,然后由另一方在對(duì)方棋周圍交叉點(diǎn)上落子,如此輪流落子,知道某一方首先在棋盤的直線、橫線或斜線上形成連續(xù)的五子則該方程就算獲勝。</p><p>  此時(shí)算法結(jié)束,當(dāng)有任何一方退時(shí)出,都可在算法中實(shí)現(xiàn)。</p><p>  第三章 詳細(xì)設(shè)計(jì)說(shuō)明</p><p><b>  3.1 功

5、能設(shè)計(jì)</b></p><p> ?。?)由兩個(gè)玩家分別下棋,當(dāng)某一玩家五子相連,則贏。</p><p>  (2)界面要求:初始狀態(tài)——顯示棋盤,并顯示兩個(gè)玩家的操作鍵及初始玩家名稱;游戲進(jìn)行狀態(tài)——?jiǎng)討B(tài)顯示棋盤,不同玩家的棋子用不同符號(hào)顯示,屏幕上顯示當(dāng)前玩家號(hào),結(jié)束時(shí)顯示贏家名稱。</p><p>  3.2五子棋對(duì)弈系統(tǒng)流程圖</p>

6、<p><b>  是</b></p><p><b>  否</b></p><p><b>  是</b></p><p>  否 </p>

7、;<p><b>  否</b></p><p><b>  是</b></p><p><b>  是</b></p><p>  圖 3-1程序總體圖</p><p><b>  圖3-2算法流程圖</b></p><

8、p>  3.3 軟件中實(shí)現(xiàn)各項(xiàng)功能的函數(shù)與程序代碼</p><p>  主要函數(shù)、結(jié)構(gòu)體和鏈表</p><p>  Int a; //紀(jì)錄坐標(biāo)位置</p><p>  Int b; //紀(jì)錄坐標(biāo)位置</p><p>  Int player, //用于在【a】【b】處落子</p

9、><p>  Int name[N][N]1; //存放棋盤數(shù)據(jù) 分別用1、2、0表示不同顏色子和空</p><p>  Int win(), //判斷勝負(fù)</p><p>  void reste() //重置棋盤</p><p>  void chessboard()//下棋并繪棋盤</p><p>

10、;<b>  類的使用:</b></p><p>  class Qipan</p><p><b>  {</b></p><p><b>  public:</b></p><p><b>  int a;</b></p><p&g

11、t;<b>  int b;</b></p><p>  int player; //用于在【a】【b】處落子</p><p>  int name[N][N];//存放棋盤數(shù)據(jù)</p><p>  int win();//判斷勝負(fù)</p><p>  void reset();//重置棋盤</p><

12、;p>  void chessboard();//下棋并描繪棋盤</p><p><b>  }</b></p><p>  本次程序設(shè)計(jì)主要設(shè)計(jì)了五個(gè)模塊</p><p><b>  1.繪制棋盤模塊</b></p><p>  當(dāng)游戲初始化時(shí),和每當(dāng)落子消息觸發(fā)時(shí),都需要對(duì)棋盤進(jìn)行重繪。這

13、里用特殊符號(hào)“○”“●”“+”分別來(lái)描繪白子、黑子和棋盤空格。這個(gè)函數(shù)主要完成了以下工作:</p><p>  ●裝載棋盤二位數(shù)組并進(jìn)行繪制。</p><p>  ●根據(jù)棋盤數(shù)據(jù)繪制棋子。</p><p>  ●繪制最后落子指示規(guī)矩。</p><p><b>  圖3-3</b></p><p>

14、  2.鍵盤操作控制模塊</p><p>  此模塊主要用于處理與用戶的交互過程。即完成落子判斷過程。</p><p>  此模塊主要完成以下工作:</p><p>  從鍵盤讀入控制信息(上下左右移動(dòng)和落子)。</p><p>  判斷是否在棋盤內(nèi)按落子鍵,和移動(dòng)是否超出棋盤范圍。</p><p>  判斷落子點(diǎn)是否

15、已有棋子。</p><p><b>  圖3-4</b></p><p><b>  3.判斷勝負(fù)模塊</b></p><p>  這是游戲中一個(gè)極其重要的算法,用來(lái)判斷當(dāng)前棋盤的形勢(shì)是哪一方獲勝。五子棋的勝負(fù),在于判斷棋盤上是否有一個(gè)點(diǎn),從這個(gè)點(diǎn)開始的右、下、右下、左下四個(gè)方向是否有連續(xù)的五個(gè)同色棋子出現(xiàn),如圖:<

16、/p><p>  圖 3-5判斷勝負(fù)方向</p><p>  這個(gè)算法是本系統(tǒng)里的win成員函數(shù)。需要它接受一個(gè)棋子顏色的參數(shù),然后返回一個(gè)布爾值,這個(gè)值指示是否勝利。這里用一個(gè)數(shù)組int cout[8]來(lái)控制2種顏色4個(gè)方向的棋子情況。Cout[1]中i為單位表示白子個(gè)數(shù),其中count[1]=j,表示橫方向白子連續(xù)個(gè)數(shù)為j,cout[3]=j表示豎方向上,cout[5]=j,表示從左到右斜

17、方向,cout[7]=j表示從右到左斜方向。雙數(shù)表示黑子,同白子原理一樣。</p><p>  1).橫向判斷流程圖“——”</p><p><b>  圖3-6</b></p><p>  2).豎向判斷流程圖“|”</p><p><b>  圖3-7</b></p><p&

18、gt;  3).從左到右斜方向“\”</p><p><b>  圖3-8</b></p><p>  4) .從右到左斜方向“/”</p><p><b>  圖3-9</b></p><p><b>  圖3-9</b></p><p><b&

19、gt;  4.重置棋盤模塊</b></p><p>  在每局游戲開始的時(shí)候都需要調(diào)用這個(gè)函數(shù)reset()將棋盤清空,也就是棋盤的初始化工作。在這個(gè)函數(shù)中,主要發(fā)生了這么幾件事情:</p><p>  ●將name[N][N]中每一個(gè)落子位都置為無(wú)子狀態(tài)(0)。</p><p>  ●將光標(biāo)的初始位置,置于棋盤正中即a=N/2,b=N/2。</p

20、><p>  ●默認(rèn)的先手順序是黑子先手,置player=1。</p><p><b>  5.游戲結(jié)束模塊</b></p><p>  這一模塊主要用于釋放內(nèi)存,用輸出流語(yǔ)句輸出結(jié)束信息,并控制循環(huán)退出程序。</p><p><b>  3.4 限制條件</b></p><p>

21、;  在windows xp . WIN7 下的Visual C++ 6.0下運(yùn)行</p><p>  第四章 軟件使用說(shuō)明</p><p>  4.1 軟件使用說(shuō)明及出現(xiàn)的問題</p><p>  該程序可以實(shí)現(xiàn)對(duì)學(xué)生信息的錄入和顯示,安裝Visual C++ 6.0中文版后,在工具欄“文件”中單擊“新建”選項(xiàng),單擊“Win32 Console Applica

22、tion”,輸入工程名“郭”,單擊“A simple Application”。在“文件”中單擊“新建”,選擇“C++ Source file”輸入文件名稱“瑜”。開始輸入程序,程序輸入完成,單擊“Compile”,待程序無(wú)誤后,Build execute。</p><p><b>  4.2 運(yùn)行結(jié)果</b></p><p><b>  軟件使用結(jié)果&l

23、t;/b></p><p>  1.進(jìn)入游戲→主界面</p><p><b>  圖4-1</b></p><p>  2.點(diǎn)擊1→開始游戲</p><p><b>  圖4-2</b></p><p>  3.繼續(xù)點(diǎn)擊1或2→游戲過程中</p><

24、p><b>  圖4-3</b></p><p><b>  4.判斷勝負(fù)</b></p><p><b>  圖4-4</b></p><p>  5.在主界面中點(diǎn)擊2→游戲說(shuō)明</p><p><b>  圖4-5</b></p>

25、<p>  6.在主界面中點(diǎn)擊0→退出游戲</p><p><b>  圖4-6</b></p><p>  第五章 課程設(shè)計(jì)心得與體會(huì)</p><p>  課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí) ,發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)我們的實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新月異,當(dāng)今計(jì)算機(jī)

26、應(yīng)用在生活中可以說(shuō)得是無(wú)處不在。因此作為二十一世紀(jì)的大學(xué)來(lái)說(shuō)掌握程序開發(fā)技術(shù)是十分重要的,而C++語(yǔ)言又是最常見,功能最強(qiáng)大的一種高級(jí)語(yǔ)言,因此做好C++語(yǔ)言課程設(shè)計(jì)是十分必要的。</p><p>  通過幾周的課程設(shè)計(jì)使我們懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過

27、程中遇到問題,可以說(shuō)得是困難重重,這畢竟第一次做這么長(zhǎng)的程序設(shè)計(jì),難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)一些前面學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說(shuō)結(jié)構(gòu)體,指針……通過這次課程設(shè)計(jì)之后,我們把前面所學(xué)過的知識(shí)又重新溫故了一遍。</p><p>  我做的是五子棋設(shè)計(jì),雖然是很簡(jiǎn)單的一個(gè)小的程序,但對(duì)我來(lái)說(shuō)卻是一個(gè)很大的困難。更加是第一次做課程設(shè)計(jì),所以做了一個(gè)下午卻絲毫

28、沒有進(jìn)展,最主要是不知從何開始,這個(gè)時(shí)候才知道上課老師們不厭其煩的教導(dǎo)是多么的寶貴,這個(gè)時(shí)候才后悔上課的時(shí)候沒有認(rèn)真的聽講??墒乾F(xiàn)在一切都晚了,還好時(shí)間還算是充裕,只好拿出書本重新復(fù)習(xí)一下。</p><p>  開始的時(shí)候真的感覺編程是一件很無(wú)聊的事情,不過當(dāng)一個(gè)程序運(yùn)行成功的時(shí)候那種喜悅是無(wú)法言語(yǔ)的,那種成就感是無(wú)法比擬的。又經(jīng)過幾天的努力,終于把程序完成了,盡管程序還是有很多功能上的欠缺和漏洞,可我還是很高興

29、的。無(wú)論如何是自己的勞動(dòng)成果,是自己經(jīng)過努力得到的成績(jī),同時(shí)也是學(xué)習(xí)C++語(yǔ)言的一次實(shí)踐作業(yè),自己進(jìn)步的證明。</p><p>  在課程設(shè)計(jì)過程中,收獲知識(shí),提高能力的同時(shí),我也學(xué)到了很多人生的哲理,懂得怎么樣去制定計(jì)劃,怎么樣去實(shí)現(xiàn)這個(gè)計(jì)劃,并掌握了在執(zhí)行過程中怎么樣去克服心理上的不良情緒。因此在以后的生活和學(xué)習(xí)的過程中,我一定會(huì)把課程設(shè)計(jì)的精神帶到生活中,不畏艱難,勇往直前!</p><

30、p><b>  附錄1:參考文獻(xiàn)</b></p><p>  1、譚浩強(qiáng) 著.C++程序設(shè)計(jì)教程.清華大學(xué)出版社</p><p>  2、陳維興 林小茶 編著.C++面向?qū)ο蟪绦蛟O(shè)計(jì).中國(guó)鐵道出版社</p><p>  3、田淑清, C語(yǔ)言程序設(shè)計(jì),北京:高等教育出版社,2006年1月</p><p>  4、Da

31、vid J.Kruglinski,Scot Wingo,George Shepherd,Visual C++6.0技術(shù)內(nèi)幕(第五版),希望圖書室譯,北京:北京希望電子出版社,2001 年1月</p><p><b>  附錄2:程序清單</b></p><p>  //+++++fivechess_qxf..h開始++++++++++</p><p

32、>  #include<stdio.h></p><p>  #include<stdlib.h></p><p>  #include<conio.h></p><p>  #include<iostream></p><p>  using namespace std;</p&

33、gt;<p>  #define N 21</p><p>  int output(int count[8],int win);//輸入勝負(fù)</p><p>  void explain();//游戲說(shuō)明</p><p>  class Qipan</p><p><b>  {</b></p>

34、;<p><b>  public:</b></p><p><b>  int a;</b></p><p><b>  int b;</b></p><p>  int player; //用于在【a】【b】處落子</p><p>  int name[N][

35、N];//存放棋盤數(shù)據(jù)</p><p>  int win();//判斷勝負(fù)</p><p>  void reset();//重置棋盤</p><p>  void chessboard();//下棋并描繪棋盤</p><p><b>  };</b></p><p>  //+++++++fi

36、vechess_qxf.h結(jié)束++++++++</p><p>  //=====main.cpp開始</p><p>  #include<stdio.h></p><p>  #include<stdlib.h></p><p>  #include<conio.h></p><p&

37、gt;  #include"fivechess_qxf.h"</p><p>  #include<iostream></p><p>  using namespace std;</p><p>  void main()</p><p><b>  {</b></p>&

38、lt;p>  Qipan qipan;</p><p>  int t,j,i;</p><p>  qipan.a=N/2;</p><p>  system("cls");</p><p>  qipan.b=N/2;</p><p>  for(i=0;i<=N;i++)</

39、p><p><b>  {</b></p><p>  for(j=0;j<=N;j++)</p><p><b>  {</b></p><p>  qipan.name[i][j]=0;</p><p><b>  }</b></p>

40、<p><b>  }</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  cout<<"1.開始游戲"<<endl;</p><p>  cout<<

41、"2.游戲說(shuō)明"<<endl;</p><p>  cout<<"0.結(jié)束游戲"<<endl;</p><p>  scanf("%d",&t);</p><p><b>  switch(t)</b></p><p>

42、;<b>  {</b></p><p><b>  case 1:</b></p><p>  cout<<"***************"<<endl;</p><p>  cout<<"1.先手白棋"<<endl;</p&

43、gt;<p>  cout<<"2.先手黑棋"<<endl;</p><p>  cout<<"***************"<<endl;</p><p>  scanf("%d",&qipan.player);</p><p>&l

44、t;b>  do</b></p><p><b>  {</b></p><p>  system("cls");</p><p>  qipan.chessboard();</p><p><b>  }</b></p><p>  w

45、hile(qipan.win());</p><p>  qipan.reset();</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  explain();</p><p><b>  bre

46、ak;</b></p><p><b>  case 0:</b></p><p>  cout<<"謝謝使用!";</p><p>  fflush(stdin);</p><p>  j=getch();</p><p><b>  bre

47、ak;</b></p><p><b>  }</b></p><p>  system("cls");</p><p><b>  }</b></p><p><b>  while(t);</b></p><p>&l

48、t;b>  }</b></p><p>  //====main.cpp結(jié)束==</p><p>  //====reset.cpp開始=</p><p>  #include<"fivechess_qxf.h"></p><p><b>  //重置棋盤</b><

49、/p><p>  void Qipan::reset()</p><p><b>  {</b></p><p><b>  int i.j;</b></p><p>  for(i=0;i<N;i++)</p><p><b>  {</b><

50、/p><p>  for(j=0;j<N;J++)</p><p><b>  {</b></p><p>  name[i][j]=0;</p><p><b>  }</b></p><p><b>  }</b></p><p

51、><b>  a=N/2;</b></p><p><b>  b=N/2;</b></p><p><b>  player=1;</b></p><p><b>  }</b></p><p>  //===reser.cpp結(jié)束==</p

52、><p>  //====explain.cpp開始=</p><p>  #include<"fivechess_qxf.h"></p><p>  #include<iostream></p><p>  #include<stdlib.h></p><p>  

53、#include<conio.h></p><p>  using namespace std;</p><p><b>  //游戲說(shuō)明</b></p><p>  void explain()</p><p><b>  {</b></p><p><b

54、>  int j;</b></p><p>  cout<<"*********************游戲說(shuō)明*********************"<<endl;</p><p>  cout<<"1.按w向上移動(dòng)光標(biāo)"<<endl;</p><p> 

55、 cout<<"2.按s向下移動(dòng)光標(biāo)"<<endl;</p><p>  cout<<"3.按a向左移動(dòng)光標(biāo)"<<endl;</p><p>  cout<<"4.按d向右移動(dòng)光標(biāo)"<<endl;</p><p>  cout<&

56、lt;"5.按空格放子"<<endl;</p><p>  cout<<"**************"<<endl;</p><p>  cout<<"按任意鍵回到主菜單"<<endl;</p><p>  fflush(stdin);</

57、p><p>  j=getch();</p><p><b>  }</b></p><p>  //====explain.cpp結(jié)束=</p><p>  //====chessboard.cpp開始=</p><p>  #include<"fivechess_qxf.h&quo

58、t;></p><p><b>  //</b></p><p>  //刷新棋盤 落子下棋</p><p>  void Qipan::chessboard()</p><p><b>  {</b></p><p><b>  int i,j;</b

59、></p><p>  for(i=0;i<N;i++)</p><p><b>  {</b></p><p>  for(j=0;j<N;j++</p><p><b>  {</b></p><p>  if(a==i&&b==j)&l

60、t;/p><p><b>  {</b></p><p><b>  cout<<"□"</b></p><p><b>  }</b></p><p>  else if(name[i][j]==0)</p><p><

61、;b>  {</b></p><p><b>  cout<<"+"</b></p><p><b>  }</b></p><p>  else if(name[i][j]==1)</p><p><b>  {</b><

62、;/p><p>  cout<<"●";</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  cout<<"○

63、";</p><p><b>  }</b></p><p><b>  }</b></p><p>  cout<<endl;</p><p><b>  }</b></p><p>  fflush(stdin);</p&

64、gt;<p>  int input=getch();</p><p>  switch(input)</p><p><b>  {</b></p><p><b>  case'w':</b></p><p><b>  if(a>0)</b&

65、gt;</p><p><b>  {</b></p><p><b>  a--;</b></p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  case&

66、#39;s':</b></p><p><b>  if(a<N-1)</b></p><p><b>  {</b></p><p><b>  a++;</b></p><p><b>  }</b></p>&

67、lt;p><b>  break;</b></p><p><b>  case'a':</b></p><p><b>  if(b>0)</b></p><p><b>  {</b></p><p><b>  

68、b--;</b></p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  case'd':</b></p><p><b>  if(b<N-1)</b><

69、;/p><p><b>  {</b></p><p><b>  b++;</b></p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  case'&#

70、39;:</b></p><p>  if(name[a][b]==0)</p><p><b>  {</b></p><p>  player=palyer==1?2:1;</p><p>  name[a][b]=player;</p><p><b>  }</

71、b></p><p><b>  else</b></p><p><b>  {</b></p><p>  cout<<"此處有子!"<<endl;</p><p>  cout<<"按任意鍵繼續(xù)"《《endl;&

72、lt;/p><p>  fflush(stdin);</p><p>  j=getch();</p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  }</b></p><p

73、><b>  }</b></p><p>  //====chessboard.cpp結(jié)束=</p><p>  //====win.cpp開始======</p><p>  #include<"fivechess_qxf.h"></p><p><b>  //判斷勝負(fù)

74、</b></p><p>  int Qipan::win()</p><p><b>  {</b></p><p>  int i.j,count[8]={0},k,win;</p><p>  //判斷從左到右是否5個(gè)</p><p>  for(j=0;j<N;j++)&

75、lt;/p><p><b>  {</b></p><p>  for(i=0;i<N;i++)</p><p><b>  {</b></p><p>  for(k=0;k<5;k++)</p><p><b>  {</b></p&g

76、t;<p>  if(name[i][j+k]==1)</p><p><b>  {</b></p><p>  count[0]++;</p><p><b>  }</b></p><p>  if(name[i][j+k]==2)</p><p><

77、;b>  {</b></p><p>  count[1]++;</p><p><b>  }</b></p><p><b>  }</b></p><p>  win=output(count,win);</p><p><b>  }<

78、;/b></p><p><b>  }</b></p><p><b>  //判讀列是否5個(gè)</b></p><p>  for(j=0;j<N;j++)</p><p><b>  {</b></p><p>  for(i=0;i&l

79、t;N;i++)</p><p><b>  {</b></p><p>  for(k=0;k<5;k++)</p><p><b>  {</b></p><p>  if(name[i+k][j]==1)</p><p><b>  {</b>

80、;</p><p>  count[2]++;</p><p><b>  }</b></p><p>  if(name[i+k][j]==2)</p><p><b>  {</b></p><p>  count[3]++;</p><p>&l

81、t;b>  }</b></p><p><b>  }</b></p><p>  win=coutput(count,win);</p><p><b>  }</b></p><p><b>  }</b></p><p>  //

82、判斷左到右斜方向是否有5個(gè)</p><p>  for(j=0;j<N;j++)</p><p><b>  {</b></p><p>  for(i=0;i<N;i++)</p><p><b>  {</b></p><p>  for(k=0;k<5

83、;k++)</p><p><b>  {</b></p><p>  if(name[i+k][j+k]==1)</p><p><b>  {</b></p><p>  count[4]++;</p><p><b>  }</b></p&g

84、t;<p>  if(name[i+k][j+k]==2)</p><p><b>  {</b></p><p>  count[5]++;</p><p><b>  }</b></p><p><b>  }</b></p><p>

85、  win=output(count,win);</p><p><b>  }</b></p><p><b>  }</b></p><p>  //判斷右到左斜方向是否有5個(gè)</p><p>  for(j=1;j<N;j++)</p><p><b>

86、  {</b></p><p>  for(i=0;i<N;i++)</p><p><b>  {</b></p><p>  for(k=0;k=5;k++)</p><p><b>  {</b></p><p>  if(name[i+k][j-k]

87、==1)</p><p><b>  {</b></p><p>  count[6]++;</p><p><b>  }</b></p><p>  if(name[i+k][j-k]==2)</p><p><b>  {</b></p>

88、;<p>  count[7]++;</p><p><b>  }</b></p><p><b>  }</b></p><p>  win=output(count,win)</p><p><b>  }</b></p><p>&

89、lt;b>  }</b></p><p>  return win;</p><p><b>  }</b></p><p><b>  //輸出勝負(fù)</b></p><p>  int output(int count[8],int win)</p><p&g

90、t;<b>  {</b></p><p><b>  int i,j;</b></p><p>  if(count[0]==5 || count[2]==5 || count[4]==5 || count[6]==5)</p><p><b>  {</b></p>

91、<p><b>  win=0;</b></p><p>  cout<<"白子贏了"<<endl;</p><p>  cout<<"按任意鍵回到主菜單"<<endl;</p><p>  fflush(stdin);</p>&l

92、t;p>  j=getch();</p><p><b>  }</b></p><p>  if(count[1]==5 || count[3]==5 || coun[5]==5 ||count[7]==5)</p><p><b>  {</b></p><p>  cout<<

93、;"黑子贏了"<<endl;</p><p><b>  win=0;</b></p><p>  cout<<"按任意鍵回到主菜單"<<endl;</p><p>  fflush(stdin);</p><p>  j=getch();<

94、;/p><p><b>  }</b></p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p>  count[i]=0;</p><p><b>  }</b></p><p&

溫馨提示

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

評(píng)論

0/150

提交評(píng)論