首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求大神帮忙 小弟我要读取map

2013-11-18 
求大神帮忙 我要读取地图.这里不能上传文件,只能传代码,我的又是整个项目只能加QQ,54739330#include StdA

求大神帮忙 我要读取地图.
这里不能上传文件,只能传代码,我的又是整个项目只能加QQ,54739330
#include "StdAfx.h"
#include "GameMap.h"

enum{
 MAP_NONE,
 MAP_WALL,
};
CGameMap::CGameMap(void)
{
 m_pZoneMap=NULL;
}

CGameMap::~CGameMap(void)
{
  NAVTEQ *pData =NULL;
  map<int,NAVTEQ*>::iterator iter = m_pMapList.begin();
  for (;iter != m_pMapList.end();iter++)
  {
   pData =(*iter).second;
   delete pData;pData=NULL;
  }
  m_pMapList.clear();
}
void CGameMap::initMap(char *pFileName)
{
      ifstream infile(pFileName);
  if (infile.good())
  {
    int iNumber=100;
NAVTEQ *pData=NULL;
while(true)
{
 pData= new NAVTEQ;
 for (int i=0;i< MAX_ROW;i++)
 {
  for(int j=0;j< MAX_COL;j++)
{
  infile>>pData->iData[i][j];
  
  pData->iMapID=iNumber;
  
   
 }
 }
 m_pMapList[iNumber]=pData;
 iNumber++;
}
  }
    infile.close();
}
void CGameMap::upData()
{

}

void CGameMap::pictuer()
{
      for (int i=0;i<MAX_ROW;i++)
      {
  for (int j=0;j<MAX_COL;i++)
  {
   if (m_pZoneMap->iData[i][j]!=MAP_NONE)
   {
     cout<<"";
           }
   else
   {
    cout<<"  ";
   }
  }
      }
}
void CGameMap::setMapID(int iMapID)
{
map<int,NAVTEQ*>::iterator iter = m_pMapList.find(iMapID);
 if (iter != m_pMapList.end()) 
 {
  m_pZoneMap =(*iter).second;
 }

}
这是MAP.CPP的代码 不知道错在哪里
[解决办法]
错误也不说啥现象,看了下,貌似initMap函数里那个while(true)没有退出条件,看上去你外层的if 判断条件应该才是while循环的退出条件吧?

把外面的if去掉while条件改成while(infile.good())

另外发代码也有模版的呀。。。这么看多不舒服

热点排行