我制作了一个播放器类,其中包含与播放器相关的所有内容。我可以在我的GameSystem.h中调用player.h并做一下你的健康并去玩player._health。我做错了什么因为它现在大声说班级玩家类型名称。
class Player
{
public:
Player();
void init(int level, int health, int attack, int defense, int experience);
int attack();
int takeDamage(int attack);
// Set Player funtion
void setPosition(int x, int y);
void addExperience(int experience);
void setHP(int hp);
void setMaxHP(int hp);
// Get player position
void getPosition(int &x, int &y);
private:
// Player porperties
int _level;
int _health;
int _maxHp;
int _attack;
int _defense;
int _experience;
// Player Position
int _x;
int _y;
};
我想在我的GameSystem.cpp中调用玩家的健康状况。我将如何做到这一点。
#include "GameSystem.h"
#include "Player.h"
#include <iostream>
#include <conio.h>
// Constructor which sets up the game
GameSystem::GameSystem(string levelFilename)
{
_player.init(1, 100, 10, 10, 0);
_level.load(levelFilename, _player);
system("pause");
}
void GameSystem::playGame()
{
bool isDone = false;
while (isDone != true)
{
_level.print();
playerMove();
}
}
void GameSystem::playerMove()
{
char input;
printf(" Enter a move command (w/s/a/d: ");
input = _getch();
cout << " Your Health:" << Player._health;
_level.movePlayer(input, _player);
}
答案 0 :(得分:0)
你可能理解私人/公共的概念。如果没有,您应该理解私有意味着,该范围内的所有内容都无法从外部访问。对于您的问题,您应该创建一个公共方法,例如返回健康状况的getPosition,例如
int getHealth(){ return this->_health; }
学习私人和公共。 C ++是一种复杂的语言,即使现在它看起来并不那么难,但特别是如果你想写一个游戏。