首页 > 代码库 > play with snake on linux

play with snake on linux

在写完超Low的windows上的贪吃蛇后

被人吐槽了几个方面:

1.界面真的Low,开始,结束,游戏中,都太简陋了...

2.每次都清屏在输出字符矩阵的解决方案...太晃眼了

3.一个BUG,为了解决贪吃蛇隔固定时间time移动一个单位的问题

  我们写的是while(距上次移动时间 < time && 没有键盘方向键的读入);

  于是我们惊喜的发现,只要一直摁方向键,就不必等待固定时间time

  而是会直接下一步移动...手动加快贪吃蛇移动速度...

 

但是我们暂时并不想改进这个程序...毕竟怎么说还是能玩一玩的

于是ytz决定在自己的deepin系统上写一个能运行的贪吃蛇...

先想到的方法当然是直接把windows上的代码拿来改一改啊...

但很快我们就遇到了重重障碍!

 

1.我们使用了conio.h中的_kbhit函数来判断是否有键盘读入

然而linux系统下是没有conio.h这个库的...

百度了一下linux下也没有自带库函数有相同功能

于是我们就百度了一个手动实现_kbhit函数加进去

(参考自这个博客里的方法二)

 

2.conio.h中的getch函数同样需要替代品

这时候就有人指出明路,curses.h库里有啊

然后我们需要先安装这个库,在终端输入

sudo apt-get install libncurses5-dev

回车即可开始安装

然后编译时需要加入 -lncurses 命令

比如 g++ -o Snake -lncurses Snake.cpp

否则编译无法通过

 

3.啊,编译通过了!

我们愉快的运行一下吧!

运行出了一坨屎!

我们百度一下curses.h 这个库

发现是一个图形库,类似于大一学习C和C++的时候

老师提供windows上的的第三方库ege.h

只不过curses的评价似乎比ege好一点2333

然后ege那个你懂的吧,开始运行进入图形界面后

各种函数失效,printf...

以及输出基本靠定位定点输出,\n,\t 什么的都会gg你懂的吧

 

...未完待续

play with snake on linux