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;
程序演示