You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言绘制8x8网格棋盘如何为每个格子绑定对应坐标位置

C语言国际象棋棋盘坐标绑定实现方案

完全可以实现每个网格的坐标映射,核心思路是用8x8二维字符数组存储棋盘状态,将数组索引和棋盘坐标做一一对应即可:

  • 数组行索引与棋盘数字行(1~8)对应:可设置数组第0行对应棋盘行1,数组第7行对应棋盘行8
  • 数组列索引与棋盘字母列(A~H)对应:可设置数组第0列对应A列,数组第1列对应B列,以此类推,字母转列索引直接用字母-'A'计算即可

具体实现步骤

1. 定义棋盘初始状态数组

按照你给出的棋子规则,直接初始化二维数组存储所有格子的初始内容:

// board[行索引][列索引],行索引范围0~7对应棋盘行1~8,列索引0~7对应棋盘A~H列
char board[8][8] = {
    {'r','b','n','q','k','n','b','r'}, // 第1行:黑方后排棋子
    {'p','p','p','p','p','p','p','p'}, // 第2行:黑方兵
    {'.','.','.','.','.','.','.','.'}, // 第3行:空白
    {'.','.','.','.','.','.','.','.'}, // 第4行:空白
    {'.','.','.','.','.','.','.','.'}, // 第5行:空白
    {'.','.','.','.','.','.','.','.'}, // 第6行:空白
    {'P','P','P','P','P','P','P','P'}, // 第7行:白方兵
    {'R','B','N','Q','K','N','B','R'}  // 第8行:白方后排棋子
};

2. 修改打印逻辑,替换固定'.'为数组存储值

你原来的代码中直接打印固定的'.',改成从数组中取对应位置的字符输出即可,修改后完整代码如下:

#include <stdio.h>

int main(int argc, char *argv[]) {
    char board[8][8] = {
        {'r','b','n','q','k','n','b','r'},
        {'p','p','p','p','p','p','p','p'},
        {'.','.','.','.','.','.','.','.'},
        {'.','.','.','.','.','.','.','.'},
        {'.','.','.','.','.','.','.','.'},
        {'.','.','.','.','.','.','.','.'},
        {'P','P','P','P','P','P','P','P'},
        {'R','B','N','Q','K','N','B','R'}
    };
    int c;

    // 打印顶部字母列标
    printf("%6c", 'A');
    for (c = 'B'; c <= 'H'; c++) {
        printf("%4c", c);
    }
    
    printf("\n");
    printf("   +---+---+---+---+---+---+---+---+");
    for (c = 1; c <= 8; c++) {
        printf("\n%2d |", c);
        for (int d = 1; d <= 8; d++) {
            // 从棋盘数组取对应位置的字符输出
            printf(" %c |", board[c-1][d-1]);
        }
        printf("\n   +---+---+---+---+---+---+---+---+");
    }
    return 0;
}

3. 坐标修改操作方法

后续要修改任意坐标的格子内容时,直接给数组对应位置赋值即可:

  • 例如修改B1位置(对应行1、列B,数组行索引=1-1=0,列索引='B'-'A'=1):board[0][1] = 'x';
  • 如果要解析字符串格式的坐标(比如"G5"),直接取第一个字符算列索引,第二个字符转数字后算行索引即可定位到对应数组位置。

内容的提问来源于stack exchange,提问作者user16910475

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 04:36:04