IzackI 发表于 2022-11-25 21:54:58

想输出一个国际象棋的棋盘

各位鱼油们,只用dev c++的情况下,我想输出一个国际象棋的棋盘,而且可以留出存放棋子的位置,该如何操作啊?
我初步是使用换行符格式化输出棋盘,然后没有棋子的地方用一些字符占位,我感觉这样很丑,有什么什么别的思路啊?
不胜感激!

柿子饼同学 发表于 2022-11-26 10:52:21

用二维数组模拟试试看呢

IzackI 发表于 2022-11-26 16:14:19

柿子饼同学 发表于 2022-11-26 10:52
用二维数组模拟试试看呢

试了捏,主要是输出的样式有些看着别扭,有什么输出格式可以参考呢,我利用的制表符,但是输出也做不到输出棋盘的方格框框之类的。我现在只能把棋子按照棋盘输出来,没有棋子的位置用一些字符代替,可以这样看着也不像棋盘。

柿子饼同学 发表于 2022-11-26 17:02:59

IzackI 发表于 2022-11-26 16:14
试了捏,主要是输出的样式有些看着别扭,有什么输出格式可以参考呢,我利用的制表符,但是输出也做不到输 ...

{:10_266:}

zhangjinxuan 发表于 2022-11-29 09:58:42

本帖最后由 zhangjinxuan 于 2022-11-29 10:06 编辑

IzackI 发表于 2022-11-26 16:14
试了捏,主要是输出的样式有些看着别扭,有什么输出格式可以参考呢,我利用的制表符,但是输出也做不到输 ...

是否想要这个:


#include <bits/stdc++.h>
using namespace std;

int main() {
        for (int i = 1; i <= 8; ++i) {       
                if (i % 2)
                        for (int j = 1; j <= 4; ++j)
                                printf("■□");
                else
                        for (int j = 1; j <= 4; ++j)
                                printf("□■");
                puts("");
        }
}       

运行实况:
■□■□■□■□
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
□■□■□■□■
■□■□■□■□
□■□■□■□■

可能只有这个了,加上棋子的可以试试这个:
#include <bits/stdc++.h>
using namespace std;

int main() {
        puts("CHEQKEHC\n\
SSSSSSSS\n\
■□■□■□■□\n\
□■□■□■□■\n\
■□■□■□■□\n\
□■□■□■□■\n\
SSSSSSSSn\
CHEQKEHC");
}

运行实况:
CHEQKEHC
SSSSSSSS
■□■□■□■□
□■□■□■□■
■□■□■□■□
□■□■□■□■
SSSSSSSS
CHEQKEHC

这个也和字体的大小有关系,没办法,如果是等宽字体就不会那么别扭

IzackI 发表于 2022-11-30 18:30:28

zhangjinxuan 发表于 2022-11-29 09:58
是否想要这个:




这样挺好实现的,我主要是想让它可以作为一个棋盘使用,在棋子发生了移动的时候也看着像个棋盘,你这种方法的话即便是等宽字体,棋子不在原位的时候看着还是别扭。{:10_266:}
不过谢谢你的回复{:10_302:}

zhangjinxuan 发表于 2022-11-30 18:56:47

IzackI 发表于 2022-11-30 18:30
这样挺好实现的,我主要是想让它可以作为一个棋盘使用,在棋子发生了移动的时候也看着像个棋盘,你这种方 ...

这样写起来有点烦了,不如直接做一个 GUI{:10_277:}

IzackI 发表于 2022-12-2 00:34:35

zhangjinxuan 发表于 2022-11-30 18:56
这样写起来有点烦了,不如直接做一个 GUI

确实直接用gui方便。
页: [1]
查看完整版本: 想输出一个国际象棋的棋盘