




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、中 國(guó) 地 質(zhì) 大 學(xué)本科生課程論文封面2011年12月課程設(shè)計(jì)評(píng)語(yǔ)對(duì)課程論文的評(píng)語(yǔ):平時(shí)成績(jī):課程論文成績(jī):總 成 績(jī):評(píng)閱人簽名:注:1、無評(píng)閱人簽名成績(jī)無效;2、必須用鋼筆或圓珠筆批閱,用鉛筆閱卷無效;3、如有平時(shí)成績(jī),必須在上面評(píng)分表中標(biāo)出,并計(jì)算入總成績(jī)。目 錄課程設(shè)計(jì)評(píng)語(yǔ)2目 錄31課程論文題目42程序設(shè)計(jì)思路43功能模塊圖54數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)55算法設(shè)計(jì)66程序代碼137程序運(yùn)行結(jié)果228編程中遇到的困難及解決方法259總結(jié)心得及良好建議2610致謝26一 課程論文題目 :一擔(dān)挑游戲二程序設(shè)計(jì)思路1 題目要求:1.計(jì)算機(jī)移動(dòng)是,使用相應(yīng)函數(shù)掃描棋盤矩陣,尋找未占單元;發(fā)現(xiàn)空單元后,置
2、為“0”;為發(fā)現(xiàn)時(shí),報(bào)告平局退出。2.輪到對(duì)弈者時(shí),使用相應(yīng)函數(shù)要求對(duì)弈者回答想把“X”放在哪里。3.誰(shuí)先三點(diǎn)連成一線了,則報(bào)告誰(shuí)勝出。4.計(jì)算機(jī)與對(duì)弈者每下一步棋都會(huì)使相應(yīng)位置變?yōu)椤?”和“X”,便于在屏上顯示矩陣。2 需求分析根據(jù)題目要求,由于程序要求計(jì)算機(jī)模擬棋盤對(duì)練,所以系統(tǒng)涉及到了二維數(shù)組的引用:同時(shí),在對(duì)弈期間,計(jì)算機(jī)移動(dòng)時(shí)系統(tǒng)要不停得掃描棋盤矩陣來尋找未占單元,所以程序提供了顯示,瀏覽,查找,排序等操作:另外系統(tǒng)還能提供鍵盤式的選擇菜單來實(shí)現(xiàn)功能的選擇。退出空擋檢查棋盤輸入一擔(dān)挑三功能模塊圖四數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)用二維數(shù)組構(gòu)筑了棋盤,用間隔線分割棋盤后,就可以按自己意愿和計(jì)算機(jī)對(duì)弈了,此
3、后每一步計(jì)算機(jī)都會(huì)調(diào)用相應(yīng)的函數(shù)掃描棋盤。 Char qi pan33;Void init_qipan(void);int i,j;for(i=0;i3;i+)for(j=0:j3;j+)qipanij= 五算法設(shè)計(jì)1.主函數(shù):較為簡(jiǎn)單,只有數(shù)據(jù)輸入,功能處理等函數(shù)調(diào)用。流程圖開始構(gòu)造棋盤,輸入數(shù)據(jù)輸入二維數(shù)組(I,j,)根據(jù)數(shù)據(jù)調(diào)用各功能模塊的相應(yīng)函數(shù)結(jié)果顯示檢查棋盤空擋結(jié)束2各功能模塊設(shè)計(jì)(1) 棋盤輸入用二維數(shù)組構(gòu)筑了棋盤,用間隔線分割棋盤后,就可以按自己意愿和計(jì)算機(jī)對(duì)弈了,此后每一步計(jì)算機(jī)都會(huì)調(diào)用相應(yīng)的函數(shù)掃描棋盤。Char qi pan33;Void init_qipan(void)
4、;int i,j;for(i=0;i3;i+)for(j=0:j3;j+)qipanij= (2)對(duì)弈模塊模塊是提供用戶模擬棋盤按用戶自己的思想來下棋,這期間涉及兩種情況1用戶輸入錯(cuò)誤,2棋子位置錯(cuò)誤。/*用戶方面對(duì)弈*/void player_move(void) int x,y; printf(Its your turn,please:); scanf(%d%*c%d,&x,&y); x-;y-; if(qipanxy!= ) printf(Error, try again.n); player_move(); else qipanxy=X; /*計(jì)算機(jī)方面對(duì)弈*/void compute
5、r_move(void) int i,j; for(i=0;i3;i+) for(j=0;j3;j+) if(qipanij= ) break; if(qipanij= ) break; if(i*j=9) printf(pingjun); exit(0); else qipanij=0; (3)顯現(xiàn)模塊顯示模塊【需求分析】 該模塊的作用是顯示對(duì)弈結(jié)果。即要求計(jì)算機(jī)調(diào)用相關(guān)的函數(shù)多次掃描棋盤,誰(shuí)的棋優(yōu)先連成一線了,計(jì)算機(jī)就判定誰(shuí)勝出:這期間有三種情況;1.用戶是勝者,2.計(jì)算機(jī)勝出,3.二者打成平局.【程序】void disp(void) int t; for(t=0;t3;t+) print
6、f(%c|%c|%c,qipant0,qipant1,qipant2); if(t!=2) printf(n-|-|-n); printf(n); char check(void) int i; for(i=0;i3;i+) if(qipani0=qipani1&qipani0=qipani2) return qipani0; for(i=0;i3;i+) if(qipan0i=qipan1i&qipan0i=qipan2i) return qipan0i;for(i=0;i3;i+) if(qipan00=qipan11&qipan00=qipan22) return qipan00; fo
7、r(i=0;i3;i+) if(qipan02=qipan11&qipan11=qipan20) return qipan02; return ; 六程序代碼#include stdio.h#include stdlib.hvoid init_qipan();void player_move();void computer_move();void disp();char check();int main(void)char done;done= ;init_qipan();dodisp();player_move();done=check();if(done!= )break;computer
8、_move();done=check();while(done= );if(done=X)printf(恭喜恭喜 You win!n);elseprintf(You lost! 下次加油n);disp();getchar();return 0;char qipan33;void init_qipan(void)int i,j;for(i=0;i3;i+)for(j=0;j3;j+)qipanij= ;void player_move(void)int x,y;printf(Its your turn,please:);scanf(%d%*c%d,&x,&y);x-;y-;if(qipanxy!
9、= )printf(Error, try again.n);player_move();else qipanxy=X;void computer_move(void)int i,j;for(i=0;i3;i+)for(j=0;j3;j+)if(qipanij= )break;if(qipanij= )break;if(i*j=9)printf(pingjun);exit(0);elseqipanij=0;void disp(void)int t;for(t=0;t3;t+)printf(%c|%c|%c ,qipant0,qipant1,qipant2);if(t!=2)printf(n-|-
10、|-n);printf(n);char check(void)int i;for(i=0;i3;i+)if(qipani0=qipani1&qipani0=qipani2)return qipani0;for(i=0;i3;i+)if(qipan0i=qipan1i&qipan0i=qipan2i)return qipan0i;for(i=0;i3;i+)if(qipan00=qipan11&qipan00=qipan22)return qipan00;for(i=0;i3;i+)if(qipan02=qipan11&qipan11=qipan20)return qipan02;return
11、;七程序運(yùn)行結(jié)果下面是這個(gè)程序的運(yùn)行界面圖:界面一即主函數(shù)顯示:界面二及移動(dòng)一個(gè)棋子后:界面三即移動(dòng)兩個(gè)棋子后:界面四即移動(dòng)了三個(gè)棋子后:八編程中遇到的困難及解決方法二維函數(shù)遺忘比較嚴(yán)重,再次看了幾遍九總結(jié)心得及良好建議我們知道,計(jì)算機(jī)專業(yè)的學(xué)生與非計(jì)算機(jī)專業(yè)的學(xué)生在初次接觸計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言課程時(shí),由于上機(jī)時(shí)間的不足,這門課讓我們普遍感覺到這門課內(nèi)容太多,來不及消化。但我們學(xué)院的學(xué)生經(jīng)過這個(gè)星期的集中上機(jī)強(qiáng)化訓(xùn)練,我們初步掌握了編寫中小型程序的編寫方法,實(shí)習(xí)老師的精心指點(diǎn)讓我們獲益匪淺。這讓我們學(xué)院的學(xué)生的程序設(shè)計(jì)能力和綜合能力上了一個(gè)不小的臺(tái)階。我們?cè)趯?shí)習(xí)過程中一直堅(jiān)持了“程序=數(shù)據(jù)結(jié)構(gòu)+算法”這一思想,但在算法上尤其在操作步驟這方面我們還是存在一些不足,在上機(jī)調(diào)試
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 漳州職業(yè)技術(shù)學(xué)院《金融審計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西管理職業(yè)學(xué)院《中國(guó)文化概況》2023-2024學(xué)年第二學(xué)期期末試卷
- 西北民族大學(xué)《框架技術(shù)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 沈陽(yáng)北軟信息職業(yè)技術(shù)學(xué)院《計(jì)算機(jī)在環(huán)境工程中的應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄭州商學(xué)院《理論力學(xué)A》2023-2024學(xué)年第二學(xué)期期末試卷
- 內(nèi)蒙古民族幼兒師范高等??茖W(xué)?!吨鞒炙囆g(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 西北農(nóng)林科技大學(xué)《云計(jì)算與虛擬化技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 石家莊科技職業(yè)學(xué)院《教育學(xué)專題研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 人教版初中歷史與社會(huì)七年級(jí)上冊(cè) 3.3.1耕海牧漁 教學(xué)設(shè)計(jì)
- 南昌職業(yè)大學(xué)《創(chuàng)業(yè)基礎(chǔ)創(chuàng)新教育》2023-2024學(xué)年第二學(xué)期期末試卷
- 幼兒園多媒體課件設(shè)計(jì)與制作第2版(高職學(xué)前教育專業(yè))全套教學(xué)課件
- 動(dòng)力電池包pack控制計(jì)劃
- 養(yǎng)老機(jī)構(gòu)員工考核表
- 臟腑辨證與護(hù)理
- 外科洗手、消毒、鋪巾講座課件
- 《小型局域網(wǎng)構(gòu)建》一體化課程標(biāo)準(zhǔn)
- 甲基丙烯酸甲酯生產(chǎn)工藝畢業(yè)設(shè)計(jì)設(shè)備選型與布置模板
- 單肺通氣策略
- dd5e人物卡可填充格式角色卡夜版
- RT Thread設(shè)備驅(qū)動(dòng)開發(fā)指南
- 高一第二學(xué)期英語(yǔ)教學(xué)計(jì)劃進(jìn)度表
評(píng)論
0/150
提交評(píng)論