コード例 #1
0
ファイル: back_enemy.c プロジェクト: kengonakajima/snippets
/*****************************
  この関数を呼びだすのは、目的地を指定する、または攻撃などのアクションを
  させるときだけである。
  
*****************************/
void enemyMove( struct EE *ee )
{
	int i;
	int retmap[MAPSIZ*MAPSIZ];
	int ii;


	for(i=0;i<ee->enumber;i++){
		
		if( ( -- ee->enext_move[i] ) <= 0 ){
			/* 移動タイミングだったぞ */
			
			ee->enext_move[i] = EMOVE_INTERVAL;
			/* EMOVE_INTERVAL - ee->elv[i]というようにしてレベルがあがると頻繁に動くとかできる*/
			
			switch( ee->etype[i] ){
				case 1:
				{
					/* くっついていたら攻撃 */
					if( 0 /* くっついてる */ ) {
						
						int npi=getNearestIndex( ee->ex[i],ee->ey[i],ee->px, ee->py , ee->pnumber );
						if( npi >= 0 ){
							ee->retx[i] = ee->px[npi];
							ee->rety[i] = ee->py[npi];
						} else {
							continue;
						}
						ee->retact[i] = EREACT_ATTACK;	
					} else {
						ee->retact[i] = EREACT_MOVE;
					}
					
					if( RAND() > 20000 ){
						/* くっつこうとして目的地を指定 */
						int nearest_player_index =
						getNearestIndex( ee->ex[i] , ee->ey[i],ee->px, ee->py , ee->pnumber );
						
					} else {
						/* 2歩以内からランダム */
						ee->retx[i]= ee->ex[i] - 2 + RAND() % 5;
						ee->rety[i]= ee->ey[i] - 2 + RAND() % 5;
						
					}
				}
				break;
			}
		}
		
	}
}
コード例 #2
0
	std::vector<double> getMatrixAtNearestTime(const double timing, const std::string diagname)const{ return getMatrix(diagname)[getNearestIndex(timing)];};
コード例 #3
0
	//	returns the data as vector (vs ydata, xdata and diagnostics is specified), used for 
	std::vector<double> getMatrixAtNearestTime(const double timing, const size_t index)const{ return getMatrix(index)[getNearestIndex(timing)];}