求各位大神帮小弟我看下小弟我程序错哪里了。 (迷宫)

求各位大神帮我看下我程序错哪里了。 (迷宫)
#include <cstdlib>
#include <cstdio>
#include <ctime>


int row=50;
int col=50;
int SIZEX_MAZE=row*2+1;
int SIZEY_MAZE=col*2+1;
const int CONST_MAZEX=101;
const int CONST_MAZEY=101;

#define RIGHT 2
#define LEFT -2
#define DOWN 1
#define UP -1

int migong[CONST_MAZEX][CONST_MAZEY]={1};


void setmigong();
bool isnewcell(int x,int y);
bool iscovered();
bool islegalarea(int x,int y);

bool isnewcell(int x,int y)
{
if(migong[y*2-1][x*2-1])
return false;
else
return true;
}

bool iscovered()
{
for(int i=1;i<=col;i++)
{
for(int j=1;j<=row;j++)
{
if(isnewcell(i,j)==true)
return false;
}
}
return true;
}


bool islegalarea(int x,int y)
{
if(x>col||x<1||y>row||y<1)
return false;
return true;
}


void setmigong()
{
srand(time(NULL));

  for(int i=0;i<SIZEX_MAZE;i++)
for(int j=0;j<SIZEY_MAZE;j++)
migong[i][j]=1;
int currx,curry;
int temp1;
int dir=0;

migong[1][1]=0;
curry=currx=1;

for(int k=0; ;k++)
{
dir=0;
if(iscovered()==true)
break;

if(currx==1)
{
temp1=rand();
if(curry==1)
{
if(temp1%2==0)
dir=RIGHT;
else
dir=DOWN;
}
}
else if(curry==row)
{
if(temp1%2==0)
dir=RIGHT;
else
dir=UP;
}
}


if(currx==row)
{
temp1=rand();
if(curry==1)
{
if(temp1%2==0)
dir=LEFT;
else
dir=DOWN;
}
}
else if(curry==row)
{
if(temp1%2==0)
dir=LEFT;
else
dir=UP;
}
}

   
  temp1=rand()%4;

  if(temp1==0||dir==RIGHT)
{
if(dir==RIGHT)
dir=0;
currx++;


if(islegalarea(currx,curry)==false)
{
currx--;
continue;
}

if(isnewcell(currx,curry)==ture)
{
migong[curry*2-1][currx*2-1]=0;
migong[curry*2-1][currx*2-2]=0;
}
continue;
}
else if(temp1==1||dir==LEFT)
{
if(dir==LEFT)
dir=0;
currx--;


if(islegalarea(currx,curry)==false)
{
currx++;
continue;
}

if(isnewcell(currx,curry)==ture)
{
migong[curry*2-1][currx*2-1]=0;
migong[curry*2-1][currx*2]=0;
}
continue;
}
else if(temp1==2||dir==DOWN)
{
if(dir==DOWN)
dir=0;
curryx++;


if(islegalarea(currx,curry)==false)
{
curry--;
continue;
}

if(isnewcell(currx,curry)==ture)
{
migong[curry*2-1][currx*2-1]=0;
migong[curry*2-2][currx*2-2]=0;
}
continue;
}
else if(temp1==3||dir==UP)
{
if(dir==UP)
dir=0;
curry--;


if(islegalarea(currx,curry)==false)
{
curry++;
continue;
}

if(isnewcell(currx,curry)==ture)
{
migong[curry*2-1][currx*2-1]=0;
migong[curry*2][currx*2-2]=0;
}
continue;
}
}





}

int main()
{
setmigong();
return 0;
}



一下是错误项。。但是我发现没有错呀。。
--------------------Configuration: sheji - Win32 Debug--------------------
Compiling...
migong.cpp
E:\zx\c++\Microsoft Visual Studio\MyProjects\sheji\migong.cpp(118) : error C2501: 'temp1' : missing storage-class or type specifiers
E:\zx\c++\Microsoft Visual Studio\MyProjects\sheji\migong.cpp(120) : error C2143: syntax error : missing ';' before 'if'