廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 18594 個閱讀者
 
<<   1   2  下頁 >>(共 2 頁)
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
湛藍威尼斯
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x3
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
文章表情[C/C++][求助] 請老大們幫忙~ 迷宮題
隨機會有不同的地圖~
走迷 ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



獻花 x0 回到頂端 [樓 主] From:台灣教育部 | Posted:2005-11-11 08:43 |
aa 手機 會員卡 葫蘆墩家族
個人文章 個人相簿 個人日記 個人地圖 個人商品
特殊貢獻獎 社區建設獎
頭銜:            
站長
級別: 站長 該用戶目前不上站
推文 x1964 鮮花 x5260
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

你是要用程式產生不同的迷宮還是用程式去走迷宮..? 表情


獻花 x0 回到頂端 [1 樓] From:台灣台灣固網 | Posted:2005-11-11 11:13 |
湛藍威尼斯
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x3
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

產生迷宮後~ 走迷宮~~
需有圖~!
例如
100000
010000
001110
000011

要看到有在走~
表情


獻花 x0 回到頂端 [2 樓] From:台灣教育部 | Posted:2005-11-11 21:14 |
唐老鴨
個人頭像
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x1 鮮花 x230
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用湛藍威尼斯於2005-11-11 21:14發表的 :
產生迷宮後~ 走迷宮~~
需有圖~!
例如
100000
010000
.......

題目再給明確一點....
例如老師有規定陣列要多大還是有些什麼限定的...
晚點寫一個產生迷宮的參考程式給你 ....
走的部份這裡有可以參考的程式 表情...


沒東西可以抓
獻花 x0 回到頂端 [3 樓] From:美國 | Posted:2005-11-12 09:50 |
唐老鴨
個人頭像
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x1 鮮花 x230
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

剛花了點時間幫你把自動產生迷宮的程式寫出來了 表情 .....
33*33的迷宮應該夠你用了吧....
至於走的方法請你自己參考程式區有你要的寫法....
下面我幫你加了些註解...
但也許對你會有些複雜....
請自己努力看懂吧....
不然就參考一些有關遊戲設計的書吧....
我自己也有東西要做....
所以我沒時間解釋給你聽 表情 ....

複製程式
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#define row 35
#define column 35

int maze[row][column];

void generatemaze(int x,int y)
{
       int direction;
       maze[x][y] |= 0x1;  // 標示此格已設定
    
       while (maze[x][y+2]==0 || maze[x+2][y]==0 || maze[x][y-2]==0 || maze[x-2][y]==0) // 如果不是外牆
    {
         direction = rand()%4+1;  // 決定下一個位置
         
               if (direction==1 && maze[x][y+2]==0) // 向右走
               {
                      maze[x][y+1] |= 0x1; // 拆掉右牆
                      generatemaze(x,y+2);
         }
         else if (direction==2 && maze[x-2][y]==0) // 向上走
               {
                      maze[x-1][y] |= 0x1; // 拆掉上牆
                      generatemaze(x-2,y);
         }
         else if (direction==3 && maze[x][y-2]==0) // 向左走
               {
                      maze[x][y-1] |= 0x1; // 拆掉右牆
                      generatemaze(x,y-2); 
         }
         else if (direction==4 && maze[x+2][y]==0) // 向下走
               {
                      maze[x+1][y] |= 0x1; // 拆掉上牆
                      generatemaze(x+2,y); 
         }
    }      
}
void main()
{
       int Si=2,Sj=2,Ei=row-3,Ej=column-3;
       int x,y;
       
       srand(time(NULL));
       
       for (x=0;x<row;x++)
       {
              for (y=0;y<column;y++)
              {
                     if (x==0 || y==0 || y==1 || x==row-2 || x==row-1 || y==column-1 )
                            maze[x][y]=2; // 設定外牆
            else
                            maze[x][y]=0;  // 初始迷宮內部
        }
    }
       
       generatemaze(Ei,Ej); // 產生迷宮
    maze[Si-1][Sj] |= 0x1; // 拆掉入口上牆
       maze[Ei][Ej+1] |= 0x1; // 拆掉出口右牆

       for(x=1; x<row-1; x++)
       {
              for(y=1; y<column-1; y++)
              {
                     if (maze[x][y] == 0 || maze[x][y] == 2)
                            cout<<"█"; 
            else
                            cout<<"  ";
              }
              cout<<endl;
       }
}
請自己排版吧...好懶 表情 .....


沒東西可以抓
獻花 x1 回到頂端 [4 樓] From:美國 | Posted:2005-11-16 11:09 |
湛藍威尼斯
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x3
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

最近忙期中~ 忙報告~ 今天才有時間上來看~
看謝大大回答~ 我們作業是隨機產生一個 1024*768 的地圖~
老鼠走迷宮~ 從左上(入口)到右下(出口)走迷宮~
所以根據大大給的程式碼~ 改個變數數據應該就可以 1024*768
非常感謝大大給的範例~ 走迷宮方式我再爬文~
研究不出來~ 再題出來問~!! 表情 表情


獻花 x0 回到頂端 [5 樓] From:台灣教育部 | Posted:2005-11-28 21:24 |
rakish
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x18
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

書上的..剛好看到...
複製程式
int maze[7][10]={
 1,1,1,1,1,1,1,1,1,1,
 1,0,1,0,1,0,0,0,0,1,
 1,0,1,0,1,0,1,1,0,1,
 1,0,1,0,1,1,1,0,0,1,
 1,0,1,0,0,0,0,0,1,1,
 1,0,0,0,1,1,1,0,0,1,
 1,1,1,1,1,1,1,1,1,1};

int find(int x,int y){//入口
 if(x==1&&y==1){ //出口
  maze[x][y]=2;
  return 1;
 }else{
  if(maze[x][y]==0){
   maze[x][y]=2;  //表示走過
   if(( find(x-1,y)
    +find(x+1,y)
    +find(x,y+1)
    +find(x,y-1))>0)
    return 1;
   }else{
    maze[x][y]=0;
    return 0;
   }
  }else{
    return 0;
  }
 }
}

void main(){
 int i,j;
 find(2,5); //入口
}


人一但長大了
就發現世上的事不像想的那麼好
你總是會一天天長大的
會看得越來越清楚
獻花 x0 回到頂端 [6 樓] From:台灣 | Posted:2005-11-30 15:00 |
teexit
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x4
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

呵呵
大家都會在這邊提供OTZ
一說到迷宮
我們最近也要寫
聽說教到POINT的時候還要我們寫RPG的迷宮
聽說還要打怪物
XD


獻花 x0 回到頂端 [7 樓] From:台灣中華電信 | Posted:2005-11-30 21:22 |
湛藍威尼斯
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x3
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

還要打怪物
好難唷~!! 表情


獻花 x0 回到頂端 [8 樓] From:台灣中華電信 | Posted:2005-12-09 22:44 |
湛藍威尼斯
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x3
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用唐老鴨於2005-11-16 11:09發表的 :
剛花了點時間幫你把自動產生迷宮的程式寫出來了 表情 .....
33*33的迷宮應該夠你用了吧....
至於走的方法請你自己參考程式區有你要的寫法....
下面我幫你加了些註解...
但也許對你會有些複雜....
.......

唐老鴨大大~ 可以跟我講 0x1 <== 這是? 是隨便給的初始值嗎~?
|= <== 這符號在您的程式碼中的意義
我查到這 |= 符號的意義是 執行運算子之後設定
direction = rand()%4+1; // 決定下一個位置
rand()%4+1; <= 這大概低意思~
如果唐老鴨大大很忙低話~
有哪位大大可以告訴我呢~
拜託拜託~


獻花 x0 回到頂端 [9 樓] From:台灣中華電信 | Posted:2005-12-13 02:34 |

<<   1   2  下頁 >>(共 2 頁)
首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.059600 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言