C++ x 中的 RPG 游戏可以低于 0

Rpg game in C++ x can go below 0?

本文关键字:游戏 中的 RPG C++      更新时间:2023-10-16

我正在制作一个 c++ rpg。

这是我的代码:http://pastebin.com/cyR5bzKR

它让我去-1,然后我哪儿也去不了。我也可以去4,然后我哪儿也去不了。

有什么帮助吗?

我不希望这过于复杂。

附言我正在使用代码::块我认为这不是问题所在。

在决定玩家是否应该能够移动时,您希望考虑下一个操作。

这样的事情应该可以工作...

if(dir == "L" && x-1 >= xMin) {
  printf("You Went Left");
  x--;
}

你有这样的代码:

if (x >= min) --x;

在递减之前,您正在检查一个值是否大于或等于另一个值。 即,如果它相等,您仍然会递减,因此,之后它将小于该值。

解决方案是仅在大于最小值时才递减:

if (x > min) --x;

当你向右移动时,你需要检查你是否不在最右边的位置。同样,当向左移动时,您需要检查您是否不在最左侧的位置。

但是你正在测试你没有超出最右/最左的位置(并且还在检查你在板上,这似乎没有必要)。

你想要类似的东西

if (dir == "R" && x < xmax) ++x;
else if (dir == "L" && x > xmin) --x;

您执行的其他测试是多余的。

    if(dir == "L" && x > xMin)
    {
        printf("You Went Left");
        x--;
    }
    else if(dir == "R" && x < xMax)
    {
        printf("You Went Right");
        x++;
    }
    else
    {
        printf("You can't go that way.");
    }