linux-c语言练手——贪吃蛇小游戏

一、安装ncurse库

因为linux中自带的获取用户输入函数都不是很好用,不能快速响应用户的输入,所以这里使用ncurse库,更好地获取用户输入信息。

  1. 下载ncurse包
ncurse库下载:http://ftp.gnu.org/pub/gnu/ncurses/
  1. 移动压缩包到bin目录下
cp ncurses-6.1.tar.gz /bin/
  1. 进入到bin目录下,解压包
tar -xzvf ncurses-6.1.tar.gz
  1. 解压完后进入ncurses-6.1目录
cd ncurses-6.1
  1. 运行配置文件
./configure --without-cxx

运行完后输入make编译

make
  1. 安装
make install
  1. 完成

二、ncurse的使用

因为ncurse已经非常落后了,所以我们不需要深入学习,只会浪费时间,只能说是我们这个小游戏需要用到,小小的知道一点点函数的用法就行

#include<curses.h>  //ncurse头文件
int main()
{
   
	initscr();     //ncurse界面的初始化函数
	printw("this is test"); //ncurse界面下的printf
	getch();        //等待用户输入,如果没有这句话,程序就退出了,看不到上面打印的话
	endwin();     //程序退出,调用该函数来恢复shell终端的显示,如果没有这句话,shell终端字乱码,会坏掉
	return 0;
}

在这里插入图片描述
可以看到我们想要的上下左右键在头文件里已经宏定义好了,这些叫做功能性按键,要使用这些按键,就必须使用keypad(stdscr,1)函数,1代表接收,
图形界面是这个样:
在这里插入图片描述

下面附上贪吃蛇完整代码:

#include<unistd.h>
#include<stdio.h>
#include<pthread.h>
#include<curses.h>
#include<stdlib.h>
#include<stdlib.h>

#define changkuang 40
#define UP          1
#define DOWN 	   -1
#define LEFT        2
#define RIGHT      -2

int dir=0;  //定义一个方向变量
typedef struct snake{
   
	int hang;
	int lie;
	struct snake *next;
}snake,*psnake;     //定义蛇结构体

psnake head=NULL;   //实例化蛇尾
psnake tail=NULL; 	//实例化蛇头
psnake food=NULL;	//实例化食物
int flag=0;        
int key;


void addnode();  
void initfood();
void deletenode()//删除蛇尾
{
   
	
	psnake p=(psnake)malloc(sizeof(snake)
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值