  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		ufochen
 
 
  註冊時間: 2003-09-17 文章: 166
 
  第 1 樓
  | 
		
			
				 發表於: 星期四 二月 01, 2007 1:01 am    文章主題: 請會C語言的,看看能不能翻成VFP | 
				     | 
			 
			
				
  | 
			 
			
				會自動找最佳方向走的‘老鼠走迷宮’程式!其中利用 count 陣列來儲存每個點走過次數,進而求出四個方向裡頭最佳方向! 
 
 	  | 代碼: | 	 		  
 
 
#include <cstdlib> 
 
#include <iostream> 
 
 
 
 
using namespace std; 
 
 
 
 
int main()
 
{ 
 
    int x = 1, y = 1; // Save X and Y of the Array, Maze
 
    int maze[10][10] = { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 
 
                                 { 1, 0, 0, 0, 1, 0, 1, 0, 0, 1}, 
 
                                 { 1, 1, 1, 0, 1, 0, 1, 1, 0, 1}, 
 
                                 { 1, 0, 0, 0, 1, 0, 0, 0, 0, 1}, 
 
                                 { 1, 0, 1, 1, 1, 0, 1, 0, 1, 1}, 
 
                                 { 1, 0, 1, 0, 0, 0, 1, 0, 1, 1}, 
 
                                 { 1, 0, 0, 0, 1, 0, 1, 0, 0, 1}, 
 
                                 { 1, 0, 1, 1, 1, 0, 1, 0, 1, 1}, 
 
                                 { 1, 0, 1, 0, 0, 0, 1, 0, 0, 1}, 
 
                                 { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}};
 
                         
 
    int min_x = 1, min_y = 1; // Save the Min X and Y (in Four Direction) of the Array, Count
 
    int count[10][10] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
                                  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 
 
                                  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
                                  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
                                  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
                                  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
                                  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
                                  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
                                  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
                                  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};
 
    
 
    while(!(x == 8 && y == 8 )) {
 
        int d; // Save the Best Direction Now 
 
        
 
        // Print Maze
 
        for(int i = 0; i < 10; i++) { 
 
          for(int j = 0; j < 10; j++)
 
            if(i == x && j == y)
 
                cout << "@  "; 
 
            else if(maze[i][j] == 1)
 
                cout << "|  ";
 
            else  
 
                cout << "   "; 
 
          cout << "\n";  
 
        } 
 
        system("PAUSE"); 
 
    
 
        // Choose Direction
 
        if(maze[x-1][y] == 0) {
 
            d = 0;
 
            min_x = x - 1;
 
            min_y = y;
 
        }
 
        if(maze[x+1][y] == 0 && count[x+1][y] <= count[min_x][min_y]) {
 
            d = 1;
 
            min_x = x+1;
 
            min_y = y;
 
        }
 
        if(maze[x][y-1] == 0 && count[x][y-1] <= count[min_x][min_y]) {
 
            d = 2;
 
            min_x = x;
 
            min_y = y-1;
 
        } 
 
        if(maze[x][y+1] == 0 && count[x][y+1] <= count[min_x][min_y]) {
 
            d = 3;
 
            min_x = x;
 
            min_y = y+1;
 
        }
 
        count[min_x][min_y]++;        
 
 
 
 
        // Move
 
        switch(d) {
 
            // Up      
 
            case 0: 
 
                 x--; 
 
                 break; 
 
            // Down
 
            case 1: 
 
                 x++;
 
                 break;
 
            // Left
 
            case 2:
 
                 y--;
 
                 break;
 
            // Right
 
            case 3: 
 
                 y++;
 
                 break;   
 
            default: 
 
                 cout << "Error\n";
 
        }
 
    } 
 
 
 
 
    cout << "\n==========到達終點==========\n\n";
 
 | 	 
  | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 2 樓
  | 
		
			
				 發表於: 星期四 二月 01, 2007 8:37 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				會C ,
 
太簡單不想翻. _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		garfield Site Admin
  
  註冊時間: 2003-01-30 文章: 2160
 
  第 3 樓
  | 
		
			
				 發表於: 星期四 二月 01, 2007 2:23 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				用一般程式語言的語法(變數/判斷/迴圈)來看就可看出大概的樣子,
 
又不是要你修改原程式,
 
不一定要會 C . _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 4 樓
  | 
		
			
				 發表於: 星期四 二月 01, 2007 5:02 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				這個範例已經很有良心了,
 
沒有使用"天書"語法.  ^_^ _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		ufochen
 
 
  註冊時間: 2003-09-17 文章: 166
 
  第 5 樓
  | 
		
			
				 發表於: 星期五 二月 02, 2007 6:54 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | syntech 寫到: | 	 		  這個範例已經很有良心了,
 
沒有使用"天書"語法.  ^_^ | 	  
 
對於懂的人也許真的很簡單,但對於不懂的人可能真的很困難,如果找只是舉手之勞
 
,幫幫人家又何仿?這個討論區成立的宗旨不是在這裡嗎? | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 6 樓
  | 
		
			
				 發表於: 星期五 二月 02, 2007 8:40 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				這種話已經聽到不想聽了.
 
 
回答的人最大,
 
憑什麼會的人就要告訴你,
 
大家都是從不會被逼到會的.
 
 
不想受氣就多學一種工具. _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		ufochen
 
 
  註冊時間: 2003-09-17 文章: 166
 
  第 7 樓
  | 
		
			
				 發表於: 星期五 二月 02, 2007 10:21 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | syntech 寫到: | 	 		  這種話已經聽到不想聽了.
 
 
回答的人最大,
 
憑什麼會的人就要告訴你,
 
大家都是從不會被逼到會的.
 
 
不想受氣就多學一種工具. | 	  
 
是的!受教了!但我年紀已大!學VFP只是當消遣!對我用處不大,我並沒有說會的人一定要告訴我,學會了是你的本事,要不要告訴人家,是你的自由!我並不強求! | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		marvin
 
 
  註冊時間: 2004-06-01 文章: 321
 
  第 8 樓
  | 
		
			
				 發表於: 星期五 二月 02, 2007 11:45 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| 你對C全不了解, 卻要把C改為VFP當消遣, 這..... | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |