《五子棋游戲程序設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《五子棋游戲程序設(shè)計(jì)(31頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),C,語(yǔ)言綜合編程訓(xùn)練,C,程序組成,C,程序,源程序1,源程序2,源程序,n,預(yù)編譯命令,函數(shù)1,函數(shù),n,說明部分,執(zhí)行部分,開發(fā)方法:,自上向下,逐步細(xì)化,模塊化設(shè)計(jì),結(jié)構(gòu)化編碼,五 子 棋 游 戲 程 序,一個(gè)綜合實(shí)例的分析,五 子 棋 游 戲 程 序,一個(gè)綜合實(shí)例的分析,一般來說,開發(fā)一個(gè)軟件要經(jīng)過以下步驟:,確定軟件的功能,定義核心數(shù)據(jù)結(jié)構(gòu),對(duì)整個(gè)軟件進(jìn)行功能模塊劃分,編寫程序?qū)崿F(xiàn)各功能模塊,對(duì)源程序進(jìn)行編譯和調(diào)試,形成軟件產(chǎn)品,查看源程序,功 能 分 析,五子棋棋盤,兩位玩家交替行棋,五子相連判定
2、贏棋,查看源程序,定義核心數(shù)據(jù)結(jié)構(gòu),定義,char,gChessBoard,1919;,表示棋盤,棋盤上每個(gè)交叉點(diǎn)有,三種,狀態(tài),當(dāng)前,光標(biāo)位置,表示,查看源程序,struct,point,int,x;,int,y;,;,程序的模塊劃分,查看源程序,畫棋盤,顯示提示信息,棋盤置空,接收,處理用戶輸入,直至:,分出勝負(fù),按退出鍵,判斷落子鍵有效性,更新數(shù)組與棋盤顯示,判斷是否走成五子相連,更新全局變量,gCursor,移動(dòng)光標(biāo)至新位置,程 序 的 編 制 細(xì) 節(jié),查看源程序,定義核心數(shù)據(jù)結(jié)構(gòu),初始化,接收按鍵,移動(dòng)光標(biāo),落子與判定勝負(fù),main(),函數(shù),程序中用到的庫(kù)函數(shù)介紹,bioskey,
3、程 序 的 編 制 細(xì) 節(jié),程序中用到的庫(kù)函數(shù),textmode,clrscr,putch,cputs,gotoxy,textcolor,delay,sound,與,nosound,用 戶 手 冊(cè),查看源程序,設(shè)計(jì)任務(wù),系統(tǒng)以,菜單方式,工作(文本菜單或圖形菜單),輸入,數(shù)據(jù)模塊,數(shù)據(jù)用,文件,保存,輸出,數(shù)據(jù)模塊,數(shù)據(jù)用,文件,保存,基本,算法,運(yùn)用模塊(排序、查找、插入、比較算法中至少包含一種),系統(tǒng)進(jìn)入,畫面,(靜態(tài)或動(dòng)畫),系統(tǒng)其它功能實(shí)現(xiàn)(任選),參考設(shè)計(jì)題目一:職工信息管理系統(tǒng)設(shè)計(jì),職工信息包括職工號(hào)、姓名、性別、出生年月、學(xué)歷、職務(wù)、工資、住址、電話等(職工號(hào)不重復(fù)),。試設(shè)計(jì)一
4、職工信息管理系統(tǒng),使之能提供以下功能:,系統(tǒng)以,菜單方式,工作,職工信息,錄入,功能(職工信息用,文件,保存)輸入,職工信息,瀏覽,功能 輸出,查詢或排序,功能:(至少一種查詢方式)算法,按工資查詢,按學(xué)歷查詢等,系統(tǒng)進(jìn)入,畫面,(靜態(tài)或動(dòng)畫),職工信息刪除、修改功能(任選項(xiàng)),參考設(shè)計(jì)題目二:飛機(jī)訂票系統(tǒng)設(shè)計(jì),假定民航機(jī)場(chǎng)共有,n,個(gè)航班,每個(gè)航班有一航班號(hào)、確定的航線(起始站、終點(diǎn)站)、確定的飛行時(shí)間(星期幾)和一定的成員訂額。試設(shè)計(jì)一民航訂票系統(tǒng),使之能提供下列服務(wù):,系統(tǒng)以,菜單方式,工作,航班信息,錄入,功能(航班信息用,文件,保存)輸入,航班信息,瀏覽,功能輸出,查詢,航線:(至少
5、一種查詢方式)算法,按航班號(hào)查詢,按終點(diǎn)站查詢,系統(tǒng)進(jìn)入,畫面,(靜態(tài)或動(dòng)畫),承辦訂票和退票業(yè)務(wù)(可選項(xiàng)),參考設(shè)計(jì)題目三:學(xué)生選修課程系統(tǒng)設(shè)計(jì),假定有,n,門課程,每門課程有課程編號(hào),課程名稱,課程性質(zhì),總學(xué)時(shí),授課學(xué)時(shí),實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開課學(xué)期等信息,學(xué)生可按要求(如總學(xué)分不得少于60)自由選課。試設(shè)計(jì)一選修課程系統(tǒng),使之能提供以下功能:,系統(tǒng)以,菜單方式,工作,課程信息,錄入,功能(課程信息用,文件,保存)輸入,課程信息,瀏覽,功能輸出,查詢,功能:(至少一種查詢方式)算法,按學(xué)分查詢,按課程性質(zhì)查詢,系統(tǒng)進(jìn)入,畫面,(靜態(tài)或動(dòng)畫),學(xué)生選修課程(可選項(xiàng)),參考設(shè)計(jì)題目四:圖書信
6、息管理系統(tǒng)設(shè)計(jì),圖書信息包括:登錄號(hào)、書名、作者名、分類號(hào)、出版單位、出版時(shí)間、價(jià)格等。,試設(shè)計(jì)一圖書信息管理系統(tǒng),使之能提供以下功能:,系統(tǒng)以,菜單方式,工作,圖書信息,錄入,功能(圖書信息用,文件,保存)輸入,圖書信息,瀏覽,功能輸出,查詢或排序,功能:(至少一種查詢方式)算法,按書名查詢,按作者名查詢,系統(tǒng)進(jìn)入,畫面,(靜態(tài)或動(dòng)畫),圖書信息的刪除與修改(可選項(xiàng)),設(shè)計(jì)要求與設(shè)計(jì)報(bào)告,設(shè)計(jì)要求,可自己選定題目,但至少包含五個(gè)功能模塊,模塊化程序設(shè)計(jì),鋸齒型書寫格式,必須,上機(jī)調(diào)試通過,實(shí)習(xí)報(bào)告,語(yǔ)言簡(jiǎn)練,條理清楚,圖表規(guī)范,程序設(shè)計(jì)組成框圖、流程圖,模塊功能說明(如函數(shù)功能、入口及出口參
7、數(shù)說明,函數(shù)調(diào)用關(guān)系描述等),調(diào)試與測(cè)試:調(diào)試方法,測(cè)試結(jié)果的分析與討論,測(cè)試過程中遇到的主要問題及采取的解決措施,源程序清單和執(zhí)行結(jié)果(軟盤):清單中應(yīng)有足夠的注釋,圖形設(shè)計(jì),1 顯示系統(tǒng),顯示器:,CRT(,陰極射線管)與控制電路組成,適配器(圖形卡):,CPU,與顯示器的接口,由寄存器組、存儲(chǔ)器和控制電路組成,主機(jī),圖形,控制器,顯示,存儲(chǔ)器,顯示,控制器,適配器,CRT,參考書:,C,高級(jí)實(shí)用程序設(shè)計(jì) 王士元,清華大學(xué)出版社,將要顯示的字符和圖形以數(shù)字形式存儲(chǔ)在卡上的視頻,RAM,中,,再,轉(zhuǎn)換,成視頻模擬信號(hào),傳送,給相應(yīng)的顯示器,顯示模式,文本模式:顯示緩沖區(qū)中存放顯示字符的代碼(
8、,ASCII,碼或漢字機(jī)內(nèi)碼),及字符的屬性,顯示屏幕按字符分成若干行、列,如80列,25行,圖形模式:,顯示緩沖區(qū)中存放顯示屏幕上每點(diǎn)(象素)的顏色或灰度值,顯示屏幕按象素分成若干行、列,如640,480,一般開機(jī)后的模式都是80 25的文本模式,2,Turbo C,繪圖,Turbo C,支持的適配器和圖形模式,x,y,(,0,0),分辨率:640,480,(,0,0),(,0,0),(,20,50),(,639,479),(,400,150),圖形庫(kù)文件與圖形頭文件,graphics.lib,與,graphics.h,圖形顯示的坐標(biāo)與象素,適配器,模式,分辨率,顏色數(shù),標(biāo)識(shí)符,CGA,(,
9、彩色圖形,適配器),EGA,(,增強(qiáng)圖形,適配器),VGA,(,視頻圖形,陣列),0,320,200,4,CGAC0,4,640,200,2,CGAHI,1,320,200,4,CGAC1,2,320,200,4,CGAC2,3,320,200,4,CGAC3,0,640,200,16,EGAL0,1,640,350,16,EGAHI,0,640,200,16,VGAL0,1,640,350,16,VGAMED,2,640,480,16,VGAHI,圖形系統(tǒng)的初始化,圖形系統(tǒng)初始化函數(shù),void,initgraph,(,int,*driver,int,*mode,char*,pathtodri
10、ver,),其中;,driver,顯示適配器驅(qū)動(dòng)程序的枚舉變量,mode,圖形模式(模式號(hào)或模式標(biāo)識(shí)符),pathtodriver,適配器驅(qū)動(dòng)程序的尋找路徑,“”表示在當(dāng)前目錄下(*.,BGI),enum,graphics_driverDETECT,CGA,MCGA,EGA,EGA64,VGA,PC3270;,DETECT,自動(dòng)檢測(cè)所用顯示適配器的類型,將相應(yīng)的驅(qū)動(dòng)程序裝入,并將其最高顯示模式作為當(dāng)前顯示模式,使用圖形方式時(shí)先進(jìn)行圖形系統(tǒng)初始化,,檢測(cè)或設(shè)置指定的圖形模式,#,include,main(),int,driver=DETECT,mode;,initgraph,(,&,driver
11、,&,mode,“”,);,.,closegraph,();,initgraph,(&driver,&mode,“,d:,tc,bgi,”,);,#,include,main(),int,driver=VGA;,int,mode=VGAHI;,initgraph,(&driver,&mode,“”,);,.,closegraph,();,將指定模式的驅(qū)動(dòng)程序(*.,GBI),從當(dāng)前路徑下調(diào)入內(nèi)存,關(guān)閉圖形系統(tǒng)回到文本模式,圖形程序的,獨(dú)立運(yùn)行,問題,為使圖形方式的,C,源程序能夠脫離,TC,環(huán)境下運(yùn)行,應(yīng)對(duì),EGAVGA,顯示器的驅(qū)動(dòng)程序.,BGI,轉(zhuǎn)換成.,OBJ,文件:,C:TC,BGIO
12、BJ,EGAVGA,然后,將,EGAVGA.OBJ,與,GRAPHICS.LIB,進(jìn)行連接:,C:TC,TLIB,LIBGRAPHICS.LIB+EGAVGA.OBJ,程序中,initgraph,(),調(diào)用前要用,registerbgidriver,(),進(jìn)行登記:,registerbgidriver,(EGAVGA_driver);,清屏和恢復(fù)顯示方式函數(shù),void,cleardevice,(void);,void,closegraph,(void);,基本圖形函數(shù),畫點(diǎn):,putpixel,(),getpixel,(),坐標(biāo)移動(dòng):,moveto,(),moverel,(),getx,(),
13、gety,(),畫線:,line(),lineto,(),linerel,(),畫矩形和條形圖:,rectangle()bar(),橢圓、圓、圓弧和扇形:,ellipse()circle()arc(),pieslice,(),顏色控制函數(shù),設(shè)調(diào)色板:,setpalette,(),設(shè)背景色:,setbkcolor,(),設(shè)繪圖色:,setcolor,(),關(guān)閉圖形系統(tǒng)回到文本模式,顏色值,顏色名,顏色,顏色值,顏色名,顏色,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,BLACK,BLUE,GREEN,CYAN,RED,MAGENTA,BROWN,LIGHTGRAY
14、,DARKGRAY,LIGHTBLUE,LIGHTGREEN,LIGHTCYAN,LIGHTRED,LIGHTMAGENTA,YELLOW,WHITE,黑,藍(lán),綠,青,紅,洋紅,棕,淺灰,深灰,淡藍(lán),淡綠,淡青,淡紅,淡洋紅,黃,白,設(shè)定線型函數(shù):,setlinestyle,(),填充函數(shù),設(shè)定填充模式:,setfillstyle,(),常用函數(shù):,bar3d()sector(),fillellipse,(),fillpoly,(),屏幕操作函數(shù),屏幕圖象存儲(chǔ)與顯示:,getimage,(),putimage,(),imagesize,(),視口函數(shù),setviewport,(),clearv
15、iewport,(),圖形方式下的文本輸出,文本輸出:,outtext,(),outtextxy,(),定義文本字型:,settextstyle,(),文本的屏幕輸出,#,include,屏幕坐標(biāo),(,1,1),(,80,25),文本方式控制函數(shù),void,textmode,(,int newmode,);,Turbo C,支持5種文本顯示方式,方式,方式名,行,列和顏色,0,BW40,40,25 黑白,1,C40,40,25 彩色,2,BW80,80,25 黑白,3,C80,80,25 彩色,7,MONO,80,25 單色,-1,LASTMODE,上一次的顯示方式,文本方式下顏色控制函數(shù),文
16、本顏色,textcolor,(),文本背景,textbackground,(),文本屬性,textattr,(),BLINK,R,G,B,I,R,G,B,背景色,字符色,閃爍,加亮,字符顯示亮度控制函數(shù),highvideo,(),lowvideo,(),normvideo,(),窗口設(shè)置與文本輸出函數(shù),window(),cprintf,(),cputs,(),putch,(),清屏與光標(biāo)操作函數(shù),clrscr,(),clreol,(),delline,(),gotoxy,(),wherex,(),wherey,(),屏幕文本移動(dòng)與存取函數(shù),movetext,(),gettext,(),puttext,(),菜單及其設(shè)計(jì)要點(diǎn),菜單作用:,由若干任務(wù)項(xiàng)組成的畫面(界面),選擇一項(xiàng)按鍵確定后,即執(zhí)行相應(yīng)的功能,菜單顯示方式:,文本方式,菜單與,圖形方式,菜單,菜單種類:,固定式菜單,、,彈出式菜單,,,下拉式菜單,optmenu,.c,popdown,.c,text_men.c,menu_s.c,menu_,gra,.c,plane_e.c,菜單設(shè)計(jì),要點(diǎn),:,菜單窗口圖象的存儲(chǔ)與顯示,新的