调用void函数

Calling a void function

本文关键字:函数 void 调用      更新时间:2023-10-16

我正在尝试调用一个函数,该函数将在我的地图上显示俄罗斯方块形状。下面的函数包含所有不同的俄罗斯方块形状,它需要一个参数ShapeType才能知道要放下哪个形状。此参数将是随机的,但我们将使用1作为示例。

void TetrisShapes(char ShapeType){
    if (ShapeType == 1){
        Map[0][0] = ' ';    Map[1][0] = 'X';    Map[2][0] = ' ';    Map[3][0] = ' ';
        Map[0][1] = ' ';    Map[1][1] = 'X';    Map[2][1] = ' ';    Map[3][1] = ' ';
        Map[0][2] = ' ';    Map[1][2] = 'X';    Map[2][2] = 'X';    Map[3][2] = ' ';
        Map[0][3] = ' ';    Map[1][3] = ' ';    Map[2][3] = ' ';    Map[3][3] = ' ';
    }
    if(ShapeType == 2){
        Map[0][0] = ' ';    Map[1][0] = ' ';    Map[2][0] = ' ';    Map[3][0] = ' ';
        Map[0][1] = ' ';    Map[1][1] = 'X';    Map[2][1] = 'X';    Map[3][1] = ' ';
        Map[0][2] = 'X';    Map[1][2] = 'X';    Map[2][2] = ' ';    Map[3][2] = ' ';
        Map[0][3] = ' ';    Map[1][3] = ' ';    Map[2][3] = ' ';    Map[3][3] = ' ';
    }
}

一旦选择了一个形状,我们就取下这个形状并将其命名,并将其放置在地图上,具体坐标为ShapePosXShapePosY,如您在下方所见

Map[ShapePosX][ShapePosY] = TetrisShapes(1); 

现在我的问题是,我不能调用上面的行,因为函数是无效的,并且不返回任何内容。。但它应该返回在CCD_ 5和CCD_。

在这个特定的问题中,我该怎么做才能调用函数?感谢

由于您使用C++编程,因此可以将数组作为参数传递给函数。

所以基本上你的功能原型变成了:

void TetrisShapes(char ShapeType, char Map[][3])

然后,假设您已经声明了数组Map,那么您可以将函数调用为:

TetrisShapes(1, Map);