C++:需要一个声明

标签 c++

我在编程方面完全是菜鸟,并且遇到多个错误,提示“需要声明” 我们被分配了一个项目,需要创建一个带有攻击对手的角色的文本游戏。 我们要创建角色,当我们告诉他们攻击时,我们必须输入正确的攻击键。

这是我到目前为止所拥有的:

#include <cstdlib>
#include <Windows.h> 
#include <iostream>
#include <string>

using namespace std;

int Opponent;
int showOpponentHealth(int OpponentHealth, int Attack);
int showHealth(int Health, int OpponentAttack);
int showMagic(int Magic);
{ //Error: expected a declaration
public:
    Opponent() : OpponentAttack(0), OpponentHealth(3);
    {
        OpponentAttack = rand() % 100;
        OpponentHealth = rand() % 6 + 10;
    }
}
int getAttack(Opponent);
{ //Error: expected a declaration
    AttRoll = Rand() % 100
    if (AttRoll < getAtt)
        hit
    {
        AttType = 1 - 3
        if (AttType == 1)
            return 30
        else if (AttType == 2)
        return 50
        else if (AttType == 3)
        return 70
    }

    float character::getHeal()
    {
        magicCost = magic - 6;
        Heal = rand() % 3 + 5;
        cout << "Heal value= " << heal << ".\n";
        return Heal;
    }
}
void Battle()
{
    int Health = rand() % 6 + 10;
    int OpponentHealth = rand() % 6 + 10;
    int hit;
}
long timeTest()
{
    //seed the random number generator
    srand(GetTickCount64());
    //rand will give a number between 0 and max integer value
    int waitTime = rand() % 5 + 1;
    for (int i = waitTime; i>0; i--)
    {
        cout << "*";
        Sleep(1000); //wait for 1 second
    }
    char typeThis = rand() % 26 + 97;
    cout << typeThis << ":";
    char playerResponse;

    //this is the window function I'm using to get the time: ULONGLONG WINAPI GetTickCount64(void);
    ULONGLONG startTime = GetTickCount64();

    cin >> playerResponse;

    ULONGLONG endTime = GetTickCount64();

    if (playerResponse != typeThis)
        return -1;
    long deltaTime = endTime - startTime;

    return deltaTime;
}
do  //syntax error
{  //Error: expected a declaration
    cout << " Attack Opponent? \n Yes = 1\n"
        cin >> Attack Opponent;
    if (AttackOpponent == 1)
    {
        OpponentHealth = showOpponentHealth(OpponentHealth, Attack);
        Health = showHealth(health, OpponentAttack);
        cout << "You attacked the Opponent with a light attack.";
        cout << "The Opponent now has " << OpponentHealth << "health left.";
        if (OpponentHealth <= 0)
        {
            cout << "You Win!";
        }
        else if (OpponentHealth > 0)
        {
            cout << "Opponent attacks back";
            cout << "You have" << Health << "health left,";
        }

        else if (AttackOpponent == 2)
            cout << "You attacked the Opponent with a medium attack.";
        cout << "The Opponent now has " << OpponentHealth << "health left.";
        {  //Error: expected a declaration
        else if (AttackOpponent == 3)
            cout << "You attadcked the Opponent with a heavy attack.";
        cout << "The Opponent now has " << Opponent Health << "health left.";
        }
    }  //Error: expected a declaration
    int showOpponentHealth(int OpponentHealth, int Attack)
    {
        OpponentHealth = OpponentHealth - Attack;
        return OpponentHealth;
    }
    int showHealth(int Health, int OpponentAttack)
    {
        Health = Health - OpponentAttack;
        return Health;
    }
}
int main()
{
    cout << "Try the timeTest: " << timeTest() << endl;

    int Health = rand() % 6 + 10;
    if (Health <= 0)
        cout << "You Died. Game Over." << endl;

    int Magic = 10
    else (Magic <= 0)
        cout << "No more Magic." << endl;

    system("Pause");
    return0;
}

错误会在括号和“do”处弹出

最佳答案

您的 do{ ... } 循环位于任何函数之外。它必须位于函数内部 - 编译器告诉您它需要一个函数声明,例如:

long timeTest()

您的意思是 do-loop 位于 timeTest() 内部吗?

关于C++:需要一个声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30039295/

相关文章:

c++ - 每次继承时都需要boost::serialization::base_object吗?

c++ - 同时在 Visual Studio 和 AnkhSVN 中移动文件

c++ - 如果 `double` 或 `long double` 适合 `long long`,如何正确检查?

c++ - 尝试在路由器上执行命令。 C++和libssh

c++ - 如何避免混叠并提高性能?

c++ - C++中的饱和短(int16)

c++ - 如何在 g++ 中将 -std=c++11 定义为默认值

c++ - 大尺寸图标文件在Qt中占用大内存吗?

c++ - 使用静态成员变量初始化映射

c++ - 使用 MinGW 编译自动化代理