【正文】
j++。j++。 switch(direc){ case 0: /* 以 3,0,1的次序嘗試 */ if(iM1amp。i。bg[i+1][j]==0){ if(y479step){y+=step。139。 setwritemode(XOR_PUT)。 int len=10。 這里假定按第一種選擇進行安裝 , 只要在安裝過程中按對盤號的提示 , 順序插 入各個軟盤 , 就可以順利地進行安裝 , 安裝完畢將在 C 盤根目錄下建立一個 TC 子目 錄 , TC 下還建立了兩個了目錄 LIB 和 INCLUDE, LIB 子目錄中存放庫文件 , INCLUDE 子目錄中存放所有頭文件。 Turbo C 概述 Turbo C 的產(chǎn)生與發(fā)展 Turbo C 是美國 Borland 公司的產(chǎn)品 ,Borland公司是一家專門從事軟件開發(fā)、 研制的大公司。T 貝爾實驗室的 Ken Thompson 根據(jù) BCPL 語言設計出較先進的并取名為 B 的語言 , 最后導了 C 語言的 問世。 /*用于記錄各個方向的屬性 */ int infoDown。 2. 隨機生成迷宮內(nèi)部,具體做法是對迷宮內(nèi)部每一個點進行隨機數(shù)判斷,當滿足條件時把這個點標志為圍墻,否則把這個點標記為通路。 2. 開始畫面函數(shù) Wele:負責生成開始畫面。 direc=2。 ran=(int)rand()*4。i++) line(i,y0,i,y1)。 for(i=0。 } else { y=step。 } break。bg[i1][j]==0){ y=step。 } else if(i0amp。j。 setcolor(RED)。bg[i][j+1]==0){ if(x639step){x+=step。bg[i][j1]==0){ if(xstep){x=step。 x+=len。 /* registerbgidriver(EGAVGA_driver)。) a,d分別代表上 ,下 ,左 ,右方向。 Turbo C 基本配置要求 Turbo C 可運行于 IBMPC 系列微機 , 包括 XT, AT 及 IBM 兼容機。 C 語言可以象 匯編語言一樣對位、字節(jié)和地址進行操作 , 而這三者是計算機最基本的工作單元。 待搜索節(jié)點結構體 struct leaf {struct tree *point。 6. 因為路徑搜索樹每次增長都要在所有分支上增長一個節(jié)點,故從樹根到各個末端所走的路程是相同的,而且只 有一個分支可以走到出口,而這條就是最短路徑。 6. 結束畫面函數(shù) GameOver:負責生成結束畫面。 關鍵詞 : C語言 迷宮 編譯 Abstract Along with science and technology of day by day development, calculator information knowledge drive more and more people cognition and usage, nowadays knowledge explosion of ages calculator nowise the question bee people in mon use of daily tool, to 1 usually usage The person of calculator to say, how use good the software be a very important problem, it to people daily of a lot of operation have very big of help, for a technical personnel, usually e in contact with original code, this have to academic association usage C language, although now majority of software of design is pass other high class language and adoption system integration the software edit and translate, their cores still can not get away from usage C language to set up, therefore, simple maze procedure of realization beneficial with provide a good mode of thinking in laterly of the development the item. Keyword: The C language maze edit and translate 目 錄 摘 要 第一章 c語言迷宮的 系統(tǒng)要求和分析 系統(tǒng)要求 系統(tǒng)要求分析 第二章 c語言迷宮 功能模塊結構 功能模塊劃分 各個模塊的功能 第三章 主要模塊的算法說明 程序總體思路 初始化迷宮數(shù)組函數(shù) 尋找路徑函數(shù) Path 路徑樹的節(jié)點結構體 第四章 開發(fā)工具的介紹 Turbo C 語言概述 C 語言的特點 Turbo C 概述 Turbo C 的安裝和啟動 總結 致謝 參考文獻 附錄 附錄 A c語言迷宮的使用說明 附 錄 B 主要代碼 第一章、 系統(tǒng)要求和分析 系統(tǒng)要求 1. 隨機產(chǎn)生一個固定大小的迷宮圖(迷宮有唯一的一個入口,一個出口); 2. 用圖形的方式畫出迷宮圖; 3. 根據(jù)該迷宮圖作出判斷,迷宮又從入口到出口的路線; 4. 如果有路線的話,找到其中的一條路線,并畫出來; 5. 用窮舉的方法找出所有的路線,找到其中步數(shù)最少的路線。 在路徑搜索樹中生成新的節(jié)點函數(shù) TreeNewPoint:負責在函數(shù)TreeGrow 所傳遞來的方向上生成新節(jié)點。通過判斷待搜索節(jié)點鏈表是否為空來控制循環(huán),當鏈表為空時說明路徑搜索樹在上一輪生長過程中沒有生長,即已經(jīng)搜索完迷宮內(nèi)所有可以到達的節(jié)點。 各個結構體成員的用途: 1) 每個點的坐標( int row, int line;用來表示這個點的坐標); 2) 各個方向的屬性( int infoUP, int infoDown, int infoLeft,int infoRigh;用來記錄該節(jié)點在四個方向的情況,初始值 為 0,父節(jié)點方向為 1,有下一個節(jié)點為 2,沒有下一個節(jié)點為 3); 3) 指向父節(jié)點的指針( struct tree *father;用來指向父節(jié)點,以便在完成整個迷宮路徑搜索后倒推出最短路徑)。許多著名的系統(tǒng)軟件 , 如 DBASE Ⅲ PLUS、 DBASE Ⅳ 都是由 C 語言編寫的。還可對數(shù)學協(xié)處理器 (支持 8087/80287/80387 等 )進行仿真。 c 通過實踐的學習,我認到學好計算機要重視實踐操作,不僅僅是學習 C語言,還是其它的語言,以及其它的計算機方面的知識都要重在實踐,所以在以后的學習過程中,我會更加注視實踐操作,使自己便好地學好計算機。 char ch。 setfillstyle(LINE_FILL,BLUE)。a39。d39。 if(i=M1amp。 } else if(j0amp。bg[i][j1]==0){ x=step。 } break。 } else { x=step。bg[i][j1]==0){ x=step。 line(x,y,x+len,y+len)。 } /* 繪制實心矩形 */ void rect(int x0,int y0,int x1,int y1){ int i,j。 if(i=M1amp。 } } else { if(direc!=0amp。 二、功能模塊結構 功能模塊劃分 主要分為圖形驅動,歡迎畫面,初始化迷宮數(shù)組,尋找路徑,輸出迷宮圖形,結束畫面,圖形結束七個模塊。 3. 然后調(diào)用 Path 函數(shù)查找迷宮路徑。 路徑樹的節(jié)點結構體 struct tree {int row。 開發(fā)工具的介紹 C 語言概述 C 語言是 1972 年由美國的 Dennis Ritchie 設計發(fā)明的 , 并首次在 UNIX 操作系統(tǒng) 的 DEC PDP11 計算機上使用。另 外 C 語言也具有強大的圖形功能 , 支持多種顯示器和驅動器。 2. 對 Turbo C 更新版本。 void drawman(int,int,int)。gdriver,amp。 outtextxy(70,150,OTHER KEY :AUTOMATIC)。s39。: if(i0amp。 i=j=0。i。 } else if(jN1amp。i++。 case 1: if(j0amp。i++。 } drawman(x,y,len)。 } break。){ drawman(x,y,len)。 outtextxy(100,180,Press Q to quit)。 int i=0,j=0。通過本次畢業(yè)設計,讓我深 切感悟到,作為一個編程人員,這次設計大大提高了我們綜合運用所學理論知識解決實際問題和不斷創(chuàng)新的能力。 1988 年 , Borland 公司又推出 Turbo 版本 , 增加了圖形庫和文本窗口函數(shù)庫等 , 而 Turbo C 則是該公司 1989 年出版的。為了改變這種情況 , 美國國家標準 研究所 (ANSI)為 C 語言制定了一套 ANSI 標準 , 成為現(xiàn)行的 C 語言標準。 /*沒有下一個節(jié)點為 3*/ struct tree *father。 3. 樹根作為第一個節(jié)點進入 TreeGrow 函數(shù), TreeGrow 函數(shù)判斷出第一次生長的方向(有且只有一個方向)并調(diào)用函數(shù) TreeNewPoint 在這個方向上生成新節(jié)點,并調(diào)用函數(shù) LeafGrow 將這個新節(jié)點增加到待搜索節(jié)點鏈表中。 其中需要調(diào)用: 創(chuàng)建路徑搜索樹的根節(jié)點函數(shù) TreeCreat:負責生成搜索樹的第一個節(jié)點。i++) for(j=0。ia1){ i++。 int direc。jb。 } break。bg[i][j+1]==0){ x+=step。 } else if(jN1amp。i。amp。 } closegraph()。 case 39。 } break。 setcolor(GREEN)。gmode,c:\\turboc2)。 void makebg(int,int)。 Turbo C 內(nèi)容簡介 Turbo C 有六張低密軟盤 (或兩張高密軟盤 )。 C 語言是以函數(shù)形 式提供給用戶的 , 這些函數(shù)可方便的調(diào)用 , 并具有多種循 環(huán)、條件語句控制程序流向 , 從而使程序完全結構化。/*待搜索節(jié)點的鏈表 */ 結構體成員的用途: 1) 處于同一路徑長度的路徑樹一個節(jié)點的指針( str