




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語言課程設(shè)計(jì)姓名:學(xué)號(hào):專業(yè):軟件工程班級(jí): 3 班指導(dǎo)教師:編寫日期:2015/6/25一、需求分析1、程序的輸入與輸出:只需通過鍵盤“上”,“下”,“左”,“右”移動(dòng)光標(biāo)在棋盤上的位置,“p”鍵下子,“q”鍵悔棋進(jìn)行人人對(duì)戰(zhàn)。2、程序的系統(tǒng)功能:(1)五子棋;(2)、根據(jù)需要提供對(duì)圖書所需的查詢方式。二、系統(tǒng)總體設(shè)計(jì)1問題:(1)建立棋盤:如何跟簡(jiǎn)便的建立棋盤; (2)玩家操作如何移動(dòng)光標(biāo);(3)如何在各個(gè)方向上檢查是否有五個(gè)棋子連接;2. 解決方法:(1) 用許多“+”符號(hào)連接起來構(gòu)成簡(jiǎn)便棋盤,下棋時(shí)只需將棋子覆蓋到“+”完成下子;(2) 棋子的移動(dòng)與落子有鍵盤上按鍵控制,本程序選取按
2、鍵為W、S、A、D和P鍵,分別代表上移、下移、左移、右移光標(biāo)和落子。在光標(biāo)移動(dòng)的過程中,光標(biāo)按照玩家按鍵移動(dòng);在玩家按下落子按鍵后,程序自動(dòng)調(diào)用棋子顯示子程序和判斷勝負(fù)子程序。落子后,程序會(huì)為落子處的數(shù)組元素賦一個(gè)特定值,用于判定勝負(fù)。(3) 勝負(fù)判斷模塊是程序的關(guān)鍵,該模塊的設(shè)計(jì)直接關(guān)系到程序的運(yùn)行速率和運(yùn)行結(jié)果的正確與否。本函數(shù)根據(jù)每次落子的位置,分別向上、下、左、右、左上、左下、右上、右下八個(gè)方向判斷是否有相同顏色的棋子連成五子,如果成立,游戲就結(jié)束,并顯示提示信息,否則繼續(xù)落子。3、 詳細(xì)設(shè)計(jì)1. 建立棋盤void drawqipan() /繪制棋盤及數(shù)據(jù)初始化 int i,j; sy
3、stem("cls"); /清除屏幕 for(i=0;i<20;i+) for(j=0;j<20;j+) Qij=0; printf("十"); printf("n"); weizhi.x=0;weizhi.y=0; /程序數(shù)據(jù)初始化 gotoxy(0,0);2 玩家操作void jilu() /記錄落子情況 Qweizhi.xweizhi.y=player+1; if(player) player=0; /玩家變換 return; player=1;int cluozi(int x,int y) /由電腦落子時(shí)調(diào)用 we
4、izhi.x=x;weizhi.y=y; gotoxy(weizhi.x,weizhi.y); if(Qweizhi.xweizhi.y=0) /判斷當(dāng)前位置是否已經(jīng)落子 jilu(); printf(""); gotoxy(weizhi.x,weizhi.y); void luozi() /玩家落子 if(Qweizhi.xweizhi.y=0) /判斷當(dāng)前位置是否已經(jīng)落子 if(player) jilu(); printf(""); else jilu(); printf(""); gotoxy(weizhi.x,weizhi.y
5、); 3、systemsystem("CLS")可以實(shí)現(xiàn)清屏操作。而調(diào)用color函數(shù)可以改變控制臺(tái)的前景色和背景。4、 判斷勝負(fù)int checkWin() /檢查游戲是否有輸贏int p; int r,c,rr,cc,count=0; p=player=0?2:1; for(c=0;c<20;c+) for(r=0;r<20;r+) if(Qrc!=p) continue; /檢查列 rr=r;cc=c; while(-cc>=0 &&Qrrcc=p)count+; cc=c; while(+cc<20 &&Qrr
6、cc=p)count+; cc=c; if(count+1>=5) return p; /檢查行 count=0; while(-rr>=0 &&Qrrcc=p)count+; rr=r; while(+rr<20 &&Qrrcc=p)count+; rr=r; if(count+1>=5) return p; /檢查反斜邊 count=0; cc-;rr-; while(cc>=0|rr>=0) &&Qrrcc=p)count+;cc-;rr-; rr=r;cc=c; cc+;rr+; while(cc<
7、;20|rr<20) &&Qrrcc=p)count+;cc+;rr+; rr=r;cc=c; if(count+1>=5) return p; count=0; /檢查正斜邊 count=0; cc+;rr-; while(cc<20|rr>=0) &&Qrrcc=p)count+;cc+;rr-; rr=r;cc=c; cc-;rr+; while(cc>=0|rr<20) &&Qrrcc=p)count+;cc-;rr+; rr=r;cc=c; if(count+1>=5) return p; co
8、unt=0; return 0;四、程序運(yùn)行結(jié)果測(cè)試與分析1.棋盤2. 光標(biāo)移動(dòng)3. 判斷勝負(fù)五、結(jié)論與心得這次課程設(shè)計(jì)完成了五子棋的主體設(shè)計(jì),基本實(shí)現(xiàn)了五子棋的核心要求,另外在構(gòu)建棋盤時(shí)用到了創(chuàng)新的思路,更加簡(jiǎn)便的完成了棋盤的建立。程序的總體設(shè)計(jì)較為簡(jiǎn)單,并沒有用到許多復(fù)雜的語句等,其所用的語句如:for,while,switch,case.都是C語言基礎(chǔ)的語句,比較適合閱讀。在設(shè)計(jì)程序的過程中,我們遇到了許多困難,比如建立棋盤時(shí)遇到了錯(cuò)誤,于是我們小組成員通過上網(wǎng)查閱資料的方式解決了問題。但是,這個(gè)程序有一個(gè)待改進(jìn)的地方就是該游戲只能人與人對(duì)戰(zhàn)而不能人機(jī)對(duì)戰(zhàn),所以在單人時(shí)缺乏可玩性,我想我
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 消除艾梅乙傳播工作推進(jìn)部署考核含答案
- 項(xiàng)目融資試題及答案
- 物業(yè)消防試題及答案
- 哈爾濱市第九中學(xué)校2025屆高三下學(xué)期第五次模擬考試英語試卷(不含音頻)
- 2025年湖南省長(zhǎng)沙市中考?xì)v史復(fù)習(xí)卷(1)含答案
- 語文●全國甲卷丨2022年普通高等學(xué)校招生全國統(tǒng)一考試語文試卷及答案
- 幕墻埋件錨栓拉拔試驗(yàn)專題
- 智慧園區(qū)基于智慧園區(qū)場(chǎng)景的物聯(lián)網(wǎng)教學(xué)實(shí)訓(xùn)體系建設(shè)方案
- 2025年中國手扶式掃地機(jī)行業(yè)市場(chǎng)前景預(yù)測(cè)及投資價(jià)值評(píng)估分析報(bào)告
- 2025年智能汽車應(yīng)用工程師職業(yè)技能認(rèn)證模擬試卷(智能駕駛技術(shù)與應(yīng)用)-智能駕駛車輛傳感器技術(shù)
- 校園水果店經(jīng)營(yíng)投標(biāo)方案(技術(shù)方案)
- 信息系統(tǒng)等級(jí)保護(hù)咨詢服務(wù)方案
- 2025年2月22日四川省公務(wù)員面試真題及答案解析(定向鄉(xiāng)鎮(zhèn)崗)
- 河南會(huì)考地理試題及答案2024
- 防汛度汛管理制度
- 融資租賃行業(yè)國際人才隊(duì)伍建設(shè)-全面剖析
- 2025年藍(lán)莓行業(yè)市場(chǎng)需求分析報(bào)告及未來五至十年行業(yè)預(yù)測(cè)報(bào)告
- 第3節(jié) 呼吸作用2024-2025學(xué)年新教材七年級(jí)下冊(cè)生物同步教學(xué)設(shè)計(jì)(人教版2024)
- 高考常考的文言實(shí)詞
- 移動(dòng)式活動(dòng)腳手架專項(xiàng)施工方案
-
評(píng)論
0/150
提交評(píng)論