void CPlayerCharacter::SetInfo() { printf_s("플레이할 캐릭터 별명을 입력하세요\n"); std::string str_alias; getline(std::cin, str_alias); SetName(str_alias); //divide languages after project is done //printf_s("다음 중 플레이할 언어 입력하세요 \n"); //printf_s("1) C 2) JAVA 3) Python \n"); /*later about language 1. input by number 2. put language information by string just like now ###more importantly### 3. divide problem set by number 4. create monsters by this input number*/ //std::string str_language; //getline(std::cin, str_language); //SetLang(str_language); InitPosition(); InitLevel(); InitExp(); InitHP(); InitProblemCounter(); }
void CPlayer::Increase() { if (!m_pHead) { m_pHead = new CSphereEntity(m_pReflectObject, GetHeadRadius(), GetSlice(), GetSlice()); CSphereEntity *pBody = new CSphereEntity(m_pColorLightObject, GetBodyRadius(), GetSlice(), GetSlice()); pBody->Create(); m_listBody.push_back(pBody); m_pTail = new CSphereEntity(m_pColorLightObject, GetBodyRadius(), GetSlice(), GetSlice()); m_pTail->Create(); ISceneNode *pRootNode = SCENEMGR->GetCurrentScene()->GetRootNode(); pRootNode->AddChild(pBody); pRootNode->AddChild(m_pTail); InitPosition(); } else { CSphereEntity *body = new CSphereEntity(m_pColorLightObject, GetBodyRadius(), GetSlice(), GetSlice()); body->Create(); CVector3 vBackBody = m_listBody.back()->GetPosition(); CVector3 vSrcTail = m_pTail->GetPosition(); body->SetPosition(vSrcTail); m_listBody.push_back(body); m_pTail->SetPosition(vBackBody + 1.5f * (vSrcTail - vBackBody)); ISceneNode *pRootNode = SCENEMGR->GetCurrentScene()->GetRootNode(); pRootNode->AddChild(body); } }
Renderer::Renderer(QWidget *parent) : QOpenGLWidget(parent), _background(Qt::white), _shaderProgram(0), _indicesBuffer(QOpenGLBuffer::IndexBuffer), _renderStyle(RenderComplete) { _activeChange = 0; setFocusPolicy(Qt::ClickFocus); _movementFlag = 0; InitPosition(); }
PIDController<T>::PIDController( T position, T proportional, T integral, T derivative, const TVector2<T> &irange, const TVector2<T> &maxdelta) : mProportionalFactor(proportional) , mIntegralFactor(integral) , mDerivativeFactor(derivative) , mIntegralRange(irange) , mMaxDelta(maxdelta) { InitPosition(position); }
// Iterative collision detection void CIterativeSheetSimulator::DetectCollisions( void ) { for ( int i = 0; i < m_CollisionCount; ++i ) { if (m_InitialPass) { InitPosition( m_CurrentCollisionPt ); } else { float flOffset = COLLISION_PLANE_OFFSET * ( (float)(m_SimulationSteps - 1) / (float)(m_TotalSteps - 1) ); DetectCollision( m_CurrentCollisionPt, flOffset ); } if (++m_CurrentCollisionPt >= NumParticles()) { m_CurrentCollisionPt = -1; m_InitialPass = false; break; } } }
void Renderer::SwitchKeys(QKeyEvent *e) { switch (e->key()) { case Qt::Key_W: { _movementFlag ^= MovementRotatePlusElevation; break; } case Qt::Key_S: { _movementFlag ^= MovementRotateMinusElevation; break; } case Qt::Key_A: { _movementFlag ^= MovementRotateMinusAzimuth; break; } case Qt::Key_D: { _movementFlag ^= MovementRotatePlusAzimuth; break; } case Qt::Key_Space: { InitPosition(); // initial position break; } case Qt::Key_Down: { _movementFlag ^= MovementMinusDepth; break; } case Qt::Key_Up: { _movementFlag ^= MovementPlusDepth; break; } case Qt::Key_Left: { _movementFlag ^= MovementLeft; break; } case Qt::Key_Right: { _movementFlag ^= MovementRight; break; } case Qt::Key_Q: { _movementFlag ^= MovementUp; break; } case Qt::Key_Z: { _movementFlag ^= MovementDown; break; } } }
int WeaponSysFire(List *list, GameInstance *instance) { short int i; Vector2D weapvel; Vector2D weappos; float proj_vel; int proj_type; float proj_lifetime; float degrees = CONVERT; //in degrees float degrees_adjust = 0.0f; int proj_num; // Add check player weapon type statement ///////////////////////////////////////// switch (instance->WeaponType_) { case PLAYER_BASIC: proj_vel = SHIP_BUL_VELOCITY; proj_type = Player_Bullet; proj_lifetime = BUL_LIFETIME; degrees *= 0.0; proj_num = 1; break; case PLAYER_SECOND: proj_vel = SHIP_BUL_VELOCITY; proj_type = Enemy_Bullet; proj_lifetime = BUL_LIFETIME; degrees *= 20.0f; degrees_adjust = -20.0f; proj_num = 3; break; case ENEMY_BASIC: proj_vel = ENEMY_BUL_VELOCITY; proj_type = Enemy_Bullet; proj_lifetime = BUL_LIFETIME; //Temporary value, replace with whatever is best degrees *= 0.0; proj_num = 1; break; default: return 0; } if (instance->reload_ != NO_RELOAD) { if (instance->reload_counter > instance->reload_) { for (i = 0; i < proj_num; ++i) { Vector2DSet(&weapvel, proj_vel * sinf(degrees), proj_vel * cosf(degrees)); Vector2DSet(&weappos, instance->position_.x, instance->position_.y); Create_Instance(list, proj_type); InitScale(1.0f, 2.0f); InitPosition(&weappos); InitVelocity(&weapvel); InitRotation(-degrees); InitLifetime(proj_lifetime); //FMOD_System_PlaySound(sys, sounds[0], 0, FALSE, &channel[0]); instance->reload_counter = 0; degrees += degrees_adjust * CONVERT; } } instance->reload_counter++; } return 1; }