More actions
imported>Unknown No edit summary |
(Repair MoniWiki formatting after migration) |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 9: | Line 9: | ||
int i=0, j=0, row=0, col=0; | int i=0, j=0, row=0, col=0; | ||
int count=1, direction=0, walk=0; | int count=1, direction=0, walk=0; | ||
int land | int land[12][12]; | ||
for(i=0; i<12; i++) // 벽 (〓) | for(i=0; i<12; i++) // 벽 (〓) | ||
{ | { | ||
land | land[i][0] = -1; | ||
land | land[i][11] = -1; | ||
} | } | ||
for(j=0; j<12; j++) // 벽 (||) | for(j=0; j<12; j++) // 벽 (||) | ||
{ | { | ||
land | land[0][j] = -1; | ||
land | land[11][j] = -1; | ||
} | } | ||
| Line 26: | Line 26: | ||
for(j=1; j<11; j++) | for(j=1; j<11; j++) | ||
{ | { | ||
land | land[i][j] = 0; | ||
} | } | ||
} | } | ||
| Line 33: | Line 33: | ||
row = rand() % 10 + 1; | row = rand() % 10 + 1; | ||
col = rand() % 10 + 1; | col = rand() % 10 + 1; | ||
land | land[row][col]++; // 임의의 첫째점 | ||
while(count != 0) | while(count != 0) | ||
| Line 41: | Line 41: | ||
switch(direction) | switch(direction) | ||
{ | { | ||
case 1: if(land | case 1: if(land[row-1][col-1] != -1) // ↖ 방향 이동 | ||
{ | { | ||
land | land[--row][--col]++; | ||
walk++; | walk++; | ||
break; | break; | ||
} | } | ||
case 2: if(land | case 2: if(land[row-1][col] != -1) // ↑ 방향 이동 | ||
{ | { | ||
land | land[--row][col]++; | ||
walk++; | walk++; | ||
break; | break; | ||
} | } | ||
case 3: if(land | case 3: if(land[row-1][col+1] != -1) // ↗ 방향 이동 | ||
{ | { | ||
land | land[--row][++col]++; | ||
walk++; | walk++; | ||
break; | break; | ||
} | } | ||
case 4: if(land | case 4: if(land[row][col-1] != -1) // ← 방향 이동 | ||
{ | { | ||
land | land[row][--col]++; | ||
walk++; | walk++; | ||
break; | break; | ||
} | } | ||
case 5: if(land | case 5: if(land[row][col+1] != -1) // → 방향 이동 | ||
{ | { | ||
land | land[row][++col]++; | ||
walk++; | walk++; | ||
break; | break; | ||
} | } | ||
case 6: if(land | case 6: if(land[row+1][col-1] != -1) // ↙ 방향 이동 | ||
{ | { | ||
land | land[++row][--col]++; | ||
walk++; | walk++; | ||
break; | break; | ||
} | } | ||
case 7: if(land | case 7: if(land[row+1][col] != -1) // ↓ 방향 이동 | ||
{ | { | ||
land | land[++row][col]++; | ||
walk++; | walk++; | ||
break; | break; | ||
} | } | ||
case 8: if(land | case 8: if(land[row+1][col+1] != -1) // ↘ 방향 이동 | ||
{ | { | ||
land | land[++row][++col]++; | ||
walk++; | walk++; | ||
break; | break; | ||
| Line 102: | Line 102: | ||
for(j=1; j<11; j++) | for(j=1; j<11; j++) | ||
{ | { | ||
if(land | if(land[i][j] == 0) | ||
{ | { | ||
count++; | count++; | ||
| Line 108: | Line 108: | ||
} | } | ||
} | } | ||
if(land | if(land[i][j] == 0) | ||
{ | { | ||
count++; | count++; | ||
| Line 127: | Line 127: | ||
cout << "... 헥헥..;;;\n히, 힘들다... ;□;" << endl; | cout << "... 헥헥..;;;\n히, 힘들다... ;□;" << endl; | ||
else | else | ||
cout << "슈~~\n꽤애애애액 | cout << "슈~~\n꽤애애애액[[User:Maintenance script|Maintenance script]] ([[User talk:Maintenance script|talk]]) 00:34, 29 March 2026 (UTC)!! =□=;;;" << endl; | ||
for(i=1; i<11; i++) | for(i=1; i<11; i++) | ||
{ | { | ||
for(j=1; j<11; j++) | for(j=1; j<11; j++) | ||
cout << land | cout << land[i][j] << "\t"; | ||
cout << "\n"; | cout << "\n"; | ||
} | } | ||
| Line 143: | Line 143: | ||
{ | { | ||
for(j=1; j<11; j++) | for(j=1; j<11; j++) | ||
cout << land | cout << land[i][j] << "\t"; | ||
cout << "\n"; | cout << "\n"; | ||
} | } | ||
| Line 149: | Line 149: | ||
return 0; | return 0; | ||
} | } | ||
<br /><br /><br /> | |||
From. 申 君... | From. 申 君... | ||
---- | ---- | ||
[[RandomWalk]] | [[RandomWalk]] | ||
Latest revision as of 00:34, 29 March 2026
이쁘게 구현하려고 노력했습니다....;; -ㅅ-a
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
int i=0, j=0, row=0, col=0;
int count=1, direction=0, walk=0;
int land[12][12];
for(i=0; i<12; i++) // 벽 (〓)
{
land[i][0] = -1;
land[i][11] = -1;
}
for(j=0; j<12; j++) // 벽 (||)
{
land[0][j] = -1;
land[11][j] = -1;
}
for(i=1; i<11; i++) // 10 X 10 행렬
{
for(j=1; j<11; j++)
{
land[i][j] = 0;
}
}
srand((time(0))); // 랜덤
row = rand() % 10 + 1;
col = rand() % 10 + 1;
land[row][col]++; // 임의의 첫째점
while(count != 0)
{
count = 0;
direction = rand() % 8 + 1;
switch(direction)
{
case 1: if(land[row-1][col-1] != -1) // ↖ 방향 이동
{
land[--row][--col]++;
walk++;
break;
}
case 2: if(land[row-1][col] != -1) // ↑ 방향 이동
{
land[--row][col]++;
walk++;
break;
}
case 3: if(land[row-1][col+1] != -1) // ↗ 방향 이동
{
land[--row][++col]++;
walk++;
break;
}
case 4: if(land[row][col-1] != -1) // ← 방향 이동
{
land[row][--col]++;
walk++;
break;
}
case 5: if(land[row][col+1] != -1) // → 방향 이동
{
land[row][++col]++;
walk++;
break;
}
case 6: if(land[row+1][col-1] != -1) // ↙ 방향 이동
{
land[++row][--col]++;
walk++;
break;
}
case 7: if(land[row+1][col] != -1) // ↓ 방향 이동
{
land[++row][col]++;
walk++;
break;
}
case 8: if(land[row+1][col+1] != -1) // ↘ 방향 이동
{
land[++row][++col]++;
walk++;
break;
}
}
for(i=1; i<11; i++)
{
for(j=1; j<11; j++)
{
if(land[i][j] == 0)
{
count++;
break;
}
}
if(land[i][j] == 0)
{
count++;
break;
}
}
cout << "지금까지 " << walk << " 걸음 걸었";
if(walk >= 0 && walk <= 200)
cout << "다.\n이 정도 쯤이야! 풉!" << endl;
else if(walk > 200 && walk <= 400)
cout << "다...\n점점 압박이..." << endl;
else if(walk > 400 && walk <= 600)
cout << "네....;;\n숨이 가빠오는군...;" << endl;
else if(walk > 600 && walk <= 800)
cout << "구운.......;;\n언제 쯤 끝나려나...?" << endl;
else if(walk > 800 && walk <= 1000)
cout << "... 헥헥..;;;\n히, 힘들다... ;□;" << endl;
else
cout << "슈~~\n꽤애애애액Maintenance script (talk) 00:34, 29 March 2026 (UTC)!! =□=;;;" << endl;
for(i=1; i<11; i++)
{
for(j=1; j<11; j++)
cout << land[i][j] << "\t";
cout << "\n";
}
system("cls");
}
cout << "결국 " << walk << " 걸음으로 모든 곳을 갈 수 있었다... 쿨럭;;\n\n";
for(i=1; i<11; i++)
{
for(j=1; j<11; j++)
cout << land[i][j] << "\t";
cout << "\n";
}
return 0;
}
From. 申 君...