[問題] random walk 邊界問題
題目是10*10的陣列 裡面先放'.' 陣列的[0][0]='A'
以隨機亂數取4的餘數 0 1 2 3 為方向亂走
類似http://bit.ly/9BC3kK第二個圖
我有跑出結果 有結果的圖都是正確的
但是
偶爾會出現沒東西的結果
可是邊界判斷應該沒有錯吧....
問同學也沒有找到哪有錯誤
可以幫我看一下嗎 謝謝
以下是我random_walk的副程式
int r=0;
char ENG=65;
int nx=0,ny=0;
rw[0][0]=ENG;
srand((unsigned)time(NULL));
while( ENG != 90)
{
r= rand() % 4; // random 0~3
ENG++;
switch(r){
case(0): // up
if( (ny-1) > -1 && rw[nx][ny-1] == '.' )
{
--ny;
rw[nx][ny]=ENG;
}
else
ENG--;
break;
case(1): // down
if( (ny+1) < y && rw[nx][ny+1] == '.' )
{
++ny;
rw[nx][ny]=ENG;
}
else
ENG--;
break;
case(2): // left
if( (nx-1) > -1 && rw[nx-1][ny] == '.' )
{
--nx;
rw[nx][ny]=ENG;
}
else
ENG--;
break;
case(3): // right
if( (nx+1) < x && rw[nx+1][ny] == '.' )
{
++nx;
rw[nx][ny]=ENG;
}
else
ENG--;
break;
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.170.39.187
→
04/27 20:46, , 1F
04/27 20:46, 1F
→
04/27 20:47, , 2F
04/27 20:47, 2F
→
04/27 20:55, , 3F
04/27 20:55, 3F
→
04/27 20:56, , 4F
04/27 20:56, 4F
→
04/27 20:57, , 5F
04/27 20:57, 5F
→
04/27 20:57, , 6F
04/27 20:57, 6F
→
04/27 20:57, , 7F
04/27 20:57, 7F
→
04/27 20:58, , 8F
04/27 20:58, 8F
→
04/27 20:58, , 9F
04/27 20:58, 9F
→
04/27 20:58, , 10F
04/27 20:58, 10F
→
04/27 21:02, , 11F
04/27 21:02, 11F
→
04/27 21:04, , 12F
04/27 21:04, 12F
→
04/27 21:04, , 13F
04/27 21:04, 13F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):