Un jeu de voiture volante et désamorcage de bombe non terminé

Soyez le premier à donner votre avis sur cette source.

Snippet vu 18 953 fois - Téléchargée 36 fois

Contenu du snippet

Voici la source d'un jeu que je n'ai jamais fini, alors si ca vous tente...
Vous controlez une voiture volante et vous devez poser 3emetteur pour pouvoir trianguler la position de la bombe et pouvoir la cibler avec la camera de votre vehicule volant, ensuite si il vous reste assez de temp il vous faut désamorcer la bombe avant qu'elle n'explose!
Pour plus d'info contactez moi à supergrey@tiscali.fr !
Pour tous mes jeux : www.greygames.fr.st !

Source / Exemple :


La source en question faisant plus de 50ko je vous laisse le lien ver celle-ci:
http://supergrey.chez.tiscali.fr/SourceCpp/DFCH.exe
C'est une archive auto-extractible  

voici un bout de la source:

HRESULT CMyD3DApplication::FrameMove()
{
	NFRAME++;
    // Update user input state
    UpdateInput( &m_UserInput );

    // Respond to input
    if( m_UserInput.bDoConfigureInput )
    {
        // One-shot per keypress
        m_UserInput.bDoConfigureInput = FALSE;

        Pause( TRUE );

        // Get access to the list of semantically-mapped input devices
        // to delete all InputDeviceState structs before calling ConfigureDevices()
        CInputDeviceManager::DeviceInfo* pDeviceInfos;
        DWORD dwNumDevices;
        m_pInputDeviceManager->GetDevices( &pDeviceInfos, &dwNumDevices );

        for( DWORD i=0; i<dwNumDevices; i++ )
        {
            InputDeviceState* pInputDeviceState = (InputDeviceState*) pDeviceInfos[i].pParam;
            SAFE_DELETE( pInputDeviceState );
            pDeviceInfos[i].pParam = NULL;
        }

        // Configure the devices (with edit capability)
        if( m_bWindowed )
            m_pInputDeviceManager->ConfigureDevices( m_hWnd, NULL, NULL, DICD_EDIT, NULL );
        else
            m_pInputDeviceManager->ConfigureDevices( m_hWnd,
                                                     m_pDIConfigSurface,
                                                     (VOID*)StaticConfigureInputDevicesCB,
                                                     DICD_EDIT, (LPVOID) this );

        Pause( FALSE );
    }

    if( m_UserInput.bDoConfigureDisplay )
    {
        // One-shot per keypress
        m_UserInput.bDoConfigureDisplay = FALSE;

        Pause(TRUE);

        // Configure the display device
        UserSelectNewDevice();

        Pause(FALSE);
		Vue	= 0;

    }

    // TODO: update world

	if (bMarche)
	{
		if (dVoBo<4.5f)
		{
			if (dVoBo>0 && Voiture->bVie)
			{
			Perso->px+=(Perso->px-Voiture->position.x)*(4.5f-dVoBo)/10;
			Perso->py+=(Perso->py-Voiture->position.y)*(4.5f-dVoBo)/10;
			Perso->pz+=(Perso->pz-Voiture->position.z)*(4.5f-dVoBo)/10;
			Voiture->position.x-=(Perso->px-Voiture->position.x)*(4.5f-dVoBo)/20;
			Voiture->position.y-=(Perso->py-Voiture->position.y)*(4.5f-dVoBo)/20;
			Voiture->position.z-=(Perso->pz-Voiture->position.z)*(4.5f-dVoBo)/20;
			}
		}
		Perso->Mouvement();
		Perso->PreRender(Sol);
		dVoBo=dist3d(D3DXVECTOR3(Perso->px,Perso->py,Perso->pz),Voiture->position);
		if (AXPZ>199)
		AXPZ=Voiture->FrameMove(Sol);
		else
		Voiture->FrameMove(Sol);

	}
	else
	{
		if (AXPZ>199)
		AXPZ=Voiture->FrameMove(Sol);
		else
		{
			if (Voiture->FrameMove(Sol)==0)
			AXPZ=0;
		}
	}
	VoitureC->FrameMove(Sol);

	if (Bomb.ncle<10)
	Seconde-=0.05f;
	if (Seconde<0)
	{
		Seconde+=60;
		Minute-=1;
	}
	if (Minute==-1 && Seconde>59.95f)
		AXPZ=0;

	float d=dist3d(vLookatPt,vFromPt);
	float dc=Contact(Sol,(vFromPt-vLookatPt)/d,vLookatPt);
	if ( dc<d-0.2f && dcam>0.02f )	dcam*=0.8f;
	else if (dc>d+0.2f)				dcam*=1.2f;

	if (dcam>1)dcam=1;

    D3DXMATRIX matView;
	if (bMarche)
	{
		if (Perso->vy<-0.2f)
		{

		vLookatPt = MatTrans(D3DXVECTOR3(0,2.5f,0),Perso->mtete2);
		vFromPt  = vLookatPt;
		vFromPt.y  += 3;
		vUpVec    = D3DXVECTOR3(-sinf(Perso->aRY),0,-cosf(Perso->aRY));
		Perso->ALookUp=0;
		}
		else
		{
		vLookatPt = MatTrans(D3DXVECTOR3(0.25f,2.3f,-1),Perso->mtete2);
		vFromPt   = MatTrans(D3DXVECTOR3(0.25f,2.3f,0),Perso->mtete2);
		vUpVec    = MatTrans(D3DXVECTOR3(0,1,0),Perso->mtete2)-MatTrans(D3DXVECTOR3(0,0,0),Perso->mtete2);
		}
	}
	else
	{
		if (Vue==0)
		{
		vLookatPt = Voiture->position;
		vFromPt  += (vLookatPt-(Voiture->inertie-D3DXVECTOR3(5*sinf(-Voiture->ADir),2,-5*cosf(-Voiture->ADir)))*2*dcam-vFromPt)/10;
		vUpVec    = D3DXVECTOR3( 0.0f, 1.0f, 0.0f );
		}
		else
		{
		vFromPt   = MatTrans(D3DXVECTOR3(0,dcam*2,0),Voiture->matChassi);
		vLookatPt = MatTrans(D3DXVECTOR3(0,dcam*1.9f,1),Voiture->matChassi);
		vUpVec    = MatTrans(D3DXVECTOR3(0,1,0),Voiture->matChassi)-MatTrans(D3DXVECTOR3(0,0,0),Voiture->matChassi);
		}  
	}
	m_Camera.SetViewParams( vFromPt, vLookatPt, vUpVec );
	m_pd3dDevice->SetTransform( D3DTS_VIEW, &m_Camera.GetViewMatrix() );

    return S_OK;
}

Conclusion :


Si vous désirez mon jeu trialtime contacter moi ou rendez vous sur www.greygames.fr.st

A voir également

Ajouter un commentaire Commentaires
Messages postés
475
Date d'inscription
vendredi 27 juin 2003
Statut
Membre
Dernière intervention
20 septembre 2010

Oui excusez moi mais le site n'est pas accessible pour encore un jour ou deux a cause d'un probleme d'hebergement.
Voila a plus...
Messages postés
83
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
12 octobre 2005

pastoche, j'suis pas sure mais il a dit que cétait seulement un bout de code ! Donc il est pas complet :'(

supergrey faudrais vérifier ton site, il marche pas :'(
Messages postés
9
Date d'inscription
vendredi 22 août 2003
Statut
Membre
Dernière intervention
18 juin 2005

Salut, je suis parfaitement néophite et jaimerais au moins savoir comment executer ton jeu, jai installer dev-C++4, je crois quil ne suffit pas d'entrer ton texte et d'appuyer sur compile...tu pourrais m'aider?

pastoche

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.