既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
3.采用gotoxy实现流畅刷新。
4.保留文字显示递归流程
程序展示及实现
github地址:https://github.com/404name/C-game
0.主体思路
输入要递归的汉诺塔数目,在原来的汉诺塔基础上新增move_play函数展示递归,用next数组存储每种移动状态。对应的从哪到哪可自动对应相应的移动方式自动移动。
1.变界面大小依照输入递归数改变
init函数按比例放大并且打印出图形界面。
2.汉诺塔自动移动演示。
int next[4][2] = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}}; //上0 下1 左2 右3;
int turn[2][3] = {{0, 3, 1}, //a -> b b -> c a -> c 上右下
{0, 2, 1}}; //b -> a c -> b c -> a 上左下
next是移动方向,turn储存多种移动方向。
例如后台读取到是 b -> c 则读取flag为 0对饮 turn【flag】的上右下
然后依次把turn的3个值带入next实现先上当达到我设定的上界后改变第二次状态,向右达到右边设定的界限后向下移动到指定地方,结束一次移动。
3.采用gotoxy实现流畅刷新。
一开始我一直都是用cls清屏再打印,但这样刷屏很严重,后来甚至把gotoxy也一样用,后来我师傅,一位学长给我指点了下,我才发现,gotoxy是可以直接在已有图形上当作画笔一样改变,这样就实现了十分顺滑的运行。
4.保留文字显示递归流程
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**