Viết chương trình Game 2048
Hôm nay mình xin chia sẽ với các bạn 1 game rất hot trên smartphone trong thời gian qua đó là game 2048 . Game này mình chơi bằng cách sử dụng 4 phím điều hướng để di chuyển các ô số và gom những ô giống số lại với nhau để được số điểm cao nhất có thể. Giao diện và cách chơi sẽ như video dưới đây:
Do bài này code cũng tương đối dài nên mình chỉ up 4 hàm quan trọng để xử lý 4 phím điều hướng để chơi game mà thôi. Các bạn có thể download về rồi nghiên cứu thử nhé
bool doUp()
{
bool isDo = false;
for (int x = 0; x < 4; x++)
{
for (int y = 0; y < 3; y++)
{
for (int y1 = y + 1; y1 < 4; y1++)
{
if (cards[x, y1] > 0)
{
if (cards[x, y] == 0)
{
cards[x, y] = cards[x, y1];
cards[x, y1] = 0;
y--;
isDo = true;
}
else if (cards[x, y] == cards[x, y1])
{
cards[x, y] *= 2;
cards[x, y1] = 0;
isDo = true;
}
break;
}
}
}
}
if(isDo)
creatRandomCard();
return isDo;
}
bool doDown()
{
bool isDo = false;
for (int x = 0; x < 4; x++)
{
for (int y = 3; y >= 1; y--)
{
for (int y1 = y - 1; y1 >= 0; y1--)
{
if (cards[x, y1] > 0)
{
if (cards[x, y] == 0)
{
cards[x, y] = cards[x, y1];
cards[x, y1] = 0;
y++;
isDo = true;
}
else if (cards[x, y] == cards[x, y1])
{
cards[x, y] *= 2;
cards[x, y1] = 0;
isDo = true;
}
break;
}
}
}
}
if (isDo)
creatRandomCard();
return isDo;
}
bool doRight()
{
bool isDo = false;
for (int y = 0; y < 4; y++)
{
for (int x = 3; x >= 1; x--)
{
for (int x1 = x - 1; x1 >= 0; x1--)
{
if (cards[x1, y] > 0)
{
if (cards[x, y] == 0)
{
cards[x, y] = cards[x1, y];
cards[x1, y] = 0;
x++;
isDo = true;
}
else if (cards[x, y] == cards[x1, y])
{
cards[x, y] *= 2;
cards[x1, y] = 0;
isDo = true;
}
break;
}
}
}
}
if (isDo)
creatRandomCard();
return isDo;
}
bool doLeft()
{
bool isDo = false;
for (int y = 0; y < 4; y++)
{
for (int x = 0; x < 3; x++)
{
for (int x1 = x + 1; x1 < 4; x1++)
{
if (cards[x1, y] > 0)
{
if (cards[x, y] == 0)
{
cards[x, y] = cards[x1, y];
cards[x1, y] = 0;
x--;
isDo = true;
}
else if (cards[x, y] == cards[x1, y])
{
cards[x, y] *= 2;
cards[x1, y] = 0;
isDo = true;
}
break;
}
}
}
}
if (isDo)
creatRandomCard();
return isDo;
}
Chúc các bạn vui khi chơi chính game do mình code!