コード例 #1
0
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();
}
コード例 #2
0
ファイル: CPlayer.cpp プロジェクト: SeventhMage/MagicX
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);
	}
}
コード例 #3
0
ファイル: renderer.cpp プロジェクト: caronnee/Castler
Renderer::Renderer(QWidget *parent)
	: QOpenGLWidget(parent),
	_background(Qt::white),
	_shaderProgram(0),
	_indicesBuffer(QOpenGLBuffer::IndexBuffer),
	_renderStyle(RenderComplete)
{
	_activeChange = 0;
	setFocusPolicy(Qt::ClickFocus);
	_movementFlag = 0;
	InitPosition();
}
コード例 #4
0
ファイル: PIDController.cpp プロジェクト: andemi02/orkid
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);
}
コード例 #5
0
ファイル: sheetsimulator.cpp プロジェクト: paralin/hl2sdk
// 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;
		}
	}
}
コード例 #6
0
ファイル: renderer.cpp プロジェクト: caronnee/Castler
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;
	}
	}
}
コード例 #7
0
ファイル: Weapon.c プロジェクト: Gamerlios123/GAM150_Project
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;
}