C/C++2048游戏[2023-03-30]

发布时间 2023-03-30 14:15:34作者: programwriter

C/C++2048游戏[2023-03-30]

题目38:2048游戏
基本要求
(1)实现游戏规则
(2)使用图形函数生成界面等。
(3)用文件存储用户的进度。
(4)用户开始新游戏时,先检测是否有历史记录,有的话可以继续未完成的游戏,也可以重新开始。
(5)实现用户排名功能,要求能够将排名信息进行保存,存至文件永久保存。
(6)当新用户的成绩需要插入排名列表时,要能够修改原列表信息;如果是同一用户需要更新成绩,则覆盖原成绩。
(7)插入、修改、删除排名信息等要求使用链表实现。

游戏规则:
2048游戏共有16个格子,初始时初始数字由2或者4构成。
1、手指向一个方向滑动,所有格子会向那个方向运动。
2、相同数字的两个格子,相撞时数字会相加。
3、每次滑动时,空白处会随机刷新出一个数字的格子。
4、当界面不可运动时(当界面全部被数字填满时),游戏结束;当界面中最大数字是2048时,游戏胜利。

结构体可以定义成类似如下形式:

/*游戏状态*/
enum {
    GAME_RUN,
    GAME_SUCCEED,
    GAME_OVER,
};

/*棋盘结构体*/
typedef struct _tBoard {
    int** data;             /*棋盘数据*/
    int width;              /*棋盘宽度*/
    int height;             /*棋盘高度*/
    int score;              /*玩家得分*/
    char player[STR_LEN];   /*玩家名字*/
} Board, * pBoard;

程序演示

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111