void draw_star(int **map,int *star, int height, int weight){ int sum = 0; // 空格子的个数 int index = 0; // 剩下的格子 // 算出空格子的个数 for(int i = 0; i < height ; ++i){ for(int j = 0; j < weight; ++j){ if(map[i][j] == 0) { sum += 1; } } } index = random(sum) + 1; // 在1到sum 中随机的位置生成星星 //生成星星 for(int i = 0; i < height; ++i){ for(int j = 0; j < weight; ++j){ if(map[i][j] == 0){ index -= 1; } if(index == 0){ star[0] = i; star[1] = j; return ; } } } return; } else if ( i == star[0] && j == star[1]) { cout << "★"; }这个代码使用了什么数据结构
时间: 2024-02-14 17:20:32 浏览: 75
这个代码同样使用了一个二维数组来表示游戏的地图,用于记录地图上每个位置的状态。此外,还使用了一个一维数组来记录星星的位置,其中第一个元素表示星星所在位置的行坐标,第二个元素表示星星所在位置的列坐标。这个数据结构方便对游戏的地图和星星进行维护,方便生成和更新星星的位置,并且可以方便地输出地图的状态,以便于游戏的显示和调试。
相关问题
void fun_b(int *x, int *y) {int *p; *x=*y;*y=*x; )
这是一个交换两个整型变量值的函数,函数名为fun_b,参数为两个指向整型变量的指针x和y。函数体内定义了一个指向整型变量的指针p,然后通过指针操作交换了x和y指向的变量的值。具体实现如下:
```c
void fun_b(int *x, int *y)
{
int *p;
p = x;
x = y;
y = p;
}
```
需要注意的是,函数内部的指针操作只是交换了指针本身的值,并没有交换指针所指向的变量的值。正确的实现方式应该是:
```c
void fun_b(int *x, int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
```
void fun_b(int *x, int *y) { int *p; *x=*y;*y=*x;
这是一个交换两个整数值的函数,函数名为fun_b,函数参数为两个指向整型变量的指针x和y。函数体内定义了一个指向整型变量的指针p,然后将y指向的值赋给x指向的值,将x指向的值赋给y指向的值,实现了两个整数值的交换。
```c
void fun_b(int *x, int *y) {
int *p;
int temp;
temp = *x;
*x = *y;
*y = temp;
}
```
阅读全文