begin process at 2012 05 27 19:24:04
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

OpenGL

 > SPEAD RACER

SPEAD RACER


 Information sur la source

Note :
Aucune note
Catégorie :OpenGL Classé sous :openGL, SFML, minijeu, jeu, mini-jeu Niveau :Initié Date de création :20/09/2009 Date de mise à jour :07/10/2009 13:51:27 Vu / téléchargé :4 604 / 365

Auteur : jngl

Ecrire un message privé
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
un petit jeu de course de vaisseau spatiaux. la map et générer  aléatoirement. il y a un petit générateur de particule. il charge des model au format md2.

j'ai utiliser seulement openGL pour la 3D, SFML pour le fenêtrage(je l'affection pas mal).

note:
attention il y a un bug avec les texture!
par manque de place je n'ai pas pus mettre l'executable

Source

  • #include <SFML/Graphics.hpp>
  • #include <iostream>
  • #include <string>
  • #include <fstream>
  • #include "track.h"
  • #include "player.h"
  • void runMap(sf::RenderWindow* App)
  • {
  • track map;
  • map.spead=2;
  • player p;
  • time_t start;
  • time (&start);
  • float score=0;
  • bool gameOver=false;
  • App->SetCursorPosition(333,300);
  • sf::Clock time;
  • time.Reset();
  • sf::Image IGameOver;
  • IGameOver.LoadFromFile("data/game over.png");
  • sf::Sprite SGameOver;
  • SGameOver.SetImage(IGameOver);
  • // Start game loop
  • while (App->IsOpened())
  • {
  • // Process events
  • sf::Event Event;
  • while (App->GetEvent(Event))
  • {
  • // Close window : exit
  • if (Event.Type == sf::Event::Closed)
  • App->Close();
  • // Escape key : exit
  • if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Escape))
  • App->Close();
  • // Adjust the viewport when the window is resized
  • if (Event.Type == sf::Event::Resized)
  • glViewport(0, 0, Event.Size.Width, Event.Size.Height);
  • }
  • p.mPos=(800-App->GetInput().GetMouseX())/3;
  • glClearColor(0.5f,0.5f,0.5f,1);
  • glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  • if(!gameOver)
  • {
  • map.afficher();
  • p.afficher();
  • score=time.GetElapsedTime();
  • string temp="score: "+floatToString(score);
  • sf::String temp2;
  • temp2.SetText(temp);
  • App->Draw(temp2);
  • }
  • else
  • {
  • App->Draw(SGameOver);
  • string temp=floatToString(score);
  • sf::String temp2;
  • temp2.SetText(temp);
  • temp2.SetPosition(400,180);
  • temp2.Scale(2,2);
  • App->Draw(temp2);
  • }
  • //dificulter
  • map.spead=2+time.GetElapsedTime()*0.5;
  • App->Display();
  • if(map.test(p.mPos) && time.GetElapsedTime()>0.1&& gameOver==false)
  • {
  • gameOver=true;
  • }
  • }
  • }
  • int main()
  • {
  • // Create main window
  • sf::RenderWindow App(sf::VideoMode(800, 600), "spead racer");
  • App.PreserveOpenGLStates(true);
  • App.SetFramerateLimit(50);
  • sf::Image IMenu;
  • IMenu.LoadFromFile("data/menu.png");
  • sf::Sprite SMenu;
  • SMenu.SetImage(IMenu);
  • while (App.IsOpened())
  • {
  • // Process events
  • sf::Event Event;
  • while (App.GetEvent(Event))
  • {
  • // Close window : exit
  • if (Event.Type == sf::Event::Closed)
  • App.Close();
  • // Escape key : exit
  • if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Escape))
  • App.Close();
  • // Adjust the viewport when the window is resized
  • if (Event.Type == sf::Event::Resized)
  • glViewport(0, 0, Event.Size.Width, Event.Size.Height);
  • }
  • if(App.GetInput().IsKeyDown(sf::Key::G))
  • {
  • runMap(&App);
  • }
  • App.Draw(SMenu);
  • if(App.GetInput().GetMouseX()<600 && App.GetInput().GetMouseX()>200)
  • {
  • if(App.GetInput().GetMouseY()<295 && App.GetInput().GetMouseY()>235 && App.GetInput().IsMouseButtonDown(sf::Mouse::Left))
  • {
  • runMap(&App);
  • }
  • else if(App.GetInput().GetMouseY()>316 && App.GetInput().GetMouseY()<376 && App.GetInput().IsMouseButtonDown(sf::Mouse::Left))
  • {
  • cout<<"!:il n'y a pas pour l'instans d'option"<<endl;
  • }
  • else if(App.GetInput().GetMouseY()>395 && App.GetInput().GetMouseY()<456 && App.GetInput().IsMouseButtonDown(sf::Mouse::Left))
  • {
  • App.Close();
  • }
  • }
  • App.Display();
  • }
  • return EXIT_SUCCESS;
  • }
#include <SFML/Graphics.hpp>
#include <iostream>
#include <string>
#include <fstream>

#include "track.h"
#include "player.h"
void runMap(sf::RenderWindow* App)
{
    track map;
    map.spead=2;
    player p;

    time_t start;
    time (&start);

    float score=0;
    bool gameOver=false;

    App->SetCursorPosition(333,300);

    sf::Clock time;
    time.Reset();

    sf::Image IGameOver;
    IGameOver.LoadFromFile("data/game over.png");
    sf::Sprite SGameOver;
    SGameOver.SetImage(IGameOver);

    // Start game loop
    while (App->IsOpened())
    {
        // Process events
        sf::Event Event;
        while (App->GetEvent(Event))
        {
            // Close window : exit
            if (Event.Type == sf::Event::Closed)
                App->Close();

            // Escape key : exit
            if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Escape))
                App->Close();

            // Adjust the viewport when the window is resized
            if (Event.Type == sf::Event::Resized)
                glViewport(0, 0, Event.Size.Width, Event.Size.Height);
         }
        p.mPos=(800-App->GetInput().GetMouseX())/3;

        glClearColor(0.5f,0.5f,0.5f,1);
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

        if(!gameOver)
        {
            map.afficher();
            p.afficher();
            score=time.GetElapsedTime();

            string temp="score: "+floatToString(score);
            sf::String temp2;
            temp2.SetText(temp);
            App->Draw(temp2);
        }
        else
        {
            App->Draw(SGameOver);

            string temp=floatToString(score);
            sf::String temp2;
            temp2.SetText(temp);
            temp2.SetPosition(400,180);
            temp2.Scale(2,2);
            App->Draw(temp2);
        }

        //dificulter
        map.spead=2+time.GetElapsedTime()*0.5;

        App->Display();

        if(map.test(p.mPos) && time.GetElapsedTime()>0.1&& gameOver==false)
        {
            gameOver=true;
        }
    } 
}

int main()
{
    // Create main window
    sf::RenderWindow App(sf::VideoMode(800, 600), "spead racer");
    App.PreserveOpenGLStates(true);
    App.SetFramerateLimit(50);

    sf::Image IMenu;
    IMenu.LoadFromFile("data/menu.png");

    sf::Sprite SMenu;
    SMenu.SetImage(IMenu);

    while (App.IsOpened())
    {
        // Process events
        sf::Event Event;
        while (App.GetEvent(Event))
        {
            // Close window : exit
            if (Event.Type == sf::Event::Closed)
                App.Close();

            // Escape key : exit
            if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Escape))
                App.Close();

            // Adjust the viewport when the window is resized
            if (Event.Type == sf::Event::Resized)
                glViewport(0, 0, Event.Size.Width, Event.Size.Height);

         }
        if(App.GetInput().IsKeyDown(sf::Key::G))
        {
            runMap(&App);
        }
        App.Draw(SMenu);

        if(App.GetInput().GetMouseX()<600 && App.GetInput().GetMouseX()>200)
        {
            if(App.GetInput().GetMouseY()<295 && App.GetInput().GetMouseY()>235 && App.GetInput().IsMouseButtonDown(sf::Mouse::Left))
            {
                runMap(&App);
            }
            else if(App.GetInput().GetMouseY()>316 && App.GetInput().GetMouseY()<376 && App.GetInput().IsMouseButtonDown(sf::Mouse::Left))
            {
                cout<<"!:il n'y a pas pour l'instans d'option"<<endl;
            }
            else if(App.GetInput().GetMouseY()>395 && App.GetInput().GetMouseY()<456 && App.GetInput().IsMouseButtonDown(sf::Mouse::Left))
            {
                App.Close();
            }
        }
    
        App.Display();
    }

    return EXIT_SUCCESS;
}

 Conclusion

salut

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

20 septembre 2009 13:51:30 :
une erreur dans las mot clée
22 septembre 2009 20:04:26 :
rajoue du zip et de la capture d'écran
07 octobre 2009 13:51:28 :
modification de la description

 Sources de la même categorie

Source avec Zip Source avec une capture AFFICHER DES COURBES DE BEZIER par shorzy
Source avec Zip Source avec une capture BASE/MOTEUR 3D EN QT/OPENGL (COMPLET ET FONCTIONNEL!) POUR U... par envi33
Source avec Zip Source avec une capture CLASSE AVEC OPENGL - OBJETS 3D ET ANIMATIONS par rasta63
Source avec Zip Source avec une capture LETTRES 3D AVEC OPENGL ET QT par opossum_farceur
Source avec Zip CUBE 3D GLUT32 VC++ ET DEVC++ par bobby03

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture BASE/MOTEUR 3D EN QT/OPENGL (COMPLET ET FONCTIONNEL!) POUR U... par envi33
Source avec Zip JEU DE DAMES 3D par vbclaude
Source avec une capture OPENGL - JEU DE BILLARD EN 3D PAS FINI par acx01b
Source avec Zip Source avec une capture AZTEC TOWER par nisaloncaje
Source avec Zip Source avec une capture FPS EN RÉSEAU par D6R26H59P

Commentaires et avis

Commentaire de shenron666 le 21/09/2009 22:47:11

Une petite capture d'écran serait la bienvenue
également un zip avec les sources et un lien pour les resources (models, textures, ect)
parceque là, j'ai comme l'impression qu'il n'y a rien à voir >__<

Commentaire de Flavien123 le 07/10/2009 01:13:23

Une petite compilation et la liste des libraires que tu as utilisé serait bien non?'sauf si tu n'as utilisé que OpenGL et SMFL bien sur, je n'ai pas bien comprit)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Création du jeu DirectX ou/et OpenGL [ par nico1610 ] Bonjour à tous, je me présente, Je m'appel Nicolas alias "=SG-Pro= ergo" je fais (à ce titre) parti de l'exélente teams Stargate-Pro et nous sommes à Pour 2d opengl/glut > ddraw ? [ par gimli123 ] Bonjour à tous, j'ai tester les 2, à savoir direct draw et opengl/glut, mais j'aimerai savoir si il y en as un qui est plus performant que l'autre et menu et opengl [ par turie ] J'ai commenc&#233; de faire un petit jeu en opengl en c++ via glut qui tourne. Maintenant j'aimerai y integrer un menu dans la meme fenetre, mais je [SDL - OpenGL - POO] cherche collaborateurs pour jeu 2D [ par MrdJack ] salut, je projetes de faire un jeu 2D de type bomberman/dynablaster en SDL/OpenGL/POO, je cherche des programmeurs interress&#233; ayant juste des not PB Boite de dialogue et View - Opengl [ par Fipovi3 ] Bonjour &#224;&nbsp;tous,Voila, j'ai une application opengl en Visual C++ (MFC-SDI)&nbsp;et je souhaiterai modifier la position de mes objets par l'in Texture-Sprite openGL [ par Buzu ] Salut. Voila je commence a peine l'openGL et je voudrai savoir comment il faut que je fasse pour appliquer une texture (un fichier.gif ou jpg normalem Managed C++ et OpenGL ? [ par ddaime ] Bonjour &#224; tous,Je d&#233;bute en Managed C++ et j'aimerai d&#233;velopper une petite librairie utilisant OpenGL (j'aimeari d&#233;velopper un pet C++/OpenGL [ par abdoulzak ] Salut &#224; tous&nbsp; , Je suis d&#233;butant en OpenGL, j'aimerais representer des figures g&#233;om&#233;triques dans un panel (carr&#233;es,recta programmation du jeu d'échecs [ par danyx ] bonsoir &#224; tousvoila ma passion c'est de d&#233;velopper mon prog d'&#233;checs (en C) . S'il y a des personnes qui d&#233;sirent discuter de ce s SDL est deformation de surface [ par wil51 ] Bonjour,Je suis actuellement sur le devellopemeny d'un jeu en 2D en SDL style GTA en vue de dessusTous est en 2D sauf les batiments qui sont 3D.Actuel


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales