No older revisions available
No older revisions available
~cpp
#include <iostream>
#include <ctime>
using namespace std;
void main()
{
srand((unsigned)time(NULL));
int size;
cout <<"맵의 크기를 결정해주세요>> ";
cin>> size;
int MAX=size-1;
int spawnX = rand()%size;
int spawnY = rand()%size;
int **data = new int*[size];
for(int i=0;i<size;i++) {
data[i] = new int[size];
}
for(int k=0;k<size;k++)
{
for(int j=0;j<size;j++)
data[k][j]=0;
}
data[spawnY][spawnX]++;
int out = 0;
while(out==0)
{
out = 1;
int move= rand()%8;
if (move==0)
{
spawnY--;
spawnX--;
if (spawnX>=0 && spawnY>=0)
data[spawnY][spawnX]++;
else
{
spawnY++;
spawnX++;
}
}
else if (move==1)
{
spawnY--;
if (spawnY>=0)
data[spawnY][spawnX]++;
else
spawnY++;
}
else if (move==2)
{
spawnY--;
spawnX++;
if (spawnY>=0 && spawnX<=MAX)
data[spawnY][spawnX]++;
else{
spawnY++;
spawnX--;
}
}
else if (move==3){
spawnX++;
if (spawnX<=MAX)
data[spawnY][spawnX]++;
else{
spawnX--;
}
}
else if (move==4){
spawnX++;
spawnY++;
if (spawnX<=MAX && spawnY<=MAX)
data[spawnY][spawnX]++;
else{
spawnX--;
spawnY--;
}
}
else if (move==5)
{
spawnY++;
if (spawnY<=MAX)
data[spawnY][spawnX]++;
else
spawnY--;
}
else if (move==6)
{
spawnY++;
spawnX--;
if (spawnX>=0 && spawnY<=MAX)
data[spawnY][spawnX]++;
else{
spawnY--;
spawnX++;
}
}
else if (move==7)
{
spawnX--;
if (spawnX>=0)
data[spawnY][spawnX]++;
else{
spawnX++;
}
}
for(k=0;k<size;k++)
{
for(int j=0;j<size;j++)
{
if(data[k][j]==0){
out=0;
break;
}
}
}
}
for(k=0;k<size;k++)
{
for(int j=0;j<size;j++){
cout << data[k][j]<<"\t";
}
cout<<endl;
}
int p=0;
for(k=0;k<size;k++)
{
for(int j=0;j<size;j++)
p+=data[k][j];
}
cout <<endl<<p<<endl;
for(i;i<size;i++)
delete [] data;
}