亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? enemy.c

?? 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
?? C
?? 第 1 頁 / 共 5 頁
字號:
    if( f == NULL ){
        print( "文件打開失敗\n");
        return FALSE;
    }

    ENEMY_enemynum=0;
    while( fgets( line, sizeof( line ), f ) ){
        linenum ++;
        if( line[0] == '#' )continue;        /* comment */
        if( line[0] == '\n' )continue;       /* none    */
        chomp( line );

#ifdef _ENEMY_OPTIMUM // Robin 取出最大ENEMY ID
		if( getStringFromIndexWithDelim( line, ",", ENEMY_DATACHARNUM+ENEMY_ID+1,
				token, sizeof(token)) == FALSE )
			continue;
		max_enemyid = max( atoi( token), max_enemyid);
#endif

        ENEMY_enemynum++;
    }

    if( fseek( f, 0, SEEK_SET ) == -1 ){
        fprint( "尋找失敗\n" );
        fclose(f);
        return FALSE;
    }

#ifdef _ENEMY_OPTIMUM
	print("\n 有效ET:%d 最大ET:%d \n", ENEMY_enemynum, max_enemyid);
	ENEMY_enemynum = max_enemyid +1;
#endif

    ENEMY_enemy = allocateMemory( sizeof(struct tagENEMY_EnemyTable)
                                   * ENEMY_enemynum );
    if( ENEMY_enemy == NULL ){
        fprint( "無法分配內存 %d\n" ,
                sizeof(struct tagENEMY_EnemyTable)*ENEMY_enemynum);
        fclose( f );
        return FALSE;
    }
    for( i = 0; i < ENEMY_enemynum; i ++ ) {
    	for( j = 0; j < ENEMY_DATAINTNUM; j ++ ) {
    		ENEMY_setInt( i,j,-1);
    	}
    }
    linenum = 0;
    while( fgets( line, sizeof( line ), f ) ){
        linenum ++;
        if( line[0] == '#' )continue;        /* comment */
        if( line[0] == '\n' )continue;       /* none    */
        chomp( line );
        replaceString( line, '\t' , ' ' );
{
        char    buf[256];
        for( i = 0; i < strlen( line); i ++) {
            if( line[i] != ' ' ) {
                break;
            }
            strcpy( buf, &line[i]);
        }
        if( i != 0 ) {
            strcpy( line, buf);
        }
}
{
        char    token[256];
        int     ret;

#ifdef _ENEMY_OPTIMUM
		if( getStringFromIndexWithDelim( line, ",", ENEMY_DATACHARNUM+ENEMY_ID+1,
				token, sizeof(token)) == FALSE )
			continue;
		enemy_readlen = atoi(token);
#endif

        ret = getStringFromIndexWithDelim( line,",",1,token,sizeof(token));
        if( ret==FALSE ){
            fprint("文件語法錯誤:%s 第%d行\n",filename,linenum);
            continue;
        }
        ENEMY_setChar( enemy_readlen, ENEMY_NAME, token);
        ret = getStringFromIndexWithDelim( line,",",2,token,sizeof(token));
        if( ret==FALSE ){
            fprint("文件語法錯誤:%s 第%d行\n",filename,linenum);
            continue;
        }
        ENEMY_setChar( enemy_readlen, ENEMY_TACTICSOPTION, token);
#ifdef _BATTLENPC_WARP_PLAYER
	    ret = getStringFromIndexWithDelim( line, ",", 3, token, sizeof(token));
        if(ret==FALSE){
            fprint("文件語法錯誤:%s 第%d行\n",filename,linenum);
            continue;
        }
        ENEMY_setChar( enemy_readlen, ENEMY_ACT_CONDITION, token);
#endif

#ifdef _BATTLENPC_WARP_PLAYER
#define	ENEMY_STARTINTNUM		4
#else
#define	ENEMY_STARTINTNUM		3
#endif

        for( i = ENEMY_STARTINTNUM; i < ENEMY_DATAINTNUM+ENEMY_STARTINTNUM; i ++ ) {
            ret = getStringFromIndexWithDelim( line,",",i,token,sizeof(token));
            if( ret==FALSE ){
                fprint("文件語法錯誤:%s 第%d行\n",filename,linenum);
                break;
            }
            ENEMY_setInt( enemy_readlen, i - ENEMY_STARTINTNUM, atoi( token));
        }
        if( i < ENEMY_DATAINTNUM+ENEMY_STARTINTNUM ) continue;
		for( i = 0; i < ENEMYTEMP_enemynum; i ++ ) {
			if( ENEMYTEMP_getInt( i, E_T_TEMPNO)== ENEMY_getInt( enemy_readlen, ENEMY_TEMPNO)){
				break;
			}
		}
		if( i == ENEMYTEMP_enemynum) {
            fprint("文件語法錯誤:%s 第%d行\n",filename,linenum);
			continue;
		}
		ENEMY_enemy[enemy_readlen].enemytemparray = i;
{
		int	lv_min, lv_max;
		lv_min = ENEMY_getInt( enemy_readlen, ENEMY_LV_MIN);
		lv_max = ENEMY_getInt( enemy_readlen, ENEMY_LV_MAX);
		if( lv_min == 0 ) lv_min = lv_max;
		ENEMY_setInt( enemy_readlen, ENEMY_LV_MIN, min( lv_min, lv_max));
		ENEMY_setInt( enemy_readlen, ENEMY_LV_MAX, max( lv_min, lv_max));

}

        enemy_readlen ++;
}
    }
    fclose(f);
    ENEMY_enemynum = enemy_readlen;
    print( "有效寵物數是 %d..", ENEMY_enemynum );

#if 0
    {
        for( i=0; i <ENEMY_enemynum ; i++ ){
            print( "%s ", ENEMY_getChar( i, ENEMY_NAME));
            print( "%s ", ENEMY_getChar( i, ENEMY_TACTICSOPTION));
            for( j = 0; j < ENEMY_DATAINTNUM; j ++ ) {
                print( "%d ", ENEMY_getInt( i, j));
            }
            print( "[%d]", ENEMY_enemy[i].enemytemparray);
            print( "\n");
        }
    }
#endif
    return TRUE;
}
/*------------------------------------------------------------------------
 * ENEMY_enemy及澀爛白央奶伙  心  仄
 *-----------------------------------------------------------------------*/
BOOL ENEMY_reinitEnemy( void )
{
	freeMemory( ENEMY_enemy);
	return( ENEMY_initEnemy( getEnemyfile()));
}

/*------------------------------------------------------------------------
 ENEMY_Enemy及驕儂毛襞月
 *-----------------------------------------------------------------------*/
int ENEMY_getEnemyArrayFromIndex( int groupindex, int index)
{
	if( !GROUP_CHECKINDEX( groupindex)) return -1;
	if( index < 0 || index >= CREATEPROB1 - ENEMY_ID1) return -1;
	return GROUP_group[groupindex].enemyarray[index];
}
/*------------------------------------------------------------------------
 * ENEMY_ID 井日ENEMY_Enemy及驕儂毛襞月
 *-----------------------------------------------------------------------*/
int ENEMY_getEnemyArrayFromId( int EnemyId)
{
#ifdef _ENEMY_OPTIMUM
	if( EnemyId >= 0 && EnemyId < ENEMY_enemynum )
		return	EnemyId;
#else
	int		i;
	for( i = 0; i < ENEMY_enemynum; i ++ ) {
		if( ENEMY_getInt( i, ENEMY_ID) == EnemyId) {
			return i;
		}
	}
#endif
	return -1;
}

int ENEMY_getEnemyArrayFromTempNo( int EnemyTempNo)
{
	int		i;
	for( i = 0; i < ENEMY_enemynum; i ++ ) {
		if( ENEMY_getInt( i, ENEMY_TEMPNO) == EnemyTempNo) {
			return i;
		}
	}
	return -1;
}

int ENEMY_getEnemyIdFromTempNo( int EnemyTempNo)
{
	int		i;
	for( i = 0; i < ENEMY_enemynum; i ++ ) {
		if( ENEMY_getInt( i, ENEMY_TEMPNO) == EnemyTempNo) {
			return ENEMY_getInt( i, ENEMY_ID);
		}
	}
	return -1;
}

int ENEMY_getEnemyTempNoFromId( int EnemyId)
{
#ifdef _ENEMY_OPTIMUM
	if( EnemyId >= 0 && EnemyId < ENEMY_enemynum)
		return ENEMY_getInt( EnemyId, ENEMY_TEMPNO);
#else
	int		i;
	for( i = 0; i < ENEMY_enemynum; i ++ ) {
		if( ENEMY_getInt( i, ENEMY_ID) == EnemyId) {
			return ENEMY_getInt( i, ENEMY_TEMPNO);
		}
	}
#endif
	return -1;
}

/*------------------------------------------------------------------------
 * 弘伙□皿澀爛白央奶伙毛  戈
 *-----------------------------------------------------------------------*/
BOOL GROUP_initGroup( char* filename )
{
    FILE*   f;
    char    line[256];
    int     linenum=0;
    int     group_readlen=0;
	int		i,j;

    f = fopen(filename,"r");
    if( f == NULL ){
        print( "文件打開失敗\n");
        return FALSE;
    }

    GROUP_groupnum=0;

    /*  引內  躲卅墊互窒墊丐月井升丹井譬屯月    */
    while( fgets( line, sizeof( line ), f ) ){
        linenum ++;
        if( line[0] == '#' )continue;        /* comment */
        if( line[0] == '\n' )continue;       /* none    */
        chomp( line );

        GROUP_groupnum++;
    }

    if( fseek( f, 0, SEEK_SET ) == -1 ){
        fprint( "尋找失敗\n" );
        fclose(f);
        return FALSE;
    }

    GROUP_group = allocateMemory( sizeof(struct tagGROUP_Table)
                                   * GROUP_groupnum );
    if( GROUP_group == NULL ){
        fprint( "無法分配內存 %d\n" ,
                sizeof(struct tagGROUP_Table)*GROUP_groupnum);
        fclose( f );
        return FALSE;
    }
	/* 賡渝祭 */
    for( i = 0; i < GROUP_groupnum; i ++ ) {
    	for( j = 0; j < GROUP_DATAINTNUM; j ++ ) {
    		GROUP_setInt( i,j,-1);
    	}
		for( j = 0; j < CREATEPROB1 - ENEMY_ID1; j ++ ) {
			GROUP_group[i].enemyarray[j] = -1;
		}
    }

    /*  引兇  心  允    */
    linenum = 0;
    while( fgets( line, sizeof( line ), f ) ){
        linenum ++;
        if( line[0] == '#' )continue;        /* comment */
        if( line[0] == '\n' )continue;       /* none    */
        chomp( line );

        /*  墊毛幫溥允月    */
        /*  引內 tab 毛 " " 卞  五晶尹月    */
        replaceString( line, '\t' , ' ' );
        /* 燮  及旦矢□旦毛潸月[*/
{
        char    buf[256];
        for( i = 0; i < strlen( line); i ++) {
            if( line[i] != ' ' ) {
                break;
            }
            strcpy( buf, &line[i]);
        }
        if( i != 0 ) {
            strcpy( line, buf);
        }
}
{
        char    token[256];
        int     ret;
        int		loop;

		/* 手仄手ㄡ蘸戶及伙□皿卞  勻兇凜及兇戶卞賡渝祭仄化云仁 */
    	for( j = 0; j < GROUP_DATAINTNUM; j ++ ) {
    		GROUP_setInt( group_readlen,j,-1);
    	}
		for( j = 0; j < CREATEPROB1 - ENEMY_ID1; j ++ ) {
			GROUP_group[group_readlen].enemyarray[j] = -1;
		}

        /*  夫午勾戶及玄□弁件毛葦月    */
        ret = getStringFromIndexWithDelim( line,",",1,token,
                                           sizeof(token));
        if( ret==FALSE ){
            fprint("文件語法錯誤:%s 第%d行\n",filename,linenum);
            continue;
        }
        GROUP_setChar( group_readlen, GROUP_NAME, token);

        /* 2勾  動嫦反醒襖犯□正 */
#define	GROUP_STARTINTNUM		2
        for( i = GROUP_STARTINTNUM; i < GROUP_DATAINTNUM+GROUP_STARTINTNUM; i ++ ) {
            ret = getStringFromIndexWithDelim( line,",",i,token,
                                               sizeof(token));
            if( ret==FALSE ){
                fprint("文件語法錯誤:%s 第%d行\n",filename,linenum);
                break;
            }
            if( strlen( token) != 0 ) {
	            GROUP_setInt( group_readlen, i - GROUP_STARTINTNUM, atoi( token));
			}
        }
        if( i < GROUP_DATAINTNUM+GROUP_STARTINTNUM ) continue;

		{
			int		enemycnt = 0;
			for( loop = ENEMY_ID1; loop < CREATEPROB1; loop ++ ) {
				if( GROUP_getInt( group_readlen, loop) != -1 ) {
					for( i = 0; i < ENEMY_enemynum; i ++ ) {
						if( ENEMY_getInt( i, ENEMY_ID)
							== GROUP_getInt( group_readlen, loop))
						{
							break;
						}
					}
					if( i == ENEMY_enemynum) {
						i = -1;
						GROUP_setInt( group_readlen, loop, -1);
					}
					else {
						enemycnt ++;
					}
					GROUP_group[group_readlen].enemyarray[loop - ENEMY_ID1] = i;
				}
			}
			if( enemycnt == 0 ) {
                fprint("團隊設定中敵人尚未設定 文件:%s 第%d行\n",filename,linenum);
				continue;;
			}
            if( checkRedundancy( &GROUP_group[group_readlen].intdata[ENEMY_ID1],
            			CREATEPROB1 - ENEMY_ID1))
            {
                fprint("團隊設定中敵人重復設定 文件:%s 第%d行\n",filename,linenum);
				continue;;
			}

		}


        group_readlen ++;
}
    }
    fclose(f);

    GROUP_groupnum = group_readlen;

    print( "有效遇敵組群數是 %d...", GROUP_groupnum );

#if 0

    for( i=0; i <GROUP_groupnum ; i++ ){
        int j;
        print( "%s ", GROUP_getChar( i, GROUP_NAME));
        for( j = 0; j < GROUP_DATAINTNUM; j ++ ) {
            print( "%d ", GROUP_getInt( i, j));
        }
        for( j = 0; j < 10; j ++ ) {
	        print( "[%d] ",GROUP_group[i].enemyarray[j]);
		}
        print( "\n");
    }
#endif
	return TRUE;
}
/*------------------------------------------------------------------------
 * 弘伙□皿及澀爛白央奶伙  心  仄
 *-----------------------------------------------------------------------*/
BOOL GROUP_reinitGroup( void )
{
	freeMemory( GROUP_group);
	return( GROUP_initGroup( getGroupfile()));
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色激情天天射综合网| 91精品福利视频| 亚洲男人电影天堂| 欧美成人乱码一区二区三区| 91啪九色porn原创视频在线观看| 日本伊人色综合网| 亚洲精品第一国产综合野| 精品久久久久久久久久久久包黑料 | 欧美国产日本韩| 欧美乱熟臀69xxxxxx| 福利电影一区二区| 青椒成人免费视频| 亚洲一区二区三区视频在线| 中文字幕精品三区| 日韩欧美另类在线| 欧美三级视频在线播放| 成人爱爱电影网址| 精品一区在线看| 日欧美一区二区| 亚洲香肠在线观看| 亚洲人成网站色在线观看| 精品国产一区二区三区久久久蜜月 | 成人av资源在线观看| 麻豆91免费观看| 日韩电影一区二区三区| 亚洲国产视频a| 亚洲一区二区三区四区不卡| 日韩美女久久久| 国产精品私人影院| 久久视频一区二区| 精品国产亚洲一区二区三区在线观看 | 麻豆精品蜜桃视频网站| 亚洲地区一二三色| 性做久久久久久免费观看 | 国产另类ts人妖一区二区| 麻豆精品视频在线观看| 美女视频一区二区| 麻豆精品国产91久久久久久| 蜜桃av一区二区| 精品一区二区国语对白| 精彩视频一区二区| 国产精品一二三| 国产不卡免费视频| 成人晚上爱看视频| 成人高清视频在线| 一本久久a久久精品亚洲| 91视频com| 欧美视频日韩视频| 91精品国产入口在线| 欧美xxx久久| 久久嫩草精品久久久久| 国产精品美女www爽爽爽| 亚洲欧美日韩综合aⅴ视频| 亚洲尤物在线视频观看| 午夜精品福利一区二区蜜股av| 天天影视网天天综合色在线播放 | 黄色资源网久久资源365| 国产乱码精品一区二区三 | 4hu四虎永久在线影院成人| 日韩一区二区电影| 国产亚洲精品aa午夜观看| 国产精品久久久久久一区二区三区 | 久久久久久综合| 国产精品久久毛片av大全日韩| 亚洲六月丁香色婷婷综合久久| 亚洲一区在线观看免费 | 国产精品久久久99| 一区二区三区日韩欧美精品| 亚洲成人午夜电影| 麻豆精品国产传媒mv男同| 国产一区二区免费视频| av在线综合网| 欧美日本乱大交xxxxx| 欧美xxxxx裸体时装秀| 国产精品电影院| 五月婷婷久久综合| 国产精品亚洲第一| 日本久久精品电影| 日韩欧美精品在线视频| 一色桃子久久精品亚洲| 香蕉av福利精品导航| 国产精品一级黄| 在线观看不卡一区| 久久综合九色综合97婷婷女人| 中文字幕一区二区三区在线不卡| 亚洲一区二区免费视频| 久久精品国产亚洲a| 色狠狠综合天天综合综合| 欧美mv和日韩mv的网站| 亚洲婷婷在线视频| 蜜乳av一区二区| 一本色道a无线码一区v| 欧美mv日韩mv亚洲| 亚洲国产日韩a在线播放性色| 国产美女视频91| 欧美日韩成人在线一区| 国产精品免费视频网站| 奇米影视一区二区三区小说| 91美女片黄在线| 久久只精品国产| 午夜精品久久久久久久久| 高清不卡在线观看| 日韩午夜小视频| 伊人夜夜躁av伊人久久| 国产.欧美.日韩| 日韩欧美三级在线| 午夜久久久影院| 一本一本久久a久久精品综合麻豆| 久久久久久久网| 日本亚洲天堂网| 在线视频国产一区| 成人免费小视频| 粉嫩高潮美女一区二区三区| 欧美一区二区免费| 亚洲综合图片区| 91免费看`日韩一区二区| 久久久久国产精品麻豆ai换脸 | 69成人精品免费视频| 亚洲男人的天堂在线观看| 国产丶欧美丶日本不卡视频| 日韩精品一区二区三区视频播放| 亚洲一区二区欧美| 日本道在线观看一区二区| 亚洲欧美一区二区在线观看| 国产精品亚洲а∨天堂免在线| 精品少妇一区二区三区在线视频| 奇米色777欧美一区二区| 欧美天天综合网| 亚洲一级二级在线| 91福利区一区二区三区| 亚洲欧美另类综合偷拍| 99精品久久99久久久久| 国产精品入口麻豆原神| 国产成人精品综合在线观看| 久久久久久久电影| 国产麻豆精品一区二区| 久久久国际精品| 国产成人午夜精品影院观看视频 | 一区二区三区四区视频精品免费| a4yy欧美一区二区三区| 日韩一区中文字幕| 一本久久a久久精品亚洲| 一区二区三区在线视频播放| 色偷偷一区二区三区| 亚洲麻豆国产自偷在线| 色八戒一区二区三区| 亚洲一二三区视频在线观看| 欧美视频在线观看一区| 午夜精品爽啪视频| 91精品国产综合久久久久久久 | 国产精品视频线看| 成人免费视频一区| 日韩理论在线观看| 在线精品亚洲一区二区不卡| 午夜激情综合网| 欧美一区二区免费观在线| 国模套图日韩精品一区二区| 久久久久久电影| 91小视频在线| 午夜日韩在线电影| 精品sm捆绑视频| 懂色av一区二区三区蜜臀| 亚洲天堂av老司机| 欧美日韩高清影院| 狠狠色丁香婷婷综合| 日本一区二区动态图| 欧美在线不卡一区| 日韩av高清在线观看| 久久久综合九色合综国产精品| 99re在线视频这里只有精品| 亚洲国产视频a| 久久综合九色综合久久久精品综合 | 午夜精品福利久久久| 久久综合精品国产一区二区三区 | 久久免费国产精品| 色噜噜狠狠色综合中国| 日本免费新一区视频| 国产网红主播福利一区二区| 色天天综合色天天久久| 久久成人久久爱| 中文字幕亚洲在| 欧美一区二区高清| av一区二区三区| 日韩av高清在线观看| 国产精品少妇自拍| 欧美区一区二区三区| 国产风韵犹存在线视精品| 午夜私人影院久久久久| 中文一区二区完整视频在线观看 | 欧美丝袜丝交足nylons图片| 久久不见久久见中文字幕免费| 国产精品短视频| 精品少妇一区二区三区免费观看 | 国产欧美视频一区二区| 欧美三级午夜理伦三级中视频| 国产麻豆精品久久一二三| 亚洲1区2区3区4区| 国产精品伦理在线| 欧美成人性战久久| 欧美日韩综合在线|