资源简介

Linux环境下贪吃蛇源代码,基于C语言实现的。用到知识点包括双链表,文件操作,frame buffer接口,键盘接口等等。实现了随机生成实物,游戏暂停,运行,退出状态显示,退出时提示是否保存,下次运行时可以加载。也可以手动设定起始长度,起始速度,以及速度和成绩的显示。

资源截图

代码片段和文件信息

#include “fb.h“
#include 

struct fb_info fb;

int fb_init(void)
{
int w h bpp;
char * addr;
int fd ret;
struct fb_var_screeninfo var;
fd = open(“/dev/fb0“ O_RDWR);
if(fd < 0)
return -1;
ret = ioctl(fd FBIOGET_VSCREENINFO &var);
if(ret < 0)
return -1;
//w = var.xres+10;//1366*768
w = var.xres;//1280*720
h = var.yres;
bpp = var.bits_per_pixel/8;
printf(“w = %d h = %d bpp = %d\n“ w h bpp);
addr = mmap(NULL w*h*bpp PROT_WRITE|PROT_READ MAP_SHARED fd 0);
if(addr == MAP_FAILED)
return -1;
fb.w = w;
fb.h = h;
fb.bpp = bpp;
fb.addr = addr;
close(fd);
return 0;
}
int fb_destroy(void)
{
munmap(fb.addr fb.w*fb.h*fb.bpp);
return 0;
}
int fb_pixel(int x int y int c)
{
char * l * p;
l = fb.addr + y * fb.w * fb.bpp;
p = l + x * fb.bpp;
*(int *

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      15870  2014-08-16 16:27  snake\main

     文件         27  2014-08-16 16:40  snake\map.dat

     文件       2131  2014-08-14 09:57  snake\keyboard.c

     文件        300  2014-06-12 19:02  snake\fb.h

     文件       9699  2014-08-16 16:27  snake\main.c

     文件        273  2013-11-01 16:21  snake\keyboard.h

     文件         46  2014-08-12 18:24  snake\makefile

     文件        822  2014-08-16 15:56  snake\fb.c

     文件        620  2014-08-19 07:24  snake\readme.txt

     目录          0  2014-08-16 16:53  snake

     文件        165  2014-08-16 16:53  snake\README

----------- ---------  ---------- -----  ----

                29953                    11


评论

共有 条评论