C语言项目-精忠报国-第三天-孩子快哭了,进来看看吧-控制每行打印字符数-完结感言
项目来源:老九君
项目名称:精忠报国之笑傲江湖
视频课地址:网易云课堂
基本功能/架构:
第三天
- 最后一天咯,诸位加油!
-
简易目录
-
1.控制每行打印字符数
2.完结感言
1.控制每行打印字符数
- 在项目中,地图描述信息打印时需要进行每行的字符数控制(就像下图),否则就会打出界去,直到屏幕边缘,破坏整体感觉
- 实现方法如下
–1.首先用<string.h>库中的strlen() 函数获取地图描述信息的长度
char * desc = mapArray[Y][X].desc; int descLen = strlen(desc);
--2.因为在C语言中字符串都是用字符数组存储的,所以我们可以用一个for循环一个字符一个字符的打印
for(i = 0; i < descLen; i++) { if(i != 0 && i % 60 == 0)//控制此行只能打印60个中文字符 { SetPosition(MARGIN_X + 10, INFO_START_Y + 1 + i / 60); } printf("%c", desc[i]); }
--3.在我们每次打印了60个字符后就使用<windows.h>库中提供的函数将光标位置移动到下一行的开头
if(i != 0 && i % 60 == 0)//控制此行只能打印60个中文字符 { SetPosition(MARGIN_X + 10, INFO_START_Y + 1 + i / 60); }
- 以下是详细实现代码
/* 在信息界面显示当前地图的信息 */ void ShowMapInfo() { //1.清除信息窗的信息 Clear(MARGIN_X, INFO_START_Y, 7); //2.显示当前玩家所在地图的信息 SetPosition(MARGIN_X + 25, INFO_START_Y); printf("当前玩家所在地图:《%s》", mapArray[Y][X].name); SetPosition(MARGIN_X + 10, INFO_START_Y + 1); //需要控制文字显示的行 char * desc = mapArray[Y][X].desc; int descLen = strlen(desc); int i, j; for(i = 0; i < descLen; i++) { if(i != 0 && i % 60 == 0)//控制此行只能打印60个中文字符 { SetPosition(MARGIN_X + 10, INFO_START_Y + 1 + i / 60); } printf("%c", desc[i]); } }
2.完结感言
首先感谢老九君,老九学堂的这个项目,我也是在找项目的时候知道有这样一个机构的,我看了他们官网,很多编程课都是免费的,网易云课堂也可以搜到,这个项目还有不理解的话也可以去最上面我给的超链接去看看视频,虽然我没看过他们的课,但祝他们越办越好!!
做完这个小小小项目,除开大量对windows函数的调用外,逻辑很简单,但是基本实现了一个传统游戏的功能,剩下的就是对素材的绑定,让他们显示在屏幕上罢了,有时间有精力的话可以自己去写一下这个小游戏,乐趣还有频繁的C语言基础语句的使用,相信一定对C语言基础的巩固有帮助,对数组,指针,结构体,函数调用,传参这些一定能有更多领会。毕竟之前一个项目,也算是个小游戏-<后宫选妃系统>是我自己写的,当时也是觉得蛮简单的,但是实际上写下来感想也是蛮多的,有兴趣可以去我之前文章看,好玩的是有两次让我查了几个小时的bug都是多了个空格!!
之后准备的项目是一个是C语言的简易服务器实现,另一个是C语言编写一个数据库,都是带着了解服务器和数据库的目的去的,github上都能找到,想要找项目的话也可以来这看看hellogithub-分享 GitHub 上有趣、入门级的开源项目,如果大家有更好的项目推荐的话也欢迎留言私聊,草鸡感谢!!!
关于CSDN的话其实注册了已经有半年多了吧,但是之前也注册过后也没来看过了,感觉就是这么奇妙,突然想写了,然后我就开始了,今天3/17,算上这篇刚好17篇,也算是小有成就吧,哈哈。虽然阅读量都不高,给了两次热门推荐全部铺噶,哎,我太难了!接下来半个月应该不会继续发博客,一鼓作气,再而衰,三而竭。不想一次把所有力气都用掉,一个月15篇,我感觉这个节奏够了,我又不是写网络小说的,是不是。再说更重要的不是博客的质量嘛,我也需要趁这个时间好好去偷师一下博客该怎么写,然后把我之前落下的课补回来,哎,快开学了。祝我好运,诸君,加油!
北海以北没有小王 原创文章 32获赞 861访问量 3万+ 关注 私信
- 打印字符频度直方图--C语言实现
- 归纳整理Linux下C语言常用的库函数----字符串转换、字符测试、及内存控制
- C语言OJ项目参考(1032) 统计字符个数
- 打印字符频度直方图--C语言实现
- ASCII 非打印控制字符表
- 如何控制Linux终端打印字符颜色和位置
- c语言-格式控制字符 %XXd 用法
- 第一周《C语言及程序设计》实践项目19 字符数据及字符类型
- C语言中控制printf的打印颜色实例及vt100的控制符文档
- C语言OJ项目参考(2001) 打印数字图形
- 《C语言及程序设计》实践项目——字符数据类型
- C语言实现在控制台同一行覆盖刷新输出,以及'\b'退格控制字符的使用
- ubuntu 下实现C语言表格打印出字符串信息,包含中文字符也能对齐!话不多说,有图为证
- C语言 非打印字符
- springboot 项目中thymleaf在控制台输出了一大堆信息。。如何控制使用thymeleaf不在控制台打印日志?
- 输入十个字符,存放到数组中,然后顺序打印出来。C语言新手
- 《C语言及程序设计》实践项目——循环控制结构流程图
- C语言中可打印字符
- 用C语言打开BMP格式的图片(会的进来看看对不对哦)
- C语言控制用户输入的字符个数(curses.h代替conio.h)