⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 init.cpp

📁 这是我以前数据结构的课设
💻 CPP
字号:
//==============初始化有关函数==================

//****************************************************
//读取地图数据
BOOL LoadMaps()
{
	char *Name[]={"maps\\home.map","maps\\city.map","maps\\wood.map","maps\\f_wood.map","maps\\palace.map",\
				"maps\\shop01.map","maps\\shop02.map","maps\\shop03.map","maps\\shop04.map"};
	FILE *fp;
	
	for( int i=0; i<MAPS; i++)
	{
		fp=fopen(Name[i],"rb");
		if( fp==NULL )	return FALSE;
		fread(Map[ i ].Name, 32, 1, fp);
		fread(&Map[ i ].Width, 4, 1, fp);
		fread(&Map[ i ].Hight, 4, 1, fp);
		fread(&Map[ i ].Ground, 1, 1, fp);

		Map[ i ].Data=(unsigned short *)malloc( Map[ i ].Width * Map[ i ].Hight*2 );
		fseek(fp,48,SEEK_SET);
		fread(Map[ i ].Data, 2, Map[ i ].Width*Map[ i ].Hight, fp);
		fclose(fp);
	}
	return TRUE;
}

//*********************************************
//读取NPC数据
BOOL LoadNpcData(int map)
{
	char *Npc[]={"maps\\home.npc","maps\\city.npc","maps\\wood.npc","maps\\f_wood.npc","maps\\palace.npc",\
				 "maps\\shop01.npc","maps\\shop02.npc","maps\\shop03.npc","maps\\shop04.ncp"};
	char *data=0;
	int fh;
	int nbytes;
	int lpFile=0;

   	for( int i=0; i<MAPS; i++)
	{
		fh = _open( Npc[i], _O_RDONLY );
		nbytes=_filelength(fh);
		free(data);
		data=(char *)malloc(nbytes);
		_read( fh, data, nbytes );
		_close(fh);
					
		lpFile=0;
		Map[i].Npc_Nums=ReadLine(data,lpFile,0);
		//申请内存空间
		Map[i].NPC=(Role *)calloc(sizeof(Role),Map[i].Npc_Nums);
		
		for( int j=0; j<Map[i].Npc_Nums; j++)
		{
		Map[i].NPC[j].ID = ReadLine(data,lpFile,0);	
		Map[i].NPC[j].Pic = ReadLine(data,lpFile,0);	
		Map[i].NPC[j].Enemy = ReadLine(data,lpFile,0);	
		Map[i].NPC[j].TalkNum = ReadLine(data,lpFile,0);	
		Map[i].NPC[j].Active = ReadLine(data,lpFile,0);
		Map[i].NPC[j].Show = ReadLine(data,lpFile,0);	
		ReadLine( data, lpFile, Map[i].NPC[j].Name);
		Map[i].NPC[j].Width = ReadLine(data,lpFile,0);	
		Map[i].NPC[j].Hight = ReadLine(data,lpFile,0);
		Map[i].NPC[j].x = ReadLine(data,lpFile,0);	
		Map[i].NPC[j].y = ReadLine(data,lpFile,0);
		Map[i].NPC[j].old_x = ReadLine(data,lpFile,0);	
		Map[i].NPC[j].old_y = ReadLine(data,lpFile,0);
		Map[i].NPC[j].Way = ReadLine(data,lpFile,0);	
		Map[i].NPC[j].Stats = ReadLine(data,lpFile,0);
		Map[i].NPC[j].Level = ReadLine(data,lpFile,0);	
		Map[i].NPC[j].Exp = ReadLine(data,lpFile,0);
		Map[i].NPC[j].Lift = ReadLine(data,lpFile,0);	
		Map[i].NPC[j].MaxLift = ReadLine(data,lpFile,0);
		Map[i].NPC[j].Attack = ReadLine(data,lpFile,0);	
		Map[i].NPC[j].Defend = ReadLine(data,lpFile,0);
		Map[i].NPC[j].Speed = ReadLine(data,lpFile,0);	
		ReadLine(data, lpFile, (char *)Map[i].NPC[j].Goods );
		Map[i].NPC[j].Money = ReadLine(data,lpFile,0);	
		Map[i].NPC[j].Surface = lpDDSNpc[Map[i].NPC[j].Pic];

		ReadLine(data,lpFile,0);
		}
	}
	return TRUE;
}

//读行
int ReadLine(char *datas,int &n,char *Chs,int Seek)
{
	char chr[1024]="";
	char tmp;
	int m=0;

	n+=Seek;
	memset(chr,0,1024);
	while( 1 )
	{
		tmp=datas[n];
		n++;
		if( tmp==';' )
		{
			while(1)
			{
				tmp=datas[n];
				n++;
				if( tmp=='\n' ) break;
			}
			break;
		}
		chr[m]=tmp;
		m++;
	}
	/*char s[100];
	sprintf(s,"%d",atoi(chr));
	MessageBox(hWnd,s,chr,MB_OK);*/

	if( Chs==0 ) return atoi(chr);
	else strcpy(Chs,chr);
	return 1;
}


//********************
//读取声音数据
void LoadSoundData()
{
	char *dead[]={"voc\\dead_00.wav","voc\\dead_01.wav","voc\\dead_02.wav"};
	char *Ao[]  ={"voc\\ao_00.wav", "voc\\ao_01.wav","voc\\ao_02.wav"};
	char *Attack[]={"voc\\ack_00.wav","voc\\ack_01.wav","voc\\ack_02.wav"};
	int i;

	for(i=0; i<3; i++)
	{
		SoundDead[i]=LoadSoundFX(hWnd,dead[i]);
		SoundAo[i]=LoadSoundFX(hWnd,Ao[i]);
		SoundAttack[i]=LoadSoundFX(hWnd,Attack[i]);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -