C语言实现2048游戏
#include
#include
#include
#include
#include
#define ROW 4
#define COL ROW
#define KEY1 224
#define KEY_LEFT 75
#define KEY_UP 72
#define KEY_RIGHT 77
#define KEY_DOWN 80
int g_sgap = 0;
//在数组arr产生一个新的数字
void GetNewVal(int arr[ROW][COL])
{
srand( (unsigned)time( NULL ) + g_sgap++);
int x = rand()%ROW;//行下标,保证不越界
int y = rand()%COL;//列下标,保证不越界
int newval = 2;
if(x == 0)//75%的概率为2,25%的概率为4
{
newval = 4;
}
//找到空闲的格子
while(arr[x][y] != 0)//该格子已经有值,todo有可能死循环
{
y++;
if(y == COL)//
{
y = 0;
x = (x+1)%ROW;//下一行
}
}
arr[x][y] = newval;
}
//打印
void Show(int arr[ROW][COL])
{
system("cls");
for(int i=0; i
运行画面