使用类方法更新指针的困难 我目前正在研究一个学校项目,它包括开发一个C++ RPG,特别是用Qt.

使用类方法更新指针的困难 我目前正在研究一个学校项目,它包括开发一个C++ RPG,特别是用Qt.,c++,class,vector,scope,C++,Class,Vector,Scope,在那之前一切都很顺利,除了我对角色的动作管理有问题,我解释自己 我的角色有一组属性,包括一个m_tile属性,它是指向我已经实现的Case对象的指针,以及一个包含Case对象的“Map_2”向量。关于方法,我已经实现了go_up、go_down等方法,允许修改角色的起始坐标。其想法是修改此函数,以便一方面在移动时更新角色的坐标(例如调用go_down),另一方面m_平铺指针指向Map_2中包含的另一个对象。也就是说,Case对象包含到sprite(角色在地图上的位置)的路径,该sprite使用Q

在那之前一切都很顺利,除了我对角色的动作管理有问题,我解释自己

我的角色有一组属性,包括一个m_tile属性,它是指向我已经实现的Case对象的指针,以及一个包含Case对象的“Map_2”向量。关于方法,我已经实现了go_up、go_down等方法,允许修改角色的起始坐标。其想法是修改此函数,以便一方面在移动时更新角色的坐标(例如调用go_down),另一方面m_平铺指针指向Map_2中包含的另一个对象。也就是说,Case对象包含到sprite(角色在地图上的位置)的路径,该sprite使用Qt中的qgraphicsecene显示

下面是代码

编译器返回给我:

Personnage.cpp:244:22:错误:“Carte_2”未在此作用域中声明

         m_tile = Carte_2[1];
                  ^~~~~~~
有人能帮我处理向量和解决问题吗

提前谢谢

#include "Personnage.h"
#include "Drop.h"
#include "Case.h"

#include <iostream>
#include <cstdlib>
#include <string>
#include <vector>


    // test_1 = Case(1, 0, 0,false, false,"plop");
    // test_2 = Case(1, 0, 0,false, false,"plop");

    // test_3 = Case(1, 0, 0,false, false,"plop");

    // Carte_2.push_back(test_1);
    // Carte_2.push_back(test_2);
    // Carte_2.push_back(test_3);


    //Case& nb_1 = Carte_2[1];

    //nb_1 = Case(99, 0, 0,false, false,"prout");
    //Case Carte_2[1] = Case(1, 0, 0,false, false,"test");
    //Case objet = Case(99, 0, 0,false, false,"prout");
    //Carte[1] = Case(99, 0, 0,false, false,"prout");
    //Carte_2[1] = objet;



    Personnage::Personnage(int id)
    {
        Id = id;
        m_vie = 100;                              
        m_degats= 10;//NArme.getDegats();
        m_X_pos = 0;
        m_Y_pos = 0;
        m_niveau = 1;
        m_experience = 0;
        m_puissance = 1;
        m_est_vivant = true;
        m_sprite = "Perso";
        //m_tile = new Case(1, 0, 0,false, false,"plop"); //
        std::vector<Case> Carte_2(2,Case(1, 0, 0,false, false,"plop")); // test de la carte pour deplacements
        Carte_2[1] = Case(99, 0, 0,false, false,"prout");

        m_tile = new Case(Carte_2[0]);

    };

    //Personnage::Personnage(int id, int vieAtStart, int degatsArmeAtStart)
    //{
    //   m_vie = vieAtStart;
    //   m_degatsArme = degatsArmeAtStart;
    //   persoId = id; 
    //   X_pos = 0;
    //   Y_pos = 0;
    //   niveau = 1;
    //   experience = 0;            
    // };

    void Personnage::recevoirDegats(int nombreDegats)
    {

     m_vie = m_vie - nombreDegats;      //IL faut rajouter une fonction coup critique
    };

    void Personnage::attaquer(Personnage &cible)
    {
    cible.recevoirDegats(m_degats);         //Attention aux attribut privés
    };

    void Personnage::guerir()
    {
         m_vie = m_vie + 40;

         if (m_vie > 100)
         {
            m_vie = 100;
         }    
    };

    void Personnage::regen()
    {
         m_vie = 100;

    };



    bool Personnage::estVivant()                //tout est dans le nom
    {
    if (m_vie > 0)
        return true;
    else             
        return false;
    };

    Personnage::~Personnage()                       //destructeur
    {

    };

    int Personnage::get_vie()
    {
       return m_vie; 
    };
    int Personnage::get_Id()
    {
       return Id; 
    };


    // void Personnage::se_blesser(int douleur)
    // {
    //      m_vie = m_vie - douleur;
    //      if (m_vie < 0)
    //         m_vie = 0;    
    // };
    int Personnage::get_degats()
    {
       return m_degats; 
    };

    int Personnage::get_X_pos()
    {
       return m_X_pos; 
    };

    int Personnage::get_Y_pos()
    {
       return m_Y_pos; 
    };

    int Personnage::get_niveau()
    {
       return m_niveau; 
    };

    int Personnage::get_experience()
    {
       return m_experience; 
    };

    int Personnage::get_puissance()
    {
       return m_puissance; 
    };
    bool Personnage::get_vivant()
    {
       return m_est_vivant; 
    };

    std::string Personnage::get_sprite()
    {
       return m_sprite; 
    };

    Case Personnage::get_case()
    {
       return *m_tile; 
    };

    void Personnage::set_case(Case & Case_cible)
    {
        m_tile = &Case_cible; 
    };

    void Personnage::change_niveau()
    {


        if ((m_experience > 0) && (m_experience < 110))
        {
            m_niveau = 1;
        }

        else if ((m_experience >= 110) && (m_experience < 650))
        {
            m_niveau = 2;
        }

        else if ((m_experience >= 650) && (m_experience < 1500))
        {
            m_niveau = 3;
        }

        else if ((m_experience >= 1500) && (m_experience < 2800))
        {
            m_niveau = 4;
        }

        else if ((m_experience >= 2800) && (m_experience < 4800))
        {
            m_niveau = 5;
        }

        else if ((m_experience >= 4800) && (m_experience < 7300))
        {
            m_niveau = 6;
        }

        else if ((m_experience >= 7300) && (m_experience < 10500))
        {
            m_niveau = 7;
        }

        else if ((m_experience >= 10500) && (m_experience < 14500))
        {
            m_niveau = 8;
        }

        else if ((m_experience >= 14500) && (m_experience < 19200))
        {
            m_niveau = 9;
        }

        else 
        {
            m_niveau = 10;
        }
    };

    void Personnage::go_up()
    {
        if ((m_Y_pos >0) &&(m_Y_pos<=30))
        {
            m_Y_pos = m_Y_pos-1 ; 

        }

        else
        {
            m_Y_pos = m_Y_pos;
        }
    };


    void Personnage::go_down()
    {
        if ((m_Y_pos >=0) &&(m_Y_pos<30))
        {
            m_Y_pos = m_Y_pos+1 ;
            m_tile = Carte_2[1]; 

        }

        else
        {
            m_Y_pos = m_Y_pos;
        }
    };

    void Personnage::go_left()
    {
        if ((m_X_pos >0) &&(m_X_pos<=30))
        {
            m_X_pos = m_X_pos-1 ; 

        }

        else
        {
            m_X_pos = m_X_pos;
        }
    };


    void Personnage::go_right()
    {
        if ((m_X_pos >=0) &&(m_X_pos<30))
        {
            m_X_pos = m_X_pos+1 ; 

        }

        else
        {
            m_X_pos = m_X_pos;
        }


    };



//////////////////////////////////////////////////////////

#include "Case.h"

#include <iostream>
#include <cstdlib>
#include <string>

    Case::Case(int numero, int X_loc, int Y_loc, bool combat, bool barriere,std::string image)
    {
        Numero = numero;
        m_X_localisation = X_loc; // voir protected
        m_Y_localisation = Y_loc; // a changer
        combat_ou_non = combat;
        obstacle = barriere;
        m_sprite = image;

    };

    //Personnage::Personnage(int id, int vieAtStart, int degatsArmeAtStart)
    //{
    //   m_vie = vieAtStart;
    //   m_degatsArme = degatsArmeAtStart;
    //   persoId = id; 
    //   X_pos = 0;
    //   Y_pos = 0;
    //   niveau = 1;
    //   experience = 0;            
    // };

    int Case::get_numero()
    {
       return Numero; 
    };

    int Case::get_X_localisation()
    {
       return m_X_localisation; 
    };

    int Case::get_Y_localisation()
    {
       return m_Y_localisation; 
    };

    bool Case::get_combat_ou_non()
    {
        return combat_ou_non;
    };

    bool Case::get_obstacle()
    {
        return obstacle;
    };

    std::string Case::get_sprite()
    {
       return m_sprite; 
    };

    Case::~Case()                       //destructeur
    {

    };



////////////////////////////////////////////////////////////



#include "Rand.h"
#include "Personnage.h"
#include "Guerrier.h"
#include "Magicien.h"
#include "Voleur.h"
#include "Squelette.h"
#include "Araignee.h"
#include "Gobelin.h"
#include "Boss.h"
#include "Case.h"
#include <time.h>
#include "Drop.h"
#include "Combat.h"
#include <vector>



//#include "Rand.h" // permet de faire le lien avec le .h 


#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;


int main()
{

    // std::vector<Case> Carte(2,Case(1, 0, 0,false, false,"plop")); // test de la carte

    // std::cout << " Numero de Case_1 : " << Carte[0].get_numero() << std::endl;
    // std::cout << " Numero de Case_1 : " << Carte[0].get_X_localisation() << std::endl;
    // std::cout << " Numero de Case_1 : " << Carte[0].get_Y_localisation() << std::endl;
    // std::cout << " Numero de Case_1 : " << Carte[0].get_combat_ou_non() << std::endl;
    // std::cout << " Numero de Case_1 : " << Carte[0].get_obstacle() << std::endl;
    // std::cout << " Numero de Case_1 : " << Carte[0].get_sprite() << std::endl;

    // std::cout << "------------------------- " << std::endl;

    // Carte[1] = Case(1, 0, 0,false, false,"test");
    // std::cout << " Numero de Case_1 : " << Carte[1].get_numero() << std::endl;
    // std::cout << " Numero de Case_1 : " << Carte[1].get_X_localisation() << std::endl;
    // std::cout << " Numero de Case_1 : " << Carte[1].get_Y_localisation() << std::endl;
    // std::cout << " Numero de Case_1 : " << Carte[1].get_combat_ou_non() << std::endl;
    // std::cout << " Numero de Case_1 : " << Carte[1].get_obstacle() << std::endl;
    // std::cout << " Numero de Case_1 : " << Carte[1].get_sprite() << std::endl;

    // std::cout << "------------------------- " << std::endl;

    // test de la case de depart inclue dans personnage ///



    int A = rand_a_b(0,6);
    std::cout << "A vaut:" << A << std::endl;

    Guerrier Heros = Guerrier(1);
    Personnage Mechant = Personnage(2);
    Magicien Merlin = Magicien(3);
    Voleur Robin = Voleur(4);
    Squelette Oscar = Squelette(11);
    Araignee Lucifer = Araignee(12);
    Gobelin Marcel = Gobelin(13);
    Boss Jojo = Boss(14);

    std::cout << " Numero de Case initiale du personnage : " << Heros.get_case().get_numero() << std::endl;

    std::cout << "------------------------- " << std::endl;
    //Heros.set_case(Carte_2[1]);

    std::cout << " Numero de Case initiale du personnage : " << Heros.get_case().get_numero() << std::endl;
    std::cout << " Sprite initiale du personnage : " << Heros.get_case().get_sprite() << std::endl;

    // std::cout << "Id de Heros est:" << Heros.get_Id() << std::endl;
    // std::cout << "Vie de Heros est:" << Heros.get_vie() << std::endl;
    // std::cout << "Degats de Heros est:" << Heros.get_degats() << std::endl;
    // std::cout << "X_pos de Heros est:" << Heros.get_X_pos() << std::endl;
    // std::cout << "Y_pos de Heros est:" << Heros.get_Y_pos() << std::endl;
    // std::cout << "Niveau de Heros est:" << Heros.get_niveau() << std::endl;
    // std::cout << "Experience de Heros est:" << Heros.get_experience() << std::endl;
    // std::cout << "Puissance de Heros est:" << Heros.get_puissance() << std::endl;
    // std::cout << "Vivant de Heros est:" << Heros.get_vivant() << std::endl;
    // std::cout << "Sprite de Heros est:" << Heros.get_sprite() << std::endl;

    // std::cout << "Id de Mechant est:" << Mechant.get_Id() << std::endl;
    // std::cout << "Vie de Mechant est:" << Mechant.get_vie() << std::endl;
    // std::cout << "Degats de Mechant est:" << Mechant.get_degats() << std::endl;
    // std::cout << "X_pos de Mechant est:" << Mechant.get_X_pos() << std::endl;
    // std::cout << "Y_pos de Mechant est:" << Mechant.get_Y_pos() << std::endl;
    // std::cout << "Niveau de Mechant est:" << Mechant.get_niveau() << std::endl;
    // std::cout << "Experience de Mechant est:" << Mechant.get_experience() << std::endl;
    // std::cout << "Puissance de Mechant est:" << Mechant.get_puissance() << std::endl;
    // std::cout << "Vivant de Mechant est:" << Mechant.get_vivant() << std::endl;
    // std::cout << "Sprite de Mechant est:" << Mechant.get_sprite() << std::endl;


    Heros.charge(Mechant,Heros);

    // std::cout << "Id de Heros est:" << Heros.get_Id() << std::endl;
    // std::cout << "Vie de Heros est:" << Heros.get_vie() << std::endl;
    // std::cout << "Degats de Heros est:" << Heros.get_degats() << std::endl;
    // std::cout << "X_pos de Heros est:" << Heros.get_X_pos() << std::endl;
    // std::cout << "Y_pos de Heros est:" << Heros.get_Y_pos() << std::endl;
    // std::cout << "Niveau de Heros est:" << Heros.get_niveau() << std::endl;
    // std::cout << "Experience de Heros est:" << Heros.get_experience() << std::endl;
    // std::cout << "Puissance de Heros est:" << Heros.get_puissance() << std::endl;
    // std::cout << "Vivant de Heros est:" << Heros.get_vivant() << std::endl;
    // std::cout << "Sprite de Heros est:" << Heros.get_sprite() << std::endl;

    // std::cout << "Id de Mechant est:" << Mechant.get_Id() << std::endl;
    // std::cout << "Vie de Mechant est:" << Mechant.get_vie() << std::endl;
    // std::cout << "Degats de Mechant est:" << Mechant.get_degats() << std::endl;
    // std::cout << "X_pos de Mechant est:" << Mechant.get_X_pos() << std::endl;
    // std::cout << "Y_pos de Mechant est:" << Mechant.get_Y_pos() << std::endl;
    // std::cout << "Niveau de Mechant est:" << Mechant.get_niveau() << std::endl;
    // std::cout << "Experience de Mechant est:" << Mechant.get_experience() << std::endl;
    // std::cout << "Puissance de Mechant est:" << Mechant.get_puissance() << std::endl;
    // std::cout << "Vivant de Mechant est:" << Mechant.get_vivant() << std::endl;
    // std::cout << "Sprite de Mechant est:" << Mechant.get_sprite() << std::endl;

    // std::cout << "Id de Merlin est:" << Merlin.get_Id() << std::endl;
    // std::cout << "Vie de Merlin est:" << Merlin.get_vie() << std::endl;
    // std::cout << "Degats de Merlin est:" << Merlin.get_degats() << std::endl;
    // std::cout << "X_pos de Merlin est:" << Merlin.get_X_pos() << std::endl;
    // std::cout << "Y_pos de Merlin est:" << Merlin.get_Y_pos() << std::endl;
    // std::cout << "Niveau de Merlin est:" << Merlin.get_niveau() << std::endl;
    // std::cout << "Experience de Merlin est:" << Merlin.get_experience() << std::endl;
    // std::cout << "Puissance de Merlin est:" << Merlin.get_puissance() << std::endl;
    // std::cout << "Vivant de Merlin est:" << Merlin.get_vivant() << std::endl;
    // std::cout << "Sprite de Merlin est:" << Merlin.get_sprite() << std::endl;

    Merlin.BouleDeFeu(Mechant);

    // std::cout << "Id de Mechant est:" << Mechant.get_Id() << std::endl;
    // std::cout << "Vie de Mechant est:" << Mechant.get_vie() << std::endl;
    // std::cout << "Degats de Mechant est:" << Mechant.get_degats() << std::endl;
    // std::cout << "X_pos de Mechant est:" << Mechant.get_X_pos() << std::endl;
    // std::cout << "Y_pos de Mechant est:" << Mechant.get_Y_pos() << std::endl;
    // std::cout << "Niveau de Mechant est:" << Mechant.get_niveau() << std::endl;
    // std::cout << "Experience de Mechant est:" << Mechant.get_experience() << std::endl;
    // std::cout << "Puissance de Mechant est:" << Mechant.get_puissance() << std::endl;
    // std::cout << "Vivant de Mechant est:" << Mechant.get_vivant() << std::endl;
    // std::cout << "Sprite de Mechant est:" << Mechant.get_sprite() << std::endl;

    // std::cout << "Id de Robin est:" << Robin.get_Id() << std::endl;
    // std::cout << "Vie de Robin est:" << Robin.get_vie() << std::endl;
    // std::cout << "Degats de Robin est:" << Robin.get_degats() << std::endl;
    // std::cout << "X_pos de Robin est:" << Robin.get_X_pos() << std::endl;
    // std::cout << "Y_pos de Robin est:" << Robin.get_Y_pos() << std::endl;
    // std::cout << "Niveau de Robin est:" << Robin.get_niveau() << std::endl;
    // std::cout << "Experience de Robin est:" << Robin.get_experience() << std::endl;
    // std::cout << "Puissance de Robin est:" << Robin.get_puissance() << std::endl;
    // std::cout << "Vivant de Robin est:" << Robin.get_vivant() << std::endl;
    // std::cout << "Sprite de Robin est:" << Robin.get_sprite() << std::endl;

    Robin.sournoiserie(Mechant);

    // std::cout << "Id de Mechant est:" << Mechant.get_Id() << std::endl;
    // std::cout << "Vie de Mechant est:" << Mechant.get_vie() << std::endl;
    // std::cout << "Degats de Mechant est:" << Mechant.get_degats() << std::endl;
    // std::cout << "X_pos de Mechant est:" << Mechant.get_X_pos() << std::endl;
    // std::cout << "Y_pos de Mechant est:" << Mechant.get_Y_pos() << std::endl;
    // std::cout << "Niveau de Mechant est:" << Mechant.get_niveau() << std::endl;
    // std::cout << "Experience de Mechant est:" << Mechant.get_experience() << std::endl;
    // std::cout << "Puissance de Mechant est:" << Mechant.get_puissance() << std::endl;
    // std::cout << "Vivant de Mechant est:" << Mechant.get_vivant() << std::endl;
    // std::cout << "Sprite de Mechant est:" << Mechant.get_sprite() << std::endl;

    // std::cout << "Id de Oscar est:" << Oscar.get_Id() << std::endl;
    // std::cout << "Vie de Oscar est:" << Oscar.get_vie() << std::endl;
    // std::cout << "Degats de Oscar est:" << Oscar.get_degats() << std::endl;
    // std::cout << "X_pos de Oscar est:" << Oscar.get_X_pos() << std::endl;
    // std::cout << "Y_pos de Oscar est:" << Oscar.get_Y_pos() << std::endl;
    // std::cout << "Niveau de Oscar est:" << Oscar.get_niveau() << std::endl;
    // std::cout << "Experience de Oscar est:" << Oscar.get_experience() << std::endl;
    // std::cout << "Puissance de Oscar est:" << Oscar.get_puissance() << std::endl;
    // std::cout << "Vivant de Oscar est:" << Oscar.get_vivant() << std::endl;
    // std::cout << "Sprite de Oscar est:" << Oscar.get_sprite() << std::endl;

    Oscar.coup_de_femur(Robin);

    // std::cout << "Id de Robin est:" << Robin.get_Id() << std::endl;
    // std::cout << "Vie de Robin est:" << Robin.get_vie() << std::endl;
    // std::cout << "Degats de Robin est:" << Robin.get_degats() << std::endl;
    // std::cout << "X_pos de Robin est:" << Robin.get_X_pos() << std::endl;
    // std::cout << "Y_pos de Robin est:" << Robin.get_Y_pos() << std::endl;
    // std::cout << "Niveau de Robin est:" << Robin.get_niveau() << std::endl;
    // std::cout << "Experience de Robin est:" << Robin.get_experience() << std::endl;
    // std::cout << "Puissance de Robin est:" << Robin.get_puissance() << std::endl;
    // std::cout << "Vivant de Robin est:" << Robin.get_vivant() << std::endl;
    // std::cout << "Sprite de Robin est:" << Robin.get_sprite() << std::endl;

    Lucifer.morsure(Robin);

    // std::cout << "Id de Robin est:" << Robin.get_Id() << std::endl;
    // std::cout << "Vie de Robin est:" << Robin.get_vie() << std::endl;
    // std::cout << "Degats de Robin est:" << Robin.get_degats() << std::endl;
    // std::cout << "X_pos de Robin est:" << Robin.get_X_pos() << std::endl;
    // std::cout << "Y_pos de Robin est:" << Robin.get_Y_pos() << std::endl;
    // std::cout << "Niveau de Robin est:" << Robin.get_niveau() << std::endl;
    // std::cout << "Experience de Robin est:" << Robin.get_experience() << std::endl;
    // std::cout << "Puissance de Robin est:" << Robin.get_puissance() << std::endl;
    // std::cout << "Vivant de Robin est:" << Robin.get_vivant() << std::endl;
    // std::cout << "Sprite de Robin est:" << Robin.get_sprite() << std::endl;

    Marcel.coup_de_dague(Robin);

    // std::cout << "Id de Robin est:" << Robin.get_Id() << std::endl;
    // std::cout << "Vie de Robin est:" << Robin.get_vie() << std::endl;
    // std::cout << "Degats de Robin est:" << Robin.get_degats() << std::endl;
    // std::cout << "X_pos de Robin est:" << Robin.get_X_pos() << std::endl;
    // std::cout << "Y_pos de Robin est:" << Robin.get_Y_pos() << std::endl;
    // std::cout << "Niveau de Robin est:" << Robin.get_niveau() << std::endl;
    // std::cout << "Experience de Robin est:" << Robin.get_experience() << std::endl;
    // std::cout << "Puissance de Robin est:" << Robin.get_puissance() << std::endl;
    // std::cout << "Vivant de Robin est:" << Robin.get_vivant() << std::endl;
    // std::cout << "Sprite de Robin est:" << Robin.get_sprite() << std::endl;

    Jojo.coup_fatal(Robin);
    std::cout << "Id de Robin est:" << Robin.get_Id() << std::endl;
    std::cout << "Vie de Robin est:" << Robin.get_vie() << std::endl;
    std::cout << "Degats de Robin est:" << Robin.get_degats() << std::endl;
    std::cout << "X_pos de Robin est:" << Robin.get_X_pos() << std::endl;
    std::cout << "Y_pos de Robin est:" << Robin.get_Y_pos() << std::endl;
    std::cout << "Niveau de Robin est:" << Robin.get_niveau() << std::endl;
    std::cout << "Experience de Robin est:" << Robin.get_experience() << std::endl;
    std::cout << "Puissance de Robin est:" << Robin.get_puissance() << std::endl;
    std::cout << "Vivant de Robin est:" << Robin.get_vivant() << std::endl;
    std::cout << "Sprite de Robin est:" << Robin.get_sprite() << std::endl;

    Drop(Robin,Jojo);

    std::cout << "Id de Robin est:" << Robin.get_Id() << std::endl;
    std::cout << "Vie de Robin est:" << Robin.get_vie() << std::endl;
    std::cout << "Degats de Robin est:" << Robin.get_degats() << std::endl;
    std::cout << "X_pos de Robin est:" << Robin.get_X_pos() << std::endl;
    std::cout << "Y_pos de Robin est:" << Robin.get_Y_pos() << std::endl;
    std::cout << "Niveau de Robin est:" << Robin.get_niveau() << std::endl;
    std::cout << "Experience de Robin est:" << Robin.get_experience() << std::endl;
    std::cout << "Puissance de Robin est:" << Robin.get_puissance() << std::endl;
    std::cout << "Vivant de Robin est:" << Robin.get_vivant() << std::endl;
    std::cout << "Sprite de Robin est:" << Robin.get_sprite() << std::endl;

    Combat(Robin,Oscar);

    std::cout << "Puissance de Robin est:" << Robin.get_puissance() << std::endl;


}
#包括“Personnage.h”
#包括“Drop.h”
#包括“案例h”
#包括
#包括
#包括
#包括
//测试_1=案例(1,0,0,假,假,“plop”);
//测试2=案例(1,0,0,假,假,“plop”);
//测试_3=案例(1,0,0,假,假,“plop”);
//点菜2.推回(测试1);
//点菜2.推回(测试2);
//点菜2.推回(测试3);
//案例&nb_1=Carte_2[1];
//nb_1=案例(99,0,0,假,假,“prout”);
//案例点菜2[1]=案例(1,0,0,假,假,“测试”);
//Case-objet=Case(99,0,0,false,false,“prout”);
//点菜[1]=案例(99,0,0,false,false,“prout”);
//Carte_2[1]=对象;
Personnage::Personnage(int-id)
{
Id=Id;
m_vie=100;
m_degats=10;//NArme.getDegats();
m_X_pos=0;
m_Y_pos=0;
m_niveau=1;
m_经验=0;
m_puissance=1;
m_est_vivant=真;
m_sprite=“Perso”;
//m_tile=新案例(1,0,0,false,false,“plop”)//
std::vector Carte_2(2,Case(1,0,0,false,false,false,“plop”);//按顺序倒出测试
Carte_2[1]=案例(99,0,0,false,false,“prout”);
m_tile=新案例(Carte_2[0]);
};
//Personnage::Personnage(int-id、int-vieAtStart、int-degatsArmeAtStart)
//{
//m_vie=vieAtStart;
//m_degatsArme=degatsarmeitstart;
//persoId=id;
//X_pos=0;
//Y_pos=0;
//niveau=1;
//经验=0;
// };
void Personnage::接收方(内部名称)
{
m_vie=m_vie-nombreDegats;//我的失败是对政变的批判
};
void Personnage::attaker(Personnage&cible)
{
收件人(m_degats);//请注意
};
void Personnage::guerir()
{
人生=人生+40;
如果(m_vie>100)
{
m_vie=100;
}    
};
void Personnage::regen()
{
m_vie=100;
};
bool Personnage::estVivant()//tout est dans le nom
{
如果(m_vie>0)
返回true;
其他的
返回false;
};
Personnage::~Personnage()//析构函数
{
};
int Personnage::get_vie()
{
回归生活;
};
int Personnage::get_Id()
{
返回Id;
};
//void Personnage::se_blesser(int douleur)
// {
//m_vie=m_vie-douleur;
//如果(m_vie<0)
//m_vie=0;
// };
int Personnage::get_degats()
{
返回m_degats;
};
int Personnage::get_X_pos()
{
返回m_X_位置;
};
int Personnage::get_Y_pos()
{
返回m_Y_pos;
};
int Personnage::get_niveau()
{
返回m_niveau;
};
int Personnage::获取经验()
{
返回m_经验;
};
int Personnage::get_puissance()
{
返回m_puissance;
};
bool Personnage::get_vivant()
{
还活着;
};
std::string Personnage::get_sprite()
{
返回m_sprite;
};
Case Personnage::get_Case()
{
返回*m_瓷砖;
};
void Personnage::set_case(case&case_cible)
{
m_tile=&Case_cible;
};
void Personnage::change_niveau()
{
如果((母校经验>0)和&(母校经验<110))
{
m_niveau=1;
}
否则如果((母校经验>=110)和&(母校经验<650))
{
m_niveau=2;
}
否则如果((母校经验>=650)和&(母校经验<1500))
{
m_niveau=3;
}
否则如果((母校经验>=1500)和&(母校经验<2800))
{
m_niveau=4;
}
否则如果((母校经验>=2800)和&(母校经验<4800))
{
m_niveau=5;
}
否则如果((母校经验>=4800)和&(母校经验<7300))
{
m_niveau=6;
}
否则如果((母校经验>=7300)和&(母校经验<10500))
{
m_niveau=7;
}
否则如果((母校经验>=10500)和&(母校经验<14500))
{
m_niveau=8;
}
否则如果((母校经验>=14500)和&(母校经验<19200))
{
m_niveau=9;
}
其他的
{
m_niveau=10;
}
};
void Personnage::go_up()
{
如果((m_Y_pos>0)和&(m_Y_pos=0)和&(m_Y_pos0)和&(m_X_pos=0)和&(m_X_pos
std::vector Carte_2
在构造函数中声明为局部变量,那么当构造函数结束时,此变量将永久删除

所以
Personnage::go_down()
无法访问它。我怀疑您想要const std::vector<Case>& Carte_2() { static std::vector<Case> vect = { Case(1, 0, 0,false, false,"plop"), Case(99, 0, 0,false, false,"prout") }; return vect; }
m_tile = &(Carte_2()[0]); // if m_tile is a Case*
m_tile = &(Carte_2()[1]); // if m_tile is a Case*