好的,所以我正在关注 Chili 的一组教程。我们的作业是为填充的立方体创建代码。我这样做了。然后我真的为一个函数简化了它。现在它编译没有错误,但是当我尝试运行它时崩溃。我看了这个东西很久了,不知道哪里出了问题。我将暂时将其与辣椒进行比较。但我希望在这里有一双新的眼睛。我认为正在发生的事情是另一个完全没有意义的晦涩和奇怪的 C++ 法则。但这里可能存在逻辑错误。
请注意,我从函数中获取代码并将其转换回正常的 C++ 语句。这里是:
int xN = 200;
int yN = 100;
int xP = 600;
int yP = 500;
while(xN <= xP)
{
while(yN <= yP)
{
gfx.PutPixel(xN, yN, 100, 150, 255);
xN++;
}
yN++;
}
我感谢您的帮助!
更新!好的,我修复了我的代码。为 xP 和 yP 创建了两个用户变量(常数值)。以前没有画一个填充的立方体。事实证明,范围或其他东西是问题所在。如果我在循环之外声明这两个变量,则不会发生任何事情。只有当我在使用它的循环之外声明每一个时,它才会起作用。所以现在我必须以某种方式把它变成一个函数......
int xN = 200;
while(xN <= xP)
{
int yN = 100;
while(yN <= yP)
{
gfx.PutPixel(xN, yN, 100, 150, 255);
yN++;
}
xN++;
}
好的,所以如果其他人想知道这就是我制作函数的方式(结果我需要两个):
void Game::DrawCubeX(int xN, int yN)
{
while(xN <= xP)
{
gfx.PutPixel(xN, yN, 100, 150, 255);
xN++;
}
}
void Game::DrawCubeY(int xN, int yN)
{
while(yN <= yP)
{
gfx.PutPixel(xN, yN, 100, 150, 255);
DrawCubeX(xN, yN);
yN++;
}
}
由于某种原因,嵌套循环不起作用。如果有更好或更优雅的方法来使用 while 循环,请告诉我。
谢谢!