首页 > 解决方案 > 在 C 中的网格上移动对象

问题描述

我的程序创建了一个看起来像这样的网格

- - - 
- - - 
- - -

我需要在这个网格上打印一个对象,这个对象需要在网格周围移动。在移动它之前,我需要将此对象放置在随机坐标上。例如:

- - -    - - -    - X -
X - - -> - X - -> - - -
- - -    - - -    - - -

我设法使用多维数组创建了网格,但我不知道如何将对象放在上面。我想添加一行将其“手动”放入数组中,就像这样:field[1][1] = 'X'但显然它不起作用,因为它是数组int,我正在考虑使用指针来做,任何关于我如何做的建议那?

#include <stdio.h>
#include <stdlib.h>
#define GRID_WIDTH 3
#define GRID_HEIGHT 3

void view_grid(int field[GRID_WIDTH][GRID_HEIGHT]){
    int i,j;

    for (i=0;i<GRID_WIDTH;i++) {
        for (j=0;j<GRID_HEIGHT;j++) {
            printf("- ");

        }
        printf("\n");      
    }
}

int main() {
    int field[GRID_WIDTH][GRID_HEIGHT];
    view_grid(field);

}

标签: cmultidimensional-array

解决方案


推荐阅读