admin管理员组

文章数量:1794759

c语言画图

c语言画图

文章目录
  • 前言
  • 一、程序介绍
  • 二、使用步骤
    • 1.引入库
    • 2.定义静态变量,地图大小
    • 3.画出图像(地图)
    • 4.控制移动的子函数
    • 5.以及最后的主函数
  • 总结


前言

虽然已经学习了一个学期的c语言,但这也是我第一次写博客,之前一直没时间或者是觉得自己那个实在没什么好写的,最近我突然性情大发,生了想要好好写一篇博客的心思,也算是记录一下自己的进步。 今天要讲的是我最近写的一个我还算满意的小程序,因为放了寒假,闲在家里,就生了写小程序的心思,正好我女朋友还没放假,趁现在我写了个代码给我女朋友。就是这个c语言写的方格绘图(随便取的名字)小程序


一、程序介绍

方格绘图小程序是只有黑白方框,像一个个小像素点一般的,远远看上去像一副图片,通过wasd来操控上下左右,c键来画,x键来清除错误的白格子。 成品图 一开始 然后开始绘画,如果不小心画错了也无妨 最后成果,女朋友很满意

二、使用步骤 1.引入库

代码如下:

#include<stdio.h> #include<stdlib.h> #include<conio.h> 2.定义静态变量,地图大小

代码如下:

int static o = 0, p = 0,med=0,fad=0; int map[50][50] = { {3}, };//地图大小的划定 3.画出图像(地图)

代码如下:

void drawmap()//绘图 { int i, j; for (i = 0; i < 50; i++) { for (j = 0; j < 50; j++) { switch (map[i][j]) { case 0:printf("□"); break; case 1:printf("■"); break; case 3:printf(" "); break; default:break; } }printf("\\n"); } } 4.控制移动的子函数

代码如下:

void move(int n,int m)//移动方格的函数 { if (o < 50 && p < 50) { map[o][p] = med; fad = map[o + n][p + m]; map[o + n][p + m] = 3; med = fad; o = o + n; p = p + m; } else { printf("超出边界,重新选择移动路径:\\n");//修复可能存在的bug } } 5.以及最后的主函数

代码如下:

int main() { char c; for (;;) { system("cls"); drawmap(); c = _getch(); switch (c)//改进了其操作方式使其操作更简单一点 { case 'a':move(0, -1); break; case 'w':move(-1, 0); break; case 's':move(1, 0); break; case 'd':move(0, 1); break; case 'c':map[o][p] = 1;med= map[o][p]; break;//变为白方格 case 'x':map[o][p] = 0;med = map[o][p]; break;//变为黑方框 default:break; } } }
总结

最后的全部代码,放在这里,想要的自取。博主用的是visual studio 2019

//小王同学花了一下午写的画图小程序 #include<stdio.h> #include<stdlib.h> #include<conio.h> int static o = 0, p = 0,med=0,fad=0; int map[50][50] = { {3}, };//地图大小的划定 void drawmap()//绘图 { int i, j; for (i = 0; i < 50; i++) { for (j = 0; j < 50; j++) { switch (map[i][j]) { case 0:printf("□"); break; case 1:printf("■"); break; case 3:printf(" "); break; default:break; } }printf("\\n"); } } void move(int n,int m)//移动方格的函数 { if (o < 50 && p < 50) { map[o][p] = med; fad = map[o + n][p + m]; map[o + n][p + m] = 3; med = fad; o = o + n; p = p + m; } else { printf("超出边界,重新选择移动路径:\\n");//修复可能存在的bug } } int main() { char c; for (;;) { system("cls"); drawmap(); c = _getch(); switch (c)//改进了其操作方式使其操作更简单一点 { case 'a':move(0, -1); break; case 'w':move(-1, 0); break; case 's':move(1, 0); break; case 'd':move(0, 1); break; case 'c':map[o][p] = 1;med= map[o][p]; break;//变为白方格 case 'x':map[o][p] = 0;med = map[o][p]; break;//变为黑方框 default:break; } } }

差不多,我的第一个博客就写到这了,以后有情况多多补充!冲冲冲!加油!

本文标签: 画图语言