2009年1月2日 星期五

2008HW17

期末回顧:

這是我做出來的老鼠走迷宮




























程式碼:

void visit(int, int);

int aa[9][9] = {{1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 1, 1, 0, 1, 1, 0, 1},
{1, 0, 0, 0, 0, 1, 0, 0, 1},
{1, 0, 1, 0, 1, 0, 1, 0, 1},
{1, 0, 0, 0, 0, 0, 1, 0, 1},
{1, 1, 0, 1, 1, 0, 1, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1}};

int startxx = 1, startyy = 1; // 入口
int endI = 7, endJ = 7; // 出口

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i, j;
Memo1->Lines->Add("顯示迷宮:");
for(i = 0; i < j =" 0;">Text=Memo1->Text+("█");
else
Memo1->Text=Memo1->Text+(" ");
Memo1->Lines->Add("");
}

visit(startxx, startyy);

}
//---------------------------------------------------------------------------
void visit(int i, int j) {
int a, b;

aa[i][j] = 2;

if(i == endI && j == endJ) {
Form1->Memo1->Lines->Add("");
Form1->Memo1->Lines->Add("顯示路徑:");
for(a = 0; a < b =" 0;">Memo1->Text=Form1->Memo1->Text+("█");
else if(aa[a][b] == 2)
Form1->Memo1->Text=Form1->Memo1->Text+("◇");
else
Form1->Memo1->Text=Form1->Memo1->Text+(" ");
Form1->Memo1->Lines->Add("");
}
}

if(aa[i][j+1] == 0) visit(i, j+1);
if(aa[i+1][j] == 0) visit(i+1, j);
if(aa[i][j-1] == 0) visit(i, j-1);
if(aa[i-1][j] == 0) visit(i-1, j);

aa[i][j] = 0;
}
看樣子感覺還不賴!!!^^
終於做出來了,實在是很有成就感呢,希望老師也能喜歡囉~
-----------------------------------------------------------
12週 76.25
13週 78.75
14週 73.64
15週 58.57
16週 64.55
平均=70.3!!

這樣看起來還不錯唷~
其中是70.7,平均應該也有個70吧

謝謝各位同學的關照^^
謝謝老師的教導
我覺得這堂課!!受益匪淺~
有機會在選老師的課吧
最後我給自己8分

沒有留言:

張貼留言