Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - tintounn

Pages: [1]
1
Général / Re : Vérification pointeur null.
« le: Avril 16, 2012, 02:15:07 pm »
Corriger, et puis un GRAND merci a toute les personnes qui m'ont aidaient  :) Tout façon je risque pas de rester longtemps sur ce projet car j'aime pas l'architecture que prend celui ci. Je vais quand même m'attaquer au pourquoi du comment. Je poste quand j'ai des nouvelles ;)

Je vous souhaites une bonne journée et encore merci :D

2
Général / Re : Vérification pointeur null.
« le: Avril 16, 2012, 01:47:42 pm »
pfff, ayez sa marche  :o dans le constructeur de Game j'ai juste changer de place l'initialisation de Inventory et sa fonctionne  ???

Avant:
Game::Game()
{
    m_app = new sf::RenderWindow(sf::VideoMode(840, 840, 32), "1518-World", sf::Style::None | sf::Style::Close);
    m_app->setVerticalSyncEnabled(true);

    m_view = new sf::View;
    *m_view = m_app->getDefaultView();

    m_event = new sf::Event;

    m_imageManager = new ImgMgr;
    m_imageManager->setImage("ressources.png", 16);
    m_imageManager->getImage().createMaskFromColor(sf::Color::Color(255, 81, 243));
    m_imageManager->getTexture().update(m_imageManager->getImage());

    m_player = new Player(m_app, m_view, m_level, m_inventory);
    m_player->setSkin(m_imageManager->getSprite(81, 90));

    m_level = new Level(m_app, m_imageManager, m_player, m_inventory);
    m_level->loadLevel("level.png");
    m_player->setPosition(m_level->getOriginPlayer());
    m_level->addItem(new SaphirSword(m_app, m_level, m_player, m_imageManager, m_inventory), 6, sf::Vector2f(2, 2));

    m_hud = new Hud(m_app, m_view, m_player, m_imageManager, m_inventory);

    m_inventory = new Inventory(m_app);

    m_musicMgr = new MusicMgr;
}

Apres:
Game::Game()
{
    m_app = new sf::RenderWindow(sf::VideoMode(840, 840, 32), "1518-World", sf::Style::None | sf::Style::Close);
    m_app->setVerticalSyncEnabled(true);

    m_view = new sf::View;
    *m_view = m_app->getDefaultView();

    m_event = new sf::Event;

    m_imageManager = new ImgMgr;
    m_imageManager->setImage("ressources.png", 16);
    m_imageManager->getImage().createMaskFromColor(sf::Color::Color(255, 81, 243));
    m_imageManager->getTexture().update(m_imageManager->getImage());

    m_player = new Player(m_app, m_view, m_level, m_inventory);
    m_player->setSkin(m_imageManager->getSprite(81, 90));

    m_inventory = new Inventory(m_app);

    m_level = new Level(m_app, m_imageManager, m_player, m_inventory);
    m_level->loadLevel("level.png");
    m_player->setPosition(m_level->getOriginPlayer());
    m_level->addItem(new SaphirSword(m_app, m_level, m_player, m_imageManager, m_inventory), 6, sf::Vector2f(2, 2));

    m_hud = new Hud(m_app, m_view, m_player, m_imageManager, m_inventory);

    m_musicMgr = new MusicMgr;
}

3
Général / Re : Vérification pointeur null.
« le: Avril 16, 2012, 01:00:55 pm »
Je viens de lancer le debugger voici ce qu'il me dit:

Citer
#0 00000000   0x0045c946 in ??() (??:??)
#1 00000000   0x0028fc4c in ??() (??:??)
#2 00000000   0x0a4880d0 in ??() (??:??)
#3 00000000   0x0028ffc4 in ??() (??:??)
#4 74F38CD5   msvcrt!atan2() (C:\Windows\syswow64\msvcrt.dll:??)
#5 00000000   0xc7250777 in ??() (??:??)
#6 00000000   0x006b5300 in ??() (??:??)
#7 00000000   0x006b4a78 in ??() (??:??)
#8 00000000   0x0028fcec in ??() (??:??)
#9 00000000   0x0028fc6c in ??() (??:??)
#10 00000000   0x004120c0 in ??() (??:??)
#11 00000000   0x00485014 in ??() (??:??)
#12 00000000   0x0028fc80 in ??() (??:??)
#13 00000000   0x0045856f in ??() (??:??)
#14 00000000   0x004120c0 in ??() (??:??)
#15 00000000   0x00484884 in ??() (??:??)
#16 00000000   0x0028fc90 in ??() (??:??)
#17 00000000   0x0045c9c0 in ??() (??:??)
#18 00000000   0x0028fc30 in ??() (??:??)
#19 00000000   0x00485001 in ??() (??:??)
#20 00000000   0x0048ecc0 in ??() (??:??)
#21 00000000   0x0047fc6b in ??() (??:??)
#22 00000000   0x004120c0 in ??() (??:??)
#23 00000000   0x00484ea0 in ??() (??:??)
#24 00000000   0x0028fca0 in ??() (??:??)
#25 00000000   0x004586bf in ??() (??:??)
#26 00000000   0x0028fc50 in ??() (??:??)
#27 00000000   0x0028fcb8 in ??() (??:??)
#28 00000000   0x00409aae in ??() (??:??)
#29 00000000   0x0028fd24 in ??() (??:??)

Et la déclaration de m_item ce passe ici:
#ifndef INVENTORY_H_INCLUDED
#define INVENTORY_H_INCLUDED
#include <iostream>
#include <SFML/Graphics.hpp>
#include <SFML/System.hpp>
#include <SFML/Window.hpp>

class Item;

class Inventory
{
    public:
    Inventory(sf::RenderWindow *app);
    ~Inventory();
    void addItem(Item *item);
    std::vector<Item*> getItem(const sf::Vector2f position);
    void draw();


    private:
    sf::RenderWindow *m_app;
    Item *m_item[6][64];
};

#endif


4
Général / Re : Vérification pointeur null.
« le: Avril 16, 2012, 12:42:09 pm »
Oui le constructeur est bien appelé ;) J'avoue être perdu, c'est la première fois que je suis confronté a cela. Je tente une réinstallation de codeblocks avec mingw  ;)

5
Discussions générales / Re : SFML 2.0 RC
« le: Avril 15, 2012, 02:58:35 pm »
Bravo laurent  8) ;) Je vais de suite l'utiliser  :)

6
Général / Re : Vérification pointeur null.
« le: Avril 14, 2012, 10:59:22 pm »
Je re-poste le début du code avec 2 cout pour voir si le pointeur est null ou pas, rien ne s'affiche et le programme plante.

    int i;
    int u;
    for(i = 0; i < 6; i++)
    {
        if(m_item[i][0] != NULL)
        {
            std::cout << "Pointeur non null" << std::endl;
            if(m_item[i][0]->getName() == item->getName())
            {
                for(u = 0; u < 64; u++)
                {
                    if(m_item[i][u] == NULL)
                    {
                        std::cout << "Nouvelle ajout dans la categorie: " << item->getName() << std::endl;
                        m_item[i][u] = item;
                        return;
                    }
                }
            }
        }
        else
        {
            std::cout << "Pointeur null" << std::endl;
        }
    }

et j’initialise le tableau comme cela:
Item *m_item[6][64];

Inventory::Inventory(sf::RenderWindow *app)
{
    m_app = app;
    int i;
    int u;
    for(i = 0; i < 6; i++)
    {
        for(u = 0; u < 64; u++)
        {
            m_item[i][u] = NULL;
        }
    }
}


Donc normalement c'est "Pointeur null" qui devrait etre affiché  ???

7
Général / Vérification pointeur null.
« le: Avril 14, 2012, 09:01:48 pm »
Bonsoir, voila j'ai un big problème, je code actuellement un petit rpg mais lorsque que je veux vérifier si un pointeur pointe pas sur rien le programme plante  :o
J'ai bien a 0 les pointeurs dans le constructeur.

void Inventory::addItem(Item *item)
{
    int i;
    int u;
    for(i = 0; i < 6; i++)
    {
        if(m_item[i][0] != NULL) // L'erreur est ici.
        {
            if(m_item[i][0]->getName() == item->getName())
            {
                for(u = 0; u < 64; u++)
                {
                    if(m_item[i][u] == NULL)
                    {
                        std::cout << "Nouvelle ajout dans la categorie: " << item->getName() << std::endl;
                        m_item[i][u] = item;
                        return;
                    }
                }
            }
        }
    }
    for(i = 0; i < 6; i++)
    {
        if(m_item[i][0] == NULL)
        {
            std::cout << "Nouvelle categorie de: " << item->getName() << std::endl;
            m_item[i][0] = item;
            return;
        }
    }
}

Help please  ;D

Pages: [1]
anything