您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ Attack函数代码示例

51自学网 2021-06-01 19:48:14
  C++
这篇教程C++ Attack函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中Attack函数的典型用法代码示例。如果您正苦于以下问题:C++ Attack函数的具体用法?C++ Attack怎么用?C++ Attack使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了Attack函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: CheckTarget

void MultiShot::Update( void ) {	Attackable *temp;	/* If we have Targets, check their status. */	if( pTarget != NULL  || pTarget2 != NULL || pTarget3 != NULL )		CheckTarget();	/* Search for Targets. */	if( pTarget == NULL || pTarget2 == NULL || pTarget3 == NULL )		FindTarget();	/* If we found a new Target, and they are in range.. */	if( pTarget != NULL )		Attack();	/*Using a temp target to hold the pTarget. This way we don't have to override Attack().*/	if( pTarget2 != NULL ) {		temp = pTarget;		pTarget = pTarget2;		Attack();		pTarget = temp;	}	if( pTarget3 != NULL ) {		temp = pTarget;		pTarget = pTarget3;		Attack();		pTarget = temp;	}}
开发者ID:dho1,项目名称:Project,代码行数:30,


示例2: switch

/*================rvWeaponMachinegun::State_Fire================*/stateResult_t rvWeaponMachinegun::State_Fire ( const stateParms_t& parms ) {	enum {		STAGE_INIT,		STAGE_WAIT,	};		switch ( parms.stage ) {		case STAGE_INIT:			if ( wsfl.zoom ) {				nextAttackTime = gameLocal.time + (altFireRate * owner->PowerUpModifier ( PMOD_FIRERATE ));				Attack ( true, 1, spreadZoom, 0, 1.0f );				fireHeld = true;			} else {				nextAttackTime = gameLocal.time + (fireRate * owner->PowerUpModifier ( PMOD_FIRERATE ));				Attack ( false, 1, spread, 0, 1.0f );			}			PlayAnim ( ANIMCHANNEL_ALL, "fire", 0 );				return SRESULT_STAGE ( STAGE_WAIT );			case STAGE_WAIT:					if ( !fireHeld && wsfl.attack && gameLocal.time >= nextAttackTime && AmmoInClip() && !wsfl.lowerWeapon ) {				SetState ( "Fire", 0 );				return SRESULT_DONE;			}			if ( AnimDone ( ANIMCHANNEL_ALL, 0 ) ) {				SetState ( "Idle", 0 );				return SRESULT_DONE;			}					if ( UpdateFlashlight ( ) ) {				return SRESULT_DONE;			}						return SRESULT_WAIT;	}	return SRESULT_ERROR;}
开发者ID:Big-Zam,项目名称:IT266-gameMod,代码行数:40,


示例3: OnKill

void Bot::OnAttack(int damage, Bot* attacker){	unit->Hit(damage, normal);	if (unit->GetHP() <= 0)	{		OnKill();	}	else if (unit->team == App->AI->playerTeam)	{		if (unit->ArrivedToDestination())		{			Attack(attacker);		}	}	else if (father)	{		App->AI->OnUnitDanger(father, this);	}	else if (flees)	{		if (unit->GetHP() < unit->GetMaxHP() / 10)			SetState(flee);		else			SetState(attack);	}	else if (state != attack)		Attack(attacker);}
开发者ID:The4Bros,项目名称:Starcraft_AI,代码行数:29,


示例4: initPartyMemberC

void Party::initPartyMemberC() {    std::vector<float> affinities = {1.5, 1.5, 1.5, 1, 1, 1, 1};    std::vector<Attack> attacks;    attacks.push_back(Attack("Arrow", 1, pierce));    attacks.push_back(Attack("Lightning", 9, lightning));        C = PartyMember("Mage", 50, 40, 2, attacks, affinities);}
开发者ID:brookswithrow,项目名称:RPG,代码行数:8,


示例5: initPartyMemberB

void Party::initPartyMemberB() {    std::vector<float> affinities = {0.5, 0.5, 0.5, 1, 1, 1, 1};    std::vector<Attack> attacks;    attacks.push_back(Attack("Crush", 8, crush));    attacks.push_back(Attack("Water", 2, water));        B = PartyMember("Tank", 50, 40, 2, attacks, affinities);}
开发者ID:brookswithrow,项目名称:RPG,代码行数:8,


示例6: initPartyMemberA

void Party::initPartyMemberA() {    std::vector<float> affinities = {1, 1, 1, 1, 1, 1, 1};    std::vector<Attack> attacks;    attacks.push_back(Attack("Punch", 2, pierce));    attacks.push_back(Attack("Fire", 4, fire));    attacks.push_back(Attack("Sword", 6, slash));        A = PartyMember("DPS", 50, 40, 3, attacks, affinities);}
开发者ID:brookswithrow,项目名称:RPG,代码行数:9,


示例7: StartSound

/*================rvMonsterStroggHover::DoNamedAttack================*/void rvMonsterStroggHover::DoNamedAttack ( const char* attackName, jointHandle_t joint ) {	if ( joint != INVALID_JOINT ) {		StartSound ( va("snd_%s_fire",attackName), SND_CHANNEL_ANY, 0, false, NULL );		PlayEffect ( va("fx_%s_flash",attackName), joint );		Attack ( attackName, joint, GetEnemy() );	}}
开发者ID:ET-NiK,项目名称:amxxgroup,代码行数:12,


示例8: SearchForRetreatPosition

bool SoulDestroyer::Advance( Unit *_unit ){    if( m_dead ) return AdvanceDead( _unit );            if( m_panic > 0.0 )    {        m_targetEntity.SetInvalid();        if( syncfrand(10.0) < 5.0 )        {            SearchForRetreatPosition();        }        m_panic -= SERVER_ADVANCE_PERIOD;    }        else if( m_targetEntity.IsValid() )    {        WorldObject *target = g_app->m_location->GetEntity( m_targetEntity );        if( target )        {            double distance = (target->m_pos - m_pos).Mag();            m_targetPos = target->m_pos;                        if( distance > SOULDESTROYER_MAXSEARCHRANGE )            {                m_targetEntity.SetInvalid();            }        }        else        {            m_targetEntity.SetInvalid();        }    }    m_retargetTimer -= SERVER_ADVANCE_PERIOD;    bool arrived = AdvanceToTargetPosition();    if( arrived || m_targetPos == g_zeroVector || m_retargetTimer < 0.0)    {        m_retargetTimer = 5.0;        bool found = false;        if( !found && m_panic < 0.1 ) found = SearchForTargetEnemy();        if( !found ) found = SearchForRandomPosition();    }    RecordHistoryPosition();    if( m_panic < 0.1 ) Attack( m_pos );#ifdef USE_DIRECT3D	if(g_deformEffect)	{		Vector3* pos1 = m_positionHistory.GetPointer(m_positionHistory.Size()-1);		Vector3* pos2 = m_positionHistory.GetPointer(m_positionHistory.Size()-2);		//if(pos1) g_deformEffect->AddTearing(*pos1,0.4);		//if(pos1 && pos2) g_deformEffect->AddTearing((*pos1+*pos2)*0.5,0.4);		if(pos1 && pos2) g_deformEffect->AddTearingPath(*pos1,*pos2,0.4);	}#endif	return Entity::Advance(_unit);}
开发者ID:gene9,项目名称:Darwinia-and-Multiwinia-Source-Code,代码行数:60,


示例9: GetCharacterMovement

// Called every framevoid AZombieCharacter::Tick( float DeltaTime ){	Super::Tick( DeltaTime );	GetCharacterMovement()->MaxWalkSpeed = InitialMaxWalkSpeed;	ZAnimInstance->Speed = InitialMaxWalkSpeed;	//If the zombie is within the melee range cancel any movement animation so it's more realistic	float Distance = FVector::Dist(GetActorLocation(),OurCharacter->GetActorLocation());	if (Distance<= MeleeDistanceThreshold)	{		ZAnimInstance->Speed = 0;	}	//Enable the attack raycast sphere in zombies hand if the animation is valid	if (ZAnimInstance->bEligibleForAttack)	{		Attack();		if (GetCharacterMovement())		{			GetCharacterMovement()->MaxWalkSpeed = InitialMaxWalkSpeed;		}	}	//Updates the alpha value if the zombie is dead to achieve over-time fade out	if(!IsAlive())	{		//Ticks the alpha reduction timeline		AlphaReductionTimeline.TickTimeline(DeltaTime);	}}
开发者ID:AbDoMoHaMmEd,项目名称:PortfolioSnippets,代码行数:32,


示例10: switch

void CObjectSentrygun::SentryThink( void ){	switch( m_iState )	{	case SENTRY_STATE_INACTIVE:		break;	case SENTRY_STATE_SEARCHING:		SentryRotate();		break;	case SENTRY_STATE_ATTACKING:		Attack();		break;	case SENTRY_STATE_UPGRADING:		UpgradeThink();		break;	default:		Assert( 0 );		break;	}	SetContextThink( &CObjectSentrygun::SentryThink, gpGlobals->curtime + SENTRY_THINK_DELAY, SENTRYGUN_CONTEXT );}
开发者ID:MrBoomer568,项目名称:TF2Classic,代码行数:26,


示例11: CheckEventLostPlayer

void cAggressiveMonster::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk){    super::Tick(a_Dt, a_Chunk);    if (m_EMState == CHASING)    {        CheckEventLostPlayer();    }    else    {        CheckEventSeePlayer();    }    if (m_Target == nullptr)    {        return;    }    cTracer LineOfSight(GetWorld());    Vector3d MyHeadPosition = GetPosition() + Vector3d(0, GetHeight(), 0);    Vector3d AttackDirection(m_Target->GetPosition() + Vector3d(0, m_Target->GetHeight(), 0) - MyHeadPosition);    if (TargetIsInRange() && !LineOfSight.Trace(MyHeadPosition, AttackDirection, static_cast<int>(AttackDirection.Length())) && (GetHealth() > 0.0))    {        // Attack if reached destination, target isn't null, and have a clear line of sight to target (so won't attack through walls)        StopMovingToPosition();        Attack(a_Dt);    }}
开发者ID:Nakkar,项目名称:cuberite,代码行数:30,


示例12: switch

void AIEnemyZombie::UseBrain(){	xtile = aiinput->GetXTilePos();	ytile = aiinput->GetYTilePos();	xpos = aiinput->GetXLoc();	ypos = aiinput->GetYLoc();	if(new_enemy){		new_enemy=false;		//if( (aiinput->lower_patrol_x > 0) && (aiinput->upper_patrol_x > 0)) use_patrol_bounds = true;	}		switch(GetState())	{	case AIS_CHASE:		Chase();		break;	case AIS_ATTACK:		Attack();		break;	case AIS_PATROL:		Patrol();		break;	case AIS_MOVE:		MoveToXTile(movetoxtile);		break;	case AIS_WAIT:		Wait();		break;	}}
开发者ID:shoematt,项目名称:BladeofBetrayal,代码行数:35,


万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。