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你懂的吧

...未完待续

时间: 2024-12-29 11:41:37

play with snake on linux的相关文章

linux 下MySQL服务器的启动与停止

一.以非特权用户运行MySQL服务器 在讨论如何启动MySQL服务器之前,让我们考虑一下应该以什么用户身份运行MySQL服务器.服务器可以手动或自动启动.如果你手动启动它,服务器以你登录Unix(Linux)的用户身份启动,即如果你用paul登录Unix并启动服务器,它用paul运行:如果你用su命令切换到root,然后运启动服务器,则它以root运行.然而,大多数情况下你可能不想手动启动服务器,最有可能是你安排MySQL服务器在系统引导时自动启动,作为标准引导过程的一部分,在Unix下,该引导

subversion linux 服务器端搭建 源码安装

下载源码包 1.1 subversion 源码包 http://subversion.apache.org/download/ 1.2下载sqlite-amalgamation 此处用的版本 subversion-1.8.9.tar.gz sqlite-amalgamation-201408010140.zip 2.请参照 http://my.oschina.net/u/234018/blog/297849 安装apr apr-util apache 3. 解压 安装  tar -zxvf su

linux(centeros)svn的安装

SVN linux搭建svn服务器参考:http://www.cnblogs.com/chaichuan/p/3758173.htmlSubversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理随着时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中. 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动. 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史. SVN中的一些概念 (1). repository

Linux内

body { font-family: @楷体; font-size: 11.5pt; line-height: 1.5; } html, body { color: black; background-color: #E0D1DE; } h1 { font-size:1.5em; font-weight:bold; } h2 { font-size:1.4em; font-weight:bold; } h3 { font-size:1.3em; font-weight:bold; } h4 {

linux SVN安装及配置图解教程

自己有台云服务器,平时的一些学习资料就想通过SVN管理起来,在网上找了不少linux搭建svn的教程,可是没有一篇完整的,感觉总缺点什么或者有点错误,后面自己经过综合与比较,并且多台服务器上面的测试,做了如下教程,供大家参考之后. svn服务器有2种运行方式 1.独立服务器 (例如:svn://xxx.com/xxx): 2.借助apache.(例如:http://svn.xxx.com/xxx): 为了不依赖apache,选择第一种方式-独立的svn服务器. svn存储版本数据也有2种方式:

linux下部署svn服务器

系统Linux debian 2.6.32-5-686 先安装svn工具:apt-get install subversion,耐心等待安装完成.安装完成后svn客户端.服务器都有了. 接者建立svn仓库目录svnadmin create truck [email protected]:/home/xzc# svnadmin create truck [email protected]:/home/xzc# cd truck [email protected]:/home/xzc/truck#

[转]Linux(centOS6.5)下SVN的安装、配置及开机启动

1.检查是否已安装 rpm -qa subversion 如果要卸载旧版本: yum remove subversion 2.安装 yum install subversion PS:yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql(这是安装配合Apache的模块,我暂时还没做,做了再补上,你可以只装subversion,多装了也无所谓) #确认是否已安装svn模块[[email protected] ~]#

完整版linux下android源码下载、编译、模拟器启动运行

一.环境说明: 1.VMware版本:8.0.3 build-703057 2.liunx系统:Ubuntu10.10 3.jdk:sun-java6-jdk 二.Ubuntu 10.10更新源列表 由于??Ubuntu 10.10版本的源已经过期了,所以,需要对其进行更新,Ubuntu 10.10 已经发布了,下面提供更新源方法与更新源列表地址: 1.sudo gedit /etc/apt/sources.list     编辑你的源列表,将原来的内容全部删除,添加下面的源,复制到你的列表中,

Linux系统架构师之代码发布解决方案

我今年19了!人生有多少22K? 所有实验环境初始化: 创建本地光盘Yum源,安装tree lrzsz vim,关闭iptables和selinux. 定义别名cls='clear',ll='ls -Alh'. 代码发布解决方案: 1.安装优化软件环境 2.程序代码 3.配置变更 SVN是跨平台的开源版本控制系统.SVN会备份并记录文件每一次的修改更新的变动. SVN是通用的软件系统,常用来管理程序代码.常见的版本控制软件有:VSS.CVS.SVN.Git. Git与SVN的区别: SVN是一个