资源简介
基于GEC6818平台,处理器CPU:S5P6818(八核)内核:Cortex-A53运行内存:1G储存(nandflash):4G。设计制作出了这款有开机动画、登录界面、电子相册和2048小游戏的整合。本系统以c语言知识为主,运用Unix环境高级编程,最终完成了各个功能函数的调用与整合。主要功能有开机动画、登录界面、相片浏览、和2048游戏。相片浏览主要功能有:上一张、下一张和退出功能。2048小游戏也类似。
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
int lcd_fd ts_fd;
int *lcd_ptr;
int game_over;
struct bmp_header { //14
unsigned char type[2];
unsigned long size;
unsigned short reserverd1;
unsigned short reserverd2;
unsigned long offbit;
}__attribute__((packed)); //字节对齐
struct bmp_info { //40
unsigned int size;
unsigned int width;
unsigned int height;
unsigned short planes;
unsigned short bitcount;
unsigned int bitcompression;
unsigned int sizeimg;
unsigned int xpelspermeter;
unsigned int ypelspermeter;
unsigned int biclrused;
unsigned int important;
}__attribute__((packed)); //字节对齐
//数组初始化,将所有的图片保存在一个数组中
const char *bmp_files[] = {
“/pic/bmp/digit_2.bmp“ “/pic/bmp/digit_4.bmp“
“/pic/bmp/digit_8.bmp“ “/pic/bmp/digit_16.bmp“
“/pic/bmp/digit_32.bmp“ “/pic/bmp/digit_64.bmp“
“/pic/bmp/digit_128.bmp“ “/pic/bmp/digit_256.bmp“
“/pic/bmp/digit_512.bmp“ “/pic/bmp/digit_1024.bmp“
“/pic/bmp/digit_2048.bmp“ “/pic/bmp/digit_4096.bmp“
“/pic/bmp/digit_8192.bmp“ “/pic/bmp/digit_16384.bmp“
“/pic/bmp/digit_32768.bmp“ “/pic/bmp/digit_65536.bmp“
};
//棋盘矩阵的初始化
int array[4][4] = {0};
//根据要显示的数字来返回对应的文件名的下标
int get_bmp_files_index(int x)
{
if (x == 2) {
return 0;
}else if (x == 4) {
return 1;
}else if (x == 8) {
return 2;
}else if (x == 16) {
return 3;
}else if (x == 32) {
return 4;
}else if (x == 64) {
return 5;
}else if (x == 128) {
return 6;
}else if (x == 256) {
return 7;
}else if (x == 512) {
return 8;
}else if (x == 1024) {
return 9;
}else if (x == 2048) {
return 10;
}else if (x == 4096) {
return 11;
}else if (x == 8192) {
return 12;
}else if (x == 16384) {
return 13;
}else if (x == 32768) {
return 14;
}else if (x == 65536) {
return 15;
}
return -1;
}
//求棋盘矩阵里面有多少个0
int rectangle_get_zero_num()
{
int i j count = 0;
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
if (array[i][j] == 0) {
count++;
}
}
}
return count;
}
int rectangle_set_value(int z int value)
{
int i j count = 0;
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
if (array[i][j] == 0) {
count++;
if (count == z) {
array[i][j] = value;
return 0;
}
}
}
}
}
//触摸屏滑屏算法实现
int get_xy_v2()
{
struct input_event ts;
int x1 = -1 y1 = -1;
int x2 y2;
int x_read = 0 y_read =1;
// x1 y1 x2y2
//2 read coord
while (1) {
read(ts_fd &ts sizeof(ts));
if (ts.type == EV_ABS && ts.code == ABS_X && x_read == 0) {
if (x1 == -1) {
x1 = ts.value;
}
x2 = ts.value;
x_read = 1;
y_read = 0;
}
if (ts.type == EV_ABS && ts.code == ABS_Y && y_read == 0) {
if (y1 == -1) {
y1 = ts.value;
}
y2 = ts.value;
x_read = 0;
y_read = 1;
}
if (x_read && y_read) {
break;
}
if (ts.type == EV_KEY && ts.code == BTN_TOUCH && ts.value == KEY_RESERVED) {
int num1 =
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-12-10 16:10 新建文件夹\
目录 0 2017-07-22 10:16 新建文件夹\bmp\
文件 30054 2016-06-22 15:12 新建文件夹\bmp\digit_1024.bmp
文件 30054 2016-06-22 15:10 新建文件夹\bmp\digit_128.bmp
文件 30054 2016-06-22 15:08 新建文件夹\bmp\digit_16.bmp
文件 30054 2016-06-22 15:16 新建文件夹\bmp\digit_16384.bmp
文件 30054 2016-06-22 15:07 新建文件夹\bmp\digit_2.bmp
文件 30054 2016-06-22 15:13 新建文件夹\bmp\digit_2048.bmp
文件 30054 2016-06-22 15:11 新建文件夹\bmp\digit_256.bmp
文件 30054 2016-06-22 15:09 新建文件夹\bmp\digit_32.bmp
文件 30054 2016-06-22 15:16 新建文件夹\bmp\digit_32768.bmp
文件 30054 2016-06-22 15:08 新建文件夹\bmp\digit_4.bmp
文件 30054 2016-06-22 15:13 新建文件夹\bmp\digit_4096.bmp
文件 30054 2016-06-22 15:11 新建文件夹\bmp\digit_512.bmp
文件 30054 2016-06-22 15:09 新建文件夹\bmp\digit_64.bmp
文件 30054 2016-06-22 15:17 新建文件夹\bmp\digit_65536.bmp
文件 30054 2016-06-22 15:09 新建文件夹\bmp\digit_8.bmp
文件 30054 2016-06-22 15:15 新建文件夹\bmp\digit_8192.bmp
文件 13145 2019-11-21 11:18 新建文件夹\games_2048.c
目录 0 2019-11-21 21:26 新建文件夹\gif\
文件 1152054 2019-11-19 14:49 新建文件夹\gif\0.bmp
文件 1152054 2019-11-19 14:46 新建文件夹\gif\1.bmp
文件 1152054 2019-11-19 14:48 新建文件夹\gif\2.bmp
文件 1152054 2019-11-19 14:47 新建文件夹\gif\3.bmp
文件 1152054 2019-11-19 14:47 新建文件夹\gif\4.bmp
文件 1152054 2019-11-19 14:49 新建文件夹\gif\pic.bmp
目录 0 2019-11-21 22:29 新建文件夹\pic\
目录 0 2019-11-21 21:26 新建文件夹\pic\bmp\
文件 240054 2019-11-19 10:19 新建文件夹\pic\bmp\correct.bmp
文件 30054 2016-06-22 15:12 新建文件夹\pic\bmp\digit_1024.bmp
文件 30054 2016-06-22 15:10 新建文件夹\pic\bmp\digit_128.bmp
............此处省略39个文件信息
- 上一篇:C++编写五子棋带AI,mfc,附教程
- 下一篇:谭浩强C程序设计第五版课件及源码
相关资源
- linux 0.11内核代码
- linux ac108多麦方案驱动(ac108.c)
- 共享内存 读写
- 简易web服务器的设计与实现
- oled-超声波测距
- 《LINUX C编程从初学到精通》光盘源码
- 嵌入式QtC++编程课件
- 嵌入式c编程语言入门与深入.pdf58199
- Linux那些事儿之我是USB core
- 基于STM32的嵌入式flash读写控制
- C语言的嵌入式汇编基本使用.docx(2页
- C语言嵌入式Modbus协议栈,支持主站和
- 颜色识别形状识别STM103嵌入式代码
- Linux c语言 学生成绩管理系统
- GBT 28169-2011 嵌入式软件 C语言编码规范
- Linux开发工具手册
- Linux操作系统下C语言编程从零开始
- 基于Linux下C语言开发的员工管理系统
- 超级玛丽c++源码win32Linux平台
- 基于机器视觉可移动裂纹检测机器人
- UNIX/LINUX下C语言中文短信UCS2编码和解
- 嵌入式工程师必知必会 (完整高清中
- linux-2.6.24.rar
- EAN13条码生成(C语言+VS2010)[包含EA
- Linux下C语言操作静态ARP表,包括增加
- 嵌入式Qt实战教程.
- 《测试驱动的嵌入式C语言开发》源码
- c语言 linux 贪吃蛇.doc
- 基于stm32的交通信号灯代码
- Linux多线程服务端编程:使用muduo C+
评论
共有 条评论