把( qrand() % (GAME_HEIGHT-100 - 180 + 1) ) + 160改写成QRandomGenerator::global()->generate()类型
时间: 2024-03-01 12:56:27 浏览: 16
好的,可以这样改写:
```
QRandomGenerator generator;
int y = generator.bounded(160, GAME_HEIGHT-100);
```
`QRandomGenerator` 是 Qt 提供的随机数生成器类,`bounded` 方法可以生成指定范围内的随机数。这里将原来的 `( qrand() % (GAME_HEIGHT-100 - 180 + 1) ) + 160` 改写成了 `generator.bounded(160, GAME_HEIGHT-100)`,生成的随机数范围是 [160, GAME_HEIGHT-100]。
相关问题
解释game->projects[i + game->project_num].gender = 1
这段代码的含义是将一个名为`game`的结构体中的第`i + game->project_num`个元素的`gender`属性设置为1。具体来说,这里使用了`->`运算符来访问`game`指针所指向的结构体中的属性,`projects`是该结构体中的一个数组,`i + game->project_num`表示数组中的一个元素,`.`运算符用于访问该元素的`gender`属性,并将其设置为1。
解释scanf("%d", &game->project_num);
scanf 是 C 语言中的一个函数,可以用来从标准输入流(通常是键盘输入)中读取数据。"%d" 是 scanf 的格式化字符串,表示读取一个整数。"&game->project_num" 则是将读取到的整数值存储到一个名为 game 的结构体变量中的 project_num 成员中。
具体解释:& 是取地址符,用于获取变量 project_num 的内存地址,而 game-> 表示通过指向结构体变量 game 的指针来访问结构体成员 project_num,即 game->project_num 实际上就是 (*game).project_num 的缩写,表示访问指针所指向的结构体变量中的 project_num 成员。这里将 &game->project_num 作为参数传递给 scanf 函数,表示将从键盘输入读取的整数值存储到 project_num 变量所在的内存地址中。