經典小遊戲2048C 的console實現

2021-06-22 09:37:30 字數 2841 閱讀 4506

雖然產生資料的演算法可能跟實際遊戲有些許差距,但是各有各的特色。大家可參考參考也為大家理解新增了注釋,方便大家理解#include #include #include #include #include #include // 2的概率大於4

#define random_2_4 (rand()%5==4 ? 4:2)

#define random_x(x) (rand()%x)

using namespace std;

// 矩陣大小

const int max = 4;

const int maxmax = max*max;

// 初始資料個數

const int init_size = 2;

// 資料矩陣

int _matrix[max][max];

// 合併臨時陣列

int current[max];

// 資料計數

int _count;//0的個數

// 按鍵操作 => 不使用char...防止不必要的失敗... => ch[0]即可...

string ch;

// 得分...

int score;

// 列印陣列

void print();

// 操作說明

void help();

// 初始操作

void init();

// 隨機位置 => 隨機資料2/4

bool random_data_one();

// 上左下右

bool b_up();

bool b_left();

bool b_down();

bool b_right();

void _up();

void _left();

void _down();

void _right();

int main()

print();

} cout << " game over !! " << endl;

cout << "最終得分socre => " << score << endl;

system("pause");

system("pause");

system("pause");

return 0;

}void print()

cout << endl;

} cout << "-------------------------------------" << endl << endl;;

}void help()

void init()

bool random_data_one()

}} }

++_count;

return true;

}bool b_up()

else}}

} if (flag)

while (j >= 0)

if (i < j)

return true;

} }return false;

}bool b_left()

else}}

} if (flag)

while (j >= 0)

if (i < j)

return true;

} }return false;

}bool b_down()

else}}

} if (flag)

while (j >= 0)

if (i < j)

return true;

} }return false;

}bool b_right()

else}}

} if (flag)

while (j >= 0)

if (i < j)

return true;

} }return false;

}void _up()

for (int k = 0; k < ii - 1; k++)

}ii = 0;

for (int j = 0; j < max; j++)

for (; ii < max; ii++)

_matrix[ii][i] = 0;

} random_data_one();

} else

}void _left()

for (int k = 0; k < ii - 1; k++)

}ii = 0;

for (int j = 0; j < max; j++)

for (; ii < max; ii++)

_matrix[i][ii] = 0;

} random_data_one();

} else

}void _down()

for (int k = 0; k < ii - 1; k++)

}ii = max - 1;

for (int j = 0; j < max; j++)

for (; ii >= 0; ii--)

_matrix[ii][i] = 0;

} random_data_one();

} else

}void _right()

for (int k = 0; k < ii - 1; k++)

}ii = max - 1;

for (int j = 0; j < max; j++)

for (; ii >= 0; ii--)

_matrix[i][ii] = 0;

} random_data_one();

} else

}

c語言程式2048 C語言2048小遊戲演示和說明

2048遊戲是風靡一時的小遊戲,我們提供的2048小遊戲不依賴 tc 環境,不依賴任何第三方庫,可以在 vs codeblocks dev c 等常見 ide中編譯通過。我們提供給大家的 2048 小遊戲,不要求大家精通 c 語言,也不會涉及到指標的使用,只需要學會以下幾個知識點即可 設計 2048...

C 實現2048小遊戲

1 define crt secure no warnings 去掉編譯器內部擴增問題 2 include3 include4 include5 include 6 include7 include8 include 9 include10 include11 include12 using nam...

C 自實現2048小遊戲

include include using namespace std const int n 5 地圖為4 4 int map n n 存圖 inline void generate rand 在隨機位置產生2或4 map x y rand 2?2 4 inline void build star...