IIlIIlllIIll 2015-10-18 18:00 采纳率: 60%
浏览 1587
已采纳

初学c语言图形化编程问个很简单的问题

写37行代码就为了画个围棋棋盘值不值?有更简洁的算法吗?

 #include<graphics.h>
#include<conio.h>
#define LEN 30  // 每格间的距离
int main()
{
    int x, y;
    initgraph(660, 660);
    // 背景上色
    setcolor(BROWN);
    for(y = 0; y < 660; y++)
        line(0, y, 660, y);
    // 绘制边框
    setcolor(BLACK);
    line(35, 35, 45+540, 35);
    line(35, 45+540, 45+540, 45+540);
    line(35, 35, 35, 45+540);
    line(45+540, 35, 45+540, 45+540);
    for(y = 40; y<=40+LEN*18; y+=LEN)
        line(40, y, 40+LEN*18, y);
    for(x = 40; x<=40+LEN*18; x+=LEN)
        line(x, 40, x, 40+LEN*18);
    // 绘制黑点
    setfillcolor(BLACK);
    fillcircle(40+3*LEN,  40+3*LEN, 2);
    fillcircle(40+9*LEN,  40+3*LEN, 2);
    fillcircle(40+15*LEN, 40+3*LEN, 2);
    fillcircle(40+3*LEN,  40+9*LEN, 2);
    fillcircle(40+9*LEN,  40+9*LEN, 2);
    fillcircle(40+15*LEN, 40+9*LEN, 2);
    fillcircle(40+3*LEN,  40+15*LEN,2);
    fillcircle(40+9*LEN,  40+15*LEN,2);
    fillcircle(40+15*LEN, 40+15*LEN,2);
    getch();
    closegraph();
    return 0;

  • 写回答

3条回答 默认 最新

  • threenewbee 2015-10-18 22:14
    关注
         fillcircle(40+3*LEN,  40+3*LEN, 2);
        fillcircle(40+9*LEN,  40+3*LEN, 2);
        fillcircle(40+15*LEN, 40+3*LEN, 2);
        fillcircle(40+3*LEN,  40+9*LEN, 2);
        fillcircle(40+9*LEN,  40+9*LEN, 2);
        fillcircle(40+15*LEN, 40+9*LEN, 2);
        fillcircle(40+3*LEN,  40+15*LEN,2);
        fillcircle(40+9*LEN,  40+15*LEN,2);
        fillcircle(40+15*LEN, 40+15*LEN,2);
    

    可以简化为

    
    for (int i = 1; i <= 3; i++)
        for (int j = 1; j <= 3; j++)
            {
                fillcircle(40+3*i*LEN,  40+3*j*LEN, 2);
            }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 模电中二极管,三极管和电容的应用
  • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
  • ¥15 气象网格数据与卫星轨道数据如何匹配
  • ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
  • ¥15 微软账户问题不小心注销了好像
  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络