版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上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ù)初始
3、化 int i,j; system("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)
4、 /由電腦落子時(shí)調(diào)用 weizhi.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(weiz
5、hi.x,weizhi.y); 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
6、&&Qrrcc=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+
7、; while(cc<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)
8、 return p; count=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í)缺乏可玩性,我想我們小組一定會(huì)在
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版電廠煤炭采購(gòu)合同與環(huán)保型付款策略3篇
- 2025年碳晶片技術(shù)培訓(xùn)及咨詢合同3篇
- 開發(fā)商繼續(xù)履行合同范本(2篇)
- 工廠員工勞動(dòng)合同(2篇)
- 二零二五版貨物代理合同范本3篇
- 二零二五年度棉花價(jià)格指數(shù)編制與應(yīng)用合同4篇
- 2025年度個(gè)人購(gòu)房借款合同物業(yè)管理服務(wù)協(xié)議3篇
- 二零二五年度中小企業(yè)應(yīng)收賬款質(zhì)押貸款合同范本4篇
- 2025年航空航天產(chǎn)業(yè)投資入股分紅合同3篇
- 2025年度租賃車輛智能監(jiān)控服務(wù)合同遠(yuǎn)程管理4篇
- 加強(qiáng)教師隊(duì)伍建設(shè)教師領(lǐng)域?qū)W習(xí)二十屆三中全會(huì)精神專題課
- 2024-2025學(xué)年人教版數(shù)學(xué)七年級(jí)上冊(cè)期末復(fù)習(xí)卷(含答案)
- 2025年慢性阻塞性肺疾病全球創(chuàng)議GOLD指南修訂解讀課件
- 2024年上海市中考數(shù)學(xué)真題試卷及答案解析
- 2024年全國(guó)卷1高考理綜試題及答案
- (完整版)金融市場(chǎng)基礎(chǔ)知識(shí)知識(shí)點(diǎn)歸納-圖文
- 五年級(jí)數(shù)學(xué)(小數(shù)乘除法)計(jì)算題專項(xiàng)練習(xí)及答案
- 小學(xué)數(shù)學(xué)知識(shí)結(jié)構(gòu)化教學(xué)
- 2022年睪丸腫瘤診斷治療指南
- 被執(zhí)行人給法院執(zhí)行局寫申請(qǐng)范本
- 飯店管理基礎(chǔ)知識(shí)(第三版)中職PPT完整全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論