本身這個遊戲邏輯挺簡單的,所以,不多說了,直接上代碼吧
玩法說明:編譯運行後,輸入一個整數n,表示自己想玩的遊戲中是n*n的表格,現在手機上或者電腦上一般都是4*4的,所以我們可以輸入4,回車就可以開始遊戲了。
遊戲開始後a s d w表示方向左 下 右 上四個方向。
正如真實版的2048一樣,會輸出兩個表格,move 表格顯示按輸入方向平移後的結果,fill 表格顯示又隨機填充一個格子後的表格
#include <climits>
#include <cstdio>
#include <cstring>
#include <stack>
#include <string>
#include <map>
#include <vector>
#include <cmath>
using namespace std;
const int MAXX = 10;
int box[MAXX][MAXX];
void moveLeft(int n, bool &ret){
for (int i = 0; i < n; ++i){
for (int j = 0; j < n; ++j){
int k;
for (k = j - 1; k >= 0; --k){
if (box[i][k] != -1){
break;
}
}
box[i][k + 1] = box[i][j];
if ((k + 1) != j){
box[i][j] = -1;