freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c五子棋課設(shè)說明書含完整源代碼-預(yù)覽頁

2025-06-16 18:04 上一頁面

下一頁面
 

【正文】 空格 1 代表人下的棋 2 代表電腦下的棋 。 // 開始界面void chessboard()。勝負(fù)判斷模塊:實(shí)時監(jiān)測棋盤上棋子,一旦某一色棋子出現(xiàn)五子連線,終止游戲程序,在棋盤上方顯示玩家輸贏語句。1第 2 章 需求分析根據(jù)功能需求,將程序分為圖形顯示、玩家電腦走棋,勝負(fù)判斷和電腦計(jì)分判斷落子位置四個模塊,以下分析各模塊的需求。 自從計(jì)算機(jī)作為游戲?qū)?zhàn)平臺以來,各種棋類游戲如雨后春筍般紛紛冒出。因此我們設(shè)計(jì)了一款人機(jī)對戰(zhàn)的五子棋游戲。在古代,五子棋棋具雖然與圍棋相類同,但是下法卻是完全不同的。”李善注引三國魏邯鄲淳《藝經(jīng)》中曰:“棋局,縱橫各十七道,合二百八十九道,白黑棋子,各一百五十枚”。程序通過棋盤和棋子圖像生成、玩家移子與電腦判斷分?jǐn)?shù)高低而落子和判斷勝負(fù)等功能的實(shí)現(xiàn),在計(jì)算機(jī)上用 VC++ 實(shí)現(xiàn)了人機(jī)五子棋對弈。人機(jī)對弈五子棋程序由開始界面,棋盤,判斷勝負(fù)和計(jì)分等子程序構(gòu)成;程序中應(yīng)用了數(shù)組、全局變量、按鍵處理和圖形編程等元素和語句。在上古的神話傳說中有“女媧造人,伏羲做棋”一說,《增山海經(jīng)》中記載:“休輿之山有石焉,名曰帝臺之棋,五色而文狀鶉卵。亦有傳說,五子棋最初流行于少數(shù)民族地區(qū),以后漸漸演變成圍棋并在炎黃子孫后代中遍及開來。 因?yàn)閭鹘y(tǒng)五子棋只能實(shí)現(xiàn)人人對戰(zhàn),而用計(jì)算機(jī)編程能夠?qū)崿F(xiàn)人機(jī)對戰(zhàn),一個人的時候也能體驗(yàn)五子棋的樂趣。它既有簡單易學(xué)的特點(diǎn),為人民群眾所喜聞樂見,又有深奧的技巧;既能組織舉辦群眾性的比賽、活動,又能組織舉辦高水平的國際性比賽;它的棋文化源淵流長,具有東方的神秘和西方的直觀,它是中西方文化的交融點(diǎn),也是中西方文化交流的一個平臺。同時也為鍛煉自己的編程能力。玩家控制模塊:程序開始時,需玩家確定遵守規(guī)則后,并且選擇是否讓電腦先落子,才能開始游戲;游戲過程中,玩家通過鼠標(biāo)點(diǎn)擊棋盤選擇落子;游戲結(jié)束時,玩家按任意鍵開始新棋局,否則直接關(guān)掉程序窗口。如果最大值是電腦下的,那就讓電腦在此處下,即做到了“進(jìn)攻”2第 3 章 程序總體設(shè)計(jì) 程序總體框圖五子棋游戲開始界面模塊 棋盤界面模塊 判斷輸贏模塊 計(jì)算得分模塊3 程序流程圖4第 4 章 程序詳細(xì)設(shè)計(jì) 各類頭文件及自定義函數(shù)include // 圖形庫頭文件include // 控制臺輸入輸出,包含 getch()函數(shù)include//時間函數(shù)include //隨機(jī)函數(shù)頭文件void start ()。 // 設(shè)置判斷輸贏自定義函數(shù) 棋盤數(shù)組int a[16][16]。 勝負(fù)判斷 judge()函數(shù)定義 int 型函數(shù) judge(),通過判斷橫,豎,左斜,右斜有沒有五子連成一線來決定輸贏,并且返回一個 int 類型的值。通過這種方法實(shí)現(xiàn)了電腦下棋,也是人機(jī)五子棋的精髓所在。函數(shù)是電腦的棋子顏色為黑色,使用 fillcircle(50*i,50*j,20)。 獲取鼠標(biāo)信息,并且使用 WN_LBUTTONDOWN 表示獲取的是鼠標(biāo)左鍵的信息,即玩家通過鼠標(biāo)左鍵來下棋。并且在開始游戲首先彈出“是否遵守游戲規(guī)則的選擇窗口”,玩家只有選擇了確定才能進(jìn)入游戲,玩家進(jìn)入游戲后彈出是否讓電腦先下的選擇窗口,當(dāng)玩家選擇了確定時,電腦首先在棋盤落黑子,如果玩家選擇了取消,則直接進(jìn)入棋盤界面,由玩家選擇地點(diǎn)落子。而程序還有一些不足之處,首先,程序的電腦計(jì)分模塊存在不夠智能的問題。 // 開始界面void chessboard()。 // 定義全局二維數(shù)組,作為虛擬棋盤,記錄棋盤情況:0 代表空格 1 代表人下的棋 2 代表電腦下的棋 void main (){srand((unsigned)time(NULL))。start()。i16。}chessboard()。//h 是類型描述,表示句柄(handle), Wnd 是變量對象描述,表示窗口,所以 hWnd 表示窗口句柄/*MessageBox 指的是顯示一個模態(tài)對話框,其中包含一個系統(tǒng)圖標(biāo)、 一組按鈕和一個簡短的特定于應(yīng)用程序消息, 如狀態(tài)或錯誤的信息。 //在 611 之間,找一個隨機(jī)數(shù)作為電腦下棋的 Y 坐標(biāo)a[i][j]=2。){for(。i=750。amp。amp。//玩家的棋子顏色為白色fillcircle(i,j,20)。}}}}}p=0。settextstyle(30, 0, _T(方正舒體))。}k=k。j16。i16。x=score(i,j,1)。score_c[i][j]+=x。i++){for(j=1。t=j。j16。}}}a[s][t]=2。if(x4){settextcolor(CYAN)。18break。//cleardevice()。//loadimage(amp。 //int height = ()。backgroundimg)。settextstyle(120,0,_T(宋體))。outtextxy(400,400,按任意鍵開始游戲)。19cleardevice()。line(50,i,750,i)。outtextxy(770,80,游戲規(guī)則:)。settextstyle(100,0,_T(宋體))。settextstyle(30,0,_T(楷體))。}/* 判斷輸贏函數(shù) */int judge (int m,int n,int k){int s,i,j,p=0,q=0,x=0,shu,heng,zuoxie,youxie。im+5,i16。im5,i0。for(j=n,p=0。}for(j=n1,q=0。}shu=p+q。elsep++。elseq++。i,j++){if(a[i][j]!=s)break。i++,j){if(a[i][j]!=s)break。if(shux)x=shu。}/* 判斷得分函數(shù) */int score (int m,int n,int k){21int i,j,p=0,q=0,b[4]={0},x=0,shu,heng,zuoxie,youxie。for(i=m。}elsep++。}break。jn+5,j16。}for(j=n1,q=0。}elseq++。i++,j++){if(a[i][j]!=s){if(a[i][j]==0){b[2]++。i0,im5,j0。}zuoxie=p+q。}break。i++,j){if(a[i][j]!=s){if(a[i][j]==0){b[3]++。if(heng4||shu4||zuoxie4||youxie4){x=100。}}x=heng+b[0]。}retur
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1