资源简介
项目描述:
主函数分为两部分:1.登录函数
2.主菜单功能函数
一、登录函数运用到坐标读取,bmp图片显示,文件读写等操作,其中,注册用户用到了文件的写入,
把注册的信息写入到用户信息文本。登录时,用到文件的读,把存放用户信息的文本内容读取出来并存放在单向链表中,
登录时,通过字符串比较函数匹配账号密码时候正确
二、是主菜单功能函数,该函数主要有四部分功能函数组成,分别为音乐播放函数,视频播放函数,电子相册,2048小游戏函数组成
音乐播放函数:主要利用递归读取目录把读到的.mp3后缀名的文件的路径名用双向循环链表存放起来,利用madplay相关命令进行播放,暂停等操作。
视频播放函数:主要利用递归读取目录把读到的.mp4或者.avi后缀名的文件的路径名用双向循环链表存放起来,利用mplayer相关命令进行播放,暂停等操作。
电子相册:主要利用归读取目录把读到的.bmp后缀名的文件的路径名用双向循环链表存放起来,利用读取坐标判断点击或者滑动的相关操作进行图片显示
其中,进入电子相册,默认路径下的所有图片均按一定比例缩放在一定区域浏览,可通过滑动翻至另外预览图片页,
也可通过点击预览图片进入原始比例大小查看,在原始比例大小查看期间,可点击放大或者缩小,也可以通过滑动显示下一张图片的原始比例大小的查看。
在图片显示过程中,图片显示效果主要是由中间向两边扩散。不足之处:图片缩放利用的是直接改变前54字节头结点的信息,当图片宽度w*3%4不等于0时
缩放图片变形(原因:bmp图片特点导致,利用该方法无法解决该缺点)
2048小游戏:利用二维数组表示每行每列的数字,通过方向键或者左右上下滑动来确定数字要移动的方向,通过左右移,上下移的函数算法,进行相应的逻辑处理
最后以图片显示和打印的结果显示。在每一次改变后,把改变后的二维数组,以及剩余的空白格子数存放在栈式链中,利用栈的后进先出的逻辑实现
返回上一步的功能
代码片段和文件信息
#include “myhead.h“
/*
函数说明:
功能:2048游戏
*/
int i j ktxy; //定义的全局变量
int space; //空格数,根据空格数来判断游戏是否结束
int temp[4]; //将移动后的数字放在 temp[4] 中,再传递给arr[4]
int arr[4][4] copy[4][4]; //copy数组用于判断一次操作后arr数组是否发生变化
int flog = 0; //判断是否需要增加数字
struct linkstack *gamedata ;//利用栈式链把每次变化的二维数组的值存起来
//打印数字及界面
void show()
{
char path[1000]={0};
printf( “—————————————————————————\n“ );
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
if (arr[i][j] == 0)
{
printf(“| 0“); //如果arr[i][j]没有数字 则打印0
}
else
{
printf(“|%5d“ arr[i][j]); //如果arr[i][j]有数字 则打印数字
}
sprintf(path“/project/%d.bmp“arr[i][j]);
showbmp(322+j*1204+120*ipath);
}
printf(“|\n—————————————————————————\n“);
}
push(arrspacegamedata);
printf(“剩余%d\n“space);
}
//开始出现第一个随机数
void inter()
{
srand(time(0));
int x = rand() % 4; //随机数对4取余, 即x在4以内取值,
int y = rand() % 4; //随机数对4取余, 即y在4以内取值,
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
copy[i][j] = arr[i][j] = 0; //先将数组全部置为0
}
}
copy[x][y] = arr[x][y] = 2; //在随机的地方出现第一个数字2
space = 15; //空格数为15,根据空格数来判断游戏是否结束
}
//上移
void up()
{
for (i = 0; i < 4; i++) //先从第0列开始判断
{
for (j = 0; j < 4; j++) //第i列第一个开始判断
{
if (arr[j][i] == 0) continue; //为0 则跳过
else
{
for (k = j + 1; k < 4; k++) //第i列第2个开始判断,从上往下依次判断
{
if (arr[k][i] == 0) continue; //为0 则跳过
if (arr[k][i] == arr[j][i]) //相等则可以相加
{
arr[j][i] *= 2; //相同数字相加即*2
arr[k][i] = 0; //相加后因为上移将下方的数字归0
space++; //数字少了则空格多一
k = j = 0; //再从头开始判断是否有相同数字
break;
}
else break;
}
}
} //第i列全部相加完成后,
t = 0; //使temp数组从0开始
for (j = 0; j < 4; j++) //遍历第i列
{ //
if (arr[j][i] != 0) //不为0
{ //
temp[t++] = arr[j][i]; //上移后,有数字则数字永远在上面,
arr[j][i] = 0; //使 不会影响temp数组
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-08-20 16:00 基于arm的车载娱乐系统\
文件 18055 2020-08-02 17:07 基于arm的车载娱乐系统\2048.c
文件 38092 2020-08-02 17:14 基于arm的车载娱乐系统\a.out
文件 4173 2020-08-02 17:07 基于arm的车载娱乐系统\bmp_bigger_or_smaller.c
文件 1330 2020-07-28 13:01 基于arm的车载娱乐系统\coordinate.c
文件 1176 2020-07-30 16:04 基于arm的车载娱乐系统\double_list.c
文件 1192 2020-08-02 17:07 基于arm的车载娱乐系统\li
文件 1630 2020-07-30 13:05 基于arm的车载娱乐系统\list_usr.c
文件 2526 2020-08-02 18:56 基于arm的车载娱乐系统\login.c
文件 1171 2020-08-01 19:07 基于arm的车载娱乐系统\menu.c
文件 2737 2020-08-02 17:07 基于arm的车载娱乐系统\music_play.c
文件 2217 2020-08-01 22:58 基于arm的车载娱乐系统\myhead.h
文件 9217 2020-08-02 21:08 基于arm的车载娱乐系统\photo.c
文件 2739 2020-08-20 16:01 基于arm的车载娱乐系统\project(main).c
文件 1475 2020-08-02 17:08 基于arm的车载娱乐系统\readdir.c
文件 1425 2020-08-01 15:56 基于arm的车载娱乐系统\register.c
文件 2345 2020-08-01 19:07 基于arm的车载娱乐系统\showbmp.c
文件 52 2020-08-02 17:16 基于arm的车载娱乐系统\user_information.txt
文件 2858 2020-08-02 17:07 基于arm的车载娱乐系统\video_play.c
- 上一篇:极域完全卸载工具JyTeacherUnTools
- 下一篇:axure 万年历原型
相关资源
- 3d立体相册源码demo
- 网络视讯平台应用研究
- js 3D相册 js 3D相册
- mui拍照,相册选择裁剪上传图片
- 电子相册管理系统源码
- 电子相册--QT
- 基于嵌入式的电子相册设计
- 用Director制作电子相册
- rtsp解析实现音视频实时传输
- Unity打开安卓相册工程(Unity2019.2.8f
- webview支持type=\“file\“ 打开相机和相
- 相册管理系统软件工程 课程设计
- unity 读取手机相册
-
基于xm
l的网络相册 - 对应文件-iOS-打开照相机打开本地相册
- RTP流传输音视频
- 抖音快手无水印视频批量
- Elecard Video Format Analyzer
- ios-自定义相册(编辑).zip
- 抖音很火的立方体相册.zip
- e语言-易语言抖音视频自动上传协议源
- 全球抖音解析采集软件1.5.zip
- 快抖(抖音视频在线播放)浏览器插
- 抖音批量视频永久有效.zip
- 全能相册管理系统 v1.0.rar
- 3d旋转相册源码
- Andriodstudio3.5 与unity2017.4交互 调用安
- 28套精典PR电子相册模版BT种子
- ios采集音视频数据并通过rtmp上传到
- flash相册完整源码
评论
共有 条评论