admin管理员组文章数量:1794759
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; } } }差不多,我的第一个博客就写到这了,以后有情况多多补充!冲冲冲!加油!
版权声明:本文标题:c语言画图 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686626098a87895.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论