使用c++语言,实现在控制界面进行的2048小游戏
练习使用ncurses库显示界面,vector模板作为容器存储数组
游戏效果图如下:
按键w,s,a,d作为操作,按q键结束比赛
失败情况提示
程序由一下几个函数构成,随机初始化函数,随机增加数字函数,屏幕刷新函数,执行操作函数,主函数
1.声明使用的库和定义函数
#include <ncurses.h>
#include <iostream>
#include <vector>
#include <ctime>
#include <cstdlib>
using namespace std;
enum key {kup, kdown, kleft, kright};
void trans_coor(int i, int j, int& x, int& y, int& z, key k);
bool add_item(vector< vector<int> >& v);
void easy_display();
void refresh_screen(const vector< vector<int> >& v);
void perform(vector< vector<int> > & v, key k);
vector< vector<int> > initial_checkerboard(void);
2.随机初始化函数
srand()设置随机数的种子;
rand()随机生成数字;
使用ncurses库中的函数:
mvprintw(x, y, string)
x,y是要显示的起始位置,string是要显示的字符串;
vector< vector<int> > initial_checkerboard(void)
{
//初始化vector,