js利用 for 循环生成 13 排每排有 13 个的砖块,当单数行时单数列不生成砖块,当双数行时候双数列不生成砖块,在 for 循环中使用 continue 实现
时间: 2024-02-28 07:57:44 浏览: 29
好的,这是一个简单的示例代码:
```javascript
for(let i = 1; i <= 13; i++) {
// 创建一个数组用于存放当前行的砖块
const row = [];
for(let j = 1; j <= 13; j++) {
if(i % 2 === 1 && j % 2 === 1) {
// 当单数行时单数列不生成砖块
continue;
}
if(i % 2 === 0 && j % 2 === 0) {
// 当双数行时双数列不生成砖块
continue;
}
// 生成砖块并添加到当前行中
row.push(createBrick());
}
// 输出当前行的砖块
console.log(row);
}
// 生成砖块的函数
function createBrick() {
return {
width: 50,
height: 20,
color: 'red'
};
}
```
这段代码中,我们使用了两个 for 循环,分别用于遍历行和列。在遍历列的循环中,我们使用了 continue 语句来跳过不符合条件的列。当单数行时单数列不生成砖块,当双数行时双数列不生成砖块。最后,我们输出每一行生成的砖块。
相关问题
js现利用 for 循环生成 13 排每排有 13 个的砖块,当单数行时单数列不生成砖块,当双数行时候双数列不生成砖块,在 for 循环中使用 continue 实现
好的,以下是代码实现:
```
for (let i = 1; i <= 13; i++) {
// 判断是否为单数行
if (i % 2 === 1) {
// 单数行不生成单数列的砖块
for (let j = 1; j <= 13; j++) {
if (j % 2 === 1) {
continue;
} else {
console.log(`生成第 ${i} 行第 ${j} 列的砖块`);
}
}
} else {
// 双数行不生成双数列的砖块
for (let j = 1; j <= 13; j++) {
if (j % 2 === 0) {
continue;
} else {
console.log(`生成第 ${i} 行第 ${j} 列的砖块`);
}
}
}
}
```
以上代码通过嵌套的 for 循环来生成砖块,并在内部的循环中加入了 continue 语句,来实现单数行不生成单数列的砖块、双数行不生成双数列的砖块的需求。
opengl生成一个房间,在房间内放入光源,每个墙面由黑白相间的砖块组成,生成示例代码
下面是一个简单的示例代码,使用OpenGL生成一个房间,放置光源,墙面由黑白相间的砖块组成:
```
#include <GL/glut.h>
void init(void)
{
glClearColor(0.0, 0.0, 0.0, 0.0); // 背景色为黑色
glEnable(GL_DEPTH_TEST); // 启用深度测试
glEnable(GL_LIGHTING); // 启用光照
glEnable(GL_LIGHT0); // 启用0号光源
GLfloat light_position[] = { 1.0, 1.0, 1.0, 0.0 }; // 光源位置
glLightfv(GL_LIGHT0, GL_POSITION, light_position); // 设置光源位置
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清除颜色缓冲区和深度缓冲区
// 绘制房间墙面
glBegin(GL_QUADS);
glColor3f(1.0, 1.0, 1.0); // 白色
glVertex3f(-1.0, -1.0, 1.0);
glVertex3f(-1.0, 1.0, 1.0);
glVertex3f(1.0, 1.0, 1.0);
glVertex3f(1.0, -1.0, 1.0);
glColor3f(0.0, 0.0, 0.0); // 黑色
glVertex3f(1.0, -1.0, -1.0);
glVertex3f(1.0, 1.0, -1.0);
glVertex3f(-1.0, 1.0, -1.0);
glVertex3f(-1.0, -1.0, -1.0);
glColor3f(1.0, 1.0, 1.0); // 白色
glVertex3f(-1.0, -1.0, -1.0);
glVertex3f(-1.0, 1.0, -1.0);
glVertex3f(-1.0, 1.0, 1.0);
glVertex3f(-1.0, -1.0, 1.0);
glColor3f(0.0, 0.0, 0.0); // 黑色
glVertex3f(1.0, -1.0, 1.0);
glVertex3f(1.0, 1.0, 1.0);
glVertex3f(1.0, 1.0, -1.0);
glVertex3f(1.0, -1.0, -1.0);
glColor3f(1.0, 1.0, 1.0); // 白色
glVertex3f(-1.0, -1.0, -1.0);
glVertex3f(1.0, -1.0, -1.0);
glVertex3f(1.0, -1.0, 1.0);
glVertex3f(-1.0, -1.0, 1.0);
glColor3f(0.0, 0.0, 0.0); // 黑色
glVertex3f(-1.0, 1.0, 1.0);
glVertex3f(1.0, 1.0, 1.0);
glVertex3f(1.0, 1.0, -1.0);
glVertex3f(-1.0, 1.0, -1.0);
glEnd();
glutSwapBuffers(); // 交换缓冲区
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); // 双缓冲,RGB颜色模式,深度测试
glutInitWindowSize(500, 500);
glutCreateWindow("OpenGL Room");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
```
以上代码使用OpenGL绘制房间墙面,并启用光照,放置了一个光源。你可以根据自己的需要修改代码,例如添加更多光源、调整墙面的颜色和纹理等。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)