访问唯一指针变量并显示它们

Accessing unique pointer variables and displaying them

本文关键字:显示 变量 唯一 指针 访问      更新时间:2023-10-16

我对这个网站和 c++ 编程相当陌生。我一直在努力让一些东西工作,我想我已经碰到了一堵砖墙。

对于我的项目,我正在尝试制作一个基于文本的RPG。我试图让玩家在战斗中看到他们职业的统计数据,但我不知道如何显示它。帮助将不胜感激。

include <iostream>
#include "mage.h"
#include "Warrior.h"
#include "Rogue.h"
#include "CharacterType.h"
#include <memory>
#include <string>
#include "MainGame.h"
#include "Inventory.h"
using namespace std;

int GameStart()
{
    std::unique_ptr<blankCharacter> myCharacter;
    std::unique_ptr<Inventory> myInventory;

    string name;
    int choice;
    cout << " Please enter player name." << endl << endl;
    cin >> name;        
    system("cls");
    cout << "Please select fighting class." << endl << endl;
    cout <<" 1 - Mage" << endl;
    cout <<" 2 - Warrior" << endl;
    cout <<" 3 - Rogue" << endl;
    cin >> choice;
    switch(choice)
    {
        case 1: //Mage
            myCharacter = std::unique_ptr<blankCharacter>(new Mage(70,100,150,60));
            myInventory = std::unique_ptr<Inventory>(new Inventory(10, 30));
        break;
        case 2: //Warrior
            myCharacter = std::unique_ptr<blankCharacter>(new Warrior(100,160,50,60));
            myInventory = std::unique_ptr<Inventory>(new Inventory(10, 30));
        break;
        case 3: //Rogue
            myCharacter = std::unique_ptr<blankCharacter>(new Rogue(90,160,70,100));
            myInventory = std::unique_ptr<Inventory>(new Inventory(10, 30));
        break;
        default: 
        cout << "Please select a relivant value 1 to 3" << endl << endl;
        break;
    }

    system("cls");

    return 0;
}

既然你使用的是system("cls")我就假设你使用的是Windows。我建议您阅读gotoxy函数的工作原理。

或者,如果我错了,你使用的是Linux,那么使用NCURSES库。

这两个选项都是控制台文本操作选项。如果你想让你的游戏更高级一些东西,恐怕答案不会很简短,但你可以从阅读更多关于 Unity 等游戏引擎的信息开始,或者通过学习 OpenGL 或 Direct X 来深入了解游戏图形的核心。

我很抱歉没有更具体,但这个问题很笼统。

    class blankCharacter
    {
     protected:
 int health;
 int stamina;
 int magic;
 int Attack1;
 int Attack2;
 int Attack3;
 int FirstAttack;
 int SecondAttack;
 int ThirdAttack;
 int healthTodeduct;


   public: 
blankCharacter(int Attack1,  int Attack2, int Attack3, int startingHealth, int        startingStamina, int startingMagic); // Constructor
~blankCharacter(); // Destructor
    }

解决问题的方式是指向值。

     cout << "Magic: " << myCharacter->getMagic() << endl;
 cout << "Stamina: " << myCharacter->getStamina() <<     endl;
 cout << "Health: " << myCharacter->getHealth() << endl;