freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

數據結構課程設計—迷宮求解-資料下載頁

2025-06-27 10:34本頁面
  

【正文】 int map[MAZE_MAX+2][MAZE_MAX+2],int x,int y){ int z1,z2。 for(z1=0,z2=2*y+2。z1=2*x+2。z1++)map[z1][0]=1,map[z1][z2]=1。 for(z1=0,z2=2*x+2。z1=2*y+2。z1++)map[0][z1]=1,map[z2][z1]=1。 map[1][2]=1。 map[2*x+1][2*y]=1。srand((unsigned)time(NULL))。 search(map,rand()%x+1,rand()%y+1)。 map[1][0] = 39。139。 map[x2][y1] = 39。139。}//生成迷宮文件 C 實現void Maze_File_Make (int mazeMap[MAZE_MAX * 2][MAZE_MAX * 2],int x,int y ){ 生成隨機迷宮地圖文件并讀取。 }2. //打印迷宮void PrintMaze(MazeType maze){ 打印迷宮路徑地圖。 }//為建立的迷宮找到一條路徑Status MazePath(MazeType amp。maze,PosType start,PosType end){ SqStack s。SElemType e。InitStack(s)。PosType curpos=start。 curstep = 1。 do{if(Pass(maze,curpos)){ FootPrint(maze,curpos)。e=CreateSElem(curstep,curpos,1)。 Push(s,e)。if(PosEquare(curpos,end))return TURE。 curpos=NextPos(curpos,1)。curstep++。 } else{if(!StackEmpty(s)){ Pop(s,e)。while( == 4 amp。amp。 !StackEmpty(s)){ MarkPrint(maze,)。Pop(s,e)。curstep。 } if( 4 ){ ++。Push(s,e)。curpos=NextPos(,)。}}} }while(!StackEmpty(s))。 return FALSE。}3. include PosType start。PosType end。PosType curPos。PosType prePos。int getPos(){pos = 鍵位標識符。 return pos。}Status MovePos ( MazeType amp。maze, int pos ){ switch(pos){ case : 向pos方向移動。 } return 0。}bool isMoveable ( MazeType amp。maze ,PosType pos){ if ( [][] == 1 )return false。 return true。}void disPlay ( MazeType amp。maze, PosType pos ){ 顯示迷宮。 }void disPlay_2 ( MazeType amp。maze, PosType pos ){ 顯示小人的當前位置。}4. 主函數include int main(){ //主菜單 MainChoiceMenu()。 return 0。}//主函數函數調用關系圖如下:四: 調試分析1. 本次作業(yè)比較簡單 , 只是后期在原來的程序上做了許多擴展, 如實現隨機迷宮地圖的自動生成 和 游戲模式. 初期的調試總是輸出 “沒有找到路徑”, 但是迷宮的路徑確實是存在的,后來發(fā)現是由于迷宮的自生成算法與輸入有些不一致, 更正了行列順序后,程序能正常運行.2. 在設計迷宮初始化函數的時候,參數的傳遞出現錯誤,主要是對指針和引用的理解出現混淆,通過查閱相關資料, 弄清楚了兩者之間的區(qū)別,指針是用于指向一個變量的地址,而引用只是對一個已存在變量的一個重命名.3. 在調試過程中使用printf函數輸出標志信息跟蹤函數調用,收到了顯著的效果,大大提高了調試效率,有利于以后的代碼調試.4. 使用了小部分的win32 API,發(fā)現使用局部句柄時,調用的winAPI不能正常運行,改成全局后問題解決.5. 程序源代碼中仍有部分重復代碼,可以模塊化,實現代碼重用.6. 在實現游戲功能時發(fā)現,每次調用disPlay 函數時都進行清屏操作,屏幕的閃動幅度非常大,眼睛很容易疲勞, 第一次改進后, 去除了清屏操作,而采用覆蓋式的輸出 , 界面趨向與穩(wěn)定,但是,在進行高頻率按鍵時,仍然可以發(fā)現有較小的閃動,發(fā)現迷宮地圖是不變的,只要重畫改變部分就可以了,再次改進后,游戲時已經沒有閃屏現象出現.代碼中的主要算法 : Make_Maze的時間復雜度為 O( n * logn ), MazePath 的時間復雜度為O( n * m ).7. 經驗體會: 使用模塊化操作易于代碼的調試和修改,但是在解決這些問題的過程中,鞏固和加深了我們對已學知識的理解,對團隊合作有了一個比較基礎的認識,為以后的工作實踐打下了基礎. DOS 操作系統(tǒng), . , 即顯示文本方式的用戶界面:操作提示信息操作命令清單鍵入選擇3. 進入”建立自定義迷宮” 命令后, 根據提示輸入 迷宮的行和列,回車后即可得到”迷宮建立完成”的提示信息.數據不合要求,如( 0 , 0 ),則會提示: 本程序設置的數據范圍為行列 均在 1 – 49 之間.4. 進入 “輸出迷宮路徑” 命令后, 程序 立即會顯示先前生成迷宮的可通路徑,如果迷宮還未生成,則會提示用戶”迷宮未生成”.5. 進入 “試玩當前迷宮” 命令后, 用戶只需控制方向鍵就可移動小人玩此游戲, 游戲中途可按 ‘ESC’建 ,會輸出用戶的游戲時間和所走步數.此為出口6. 輸入 “0” 即可退出此演示程序.六. 測試結果1. 根據提示輸入4,10. 生成迷宮如下 :1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 0 1 1 0 1 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 0 1 0 0 0 1 0 0 0 1 0 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 1 0 0 0 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1求解后的路徑如下:2. 輸入第二組測試數據 7,8:求解后路徑如下 :七. 附錄 程序清單:XXV
點擊復制文檔內容
語文相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1