我在视觉工作室制作了一个类似胭脂的游戏,我希望显示玩家的健康状况

时间:2017-08-16 16:45:23

标签: c++ visual-studio-2017

我制作了一个播放器类,其中包含与播放器相关的所有内容。我可以在我的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);


}

1 个答案:

答案 0 :(得分:0)

你可能理解私人/公共的概念。如果没有,您应该理解私有意味着,该范围内的所有内容都无法从外部访问。对于您的问题,您应该创建一个公共方法,例如返回健康状况的getPosition,例如

int getHealth(){ return this->_health; }

学习私人和公共。 C ++是一种复杂的语言,即使现在它看起来并不那么难,但特别是如果你想写一个游戏。