我们可以为指针 unsigned char 数组赋值吗?
Can we assign a value to pointer unsigned char array?
大家好,我正在尝试用 C++ 制作俄罗斯方块游戏。我在找 that tutorial
#include <iostream>
#include <string>
using namespace std;
int nFieldWidth = 12;
int nFieldHeight = 18;
unsigned char *pField = nullptr; //dynamic memory allocation for store game area elements
int main(){
...
pField = new unsigned char[nFieldHeight * nFieldWidth];
for(int x = 0; x < nFieldWidth; x++)
for(int y = 0; y < nFieldHeight; y++)
pField[y*nFieldWidth+x] = (x == 0 || x == nFieldWidth - 1 || y == nFieldHeight - 1) ? 9 : 0;
...
system("pause");
return 0;
}
我们在这个条件分支中做什么?我知道
if(x == 0 || x == nFieldWidth -1 || y == nFieldHeight -1)
pField[y*nFieldWidth+x] = 9;
else
pField[y*nFieldWidth+x] = 0;
我们在分配内存吗?如果我们是为什么我们设置为 9 ,在全局中我们选择 12 和 18 作为边框长度??
他在 youtube 视频中从 8:20 开始解释:如果插槽为空,pField
设置为 0,否则如果它被其中一个 tetromini 形状占用,则设置为 1 到 8。 9 保留用于板墙。
因此,在那个三元条件下,他正在初始化电路板,几乎在所有地方都将其设置为空 (0),除非循环碰到边缘(0
是左边缘,nFieldWidth - 1
是右边缘,nFieldHeight - 1
是底部边缘),他将在此处放置一个墙槽 (9)。
大家好,我正在尝试用 C++ 制作俄罗斯方块游戏。我在找 that tutorial
#include <iostream>
#include <string>
using namespace std;
int nFieldWidth = 12;
int nFieldHeight = 18;
unsigned char *pField = nullptr; //dynamic memory allocation for store game area elements
int main(){
...
pField = new unsigned char[nFieldHeight * nFieldWidth];
for(int x = 0; x < nFieldWidth; x++)
for(int y = 0; y < nFieldHeight; y++)
pField[y*nFieldWidth+x] = (x == 0 || x == nFieldWidth - 1 || y == nFieldHeight - 1) ? 9 : 0;
...
system("pause");
return 0;
}
我们在这个条件分支中做什么?我知道
if(x == 0 || x == nFieldWidth -1 || y == nFieldHeight -1)
pField[y*nFieldWidth+x] = 9;
else
pField[y*nFieldWidth+x] = 0;
我们在分配内存吗?如果我们是为什么我们设置为 9 ,在全局中我们选择 12 和 18 作为边框长度??
他在 youtube 视频中从 8:20 开始解释:如果插槽为空,pField
设置为 0,否则如果它被其中一个 tetromini 形状占用,则设置为 1 到 8。 9 保留用于板墙。
因此,在那个三元条件下,他正在初始化电路板,几乎在所有地方都将其设置为空 (0),除非循环碰到边缘(0
是左边缘,nFieldWidth - 1
是右边缘,nFieldHeight - 1
是底部边缘),他将在此处放置一个墙槽 (9)。