资源简介
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
- 上一篇:备忘录C语言实现
- 下一篇:libstdc++.so.5
相关资源
- 移动联通短信猫wavecom收发插件
- QDockWidget多层嵌套布局
- 视频转图片(opencv)
- c++ 数字键盘设计(源码)
- 1062LCD显示
- Qt5+QtChart绘制饼图
- qgraphicsitem 编程小
- qt 快速读取excel代码
- diagramscene箭头连接方法
- QT的TCP服务器DEMO
- Linux优先级时间片调度C++源码
- 精通UNIX下C语言编程及项目实践总结与
- linux下获取CPU内存使用信息,网络流量
- c++ RoyCardTableView 列表插入
- 网络请求使用cocoapods
- ios 简单闹铃实现
- STC单片机下位机IIC通信
- 利用C生成正弦波DA数据
- stc15w单片机mpr121触摸按键
- 51单片机:信号发生器
- stc系列单片机串口通讯
- qt5 旋转(.patch文件源码)
- 3G系统-WCDMA和CDMA2000完整MATLAB仿真程序
- 非阻塞式AT指令发送接收工程,可驱动
- RS485;PC到单片机单向通讯;
- 加权调度算法(C语言)
- 单片机最小系统(附原理图和PCB).
- 超声波测距(LCD1602显示)
- 2017年电赛瑞萨芯片RX23T原理图.SchDoc
- FDCAN实验(CAN总线的使用)
评论
共有 条评论