- [DEVEXPRESS] Hướng dẫn bật tính năng Scroll Pixcel in Touch trên GridView
- [DEVEXPRESS] Hướng dẫn sử dụng TileBar viết ứng dụng duyệt hình ảnh Winform
- [DEVEXPRESS] Tô màu border TextEdit trên Winform
- [C#] Lấy dữ liệu từ Console Write hiển thị lên textbox Winform
- [C#] Hiển thị Progress bar trên Window Console
- [C#] Di chuyển control Runtime và lưu layout trên winform
- [SQLSERVER] Sử dụng hàm NULL IF
- [C#] Chia sẽ source code mã đi tuần bằng giao diện Winform
- [C#] Flash Window in Taskbar Winform
- Download và Giải nén tập tin File sử dụng Powershell
- [C#] Hướng dẫn cách lấy thông tin đăng nhập tài khoản và mật khẩu web browser trên windows
- [VB.NET] CRUD Thêm xóa sửa tìm kiếm Realtime FireBase
- [C#] Hiển thị thông báo Toast Message trong lập trình Winform
- [C#] Cấu hình định dạng ngày tháng, thời gian trên Windows cho ứng dụng Winform
- [C#] Rút gọn đường dẫn link url với TinyURL API
- [C#] Hướng dẫn cách bo tròn winform with Radius
- [C#] Chia sẽ class BackGroundOverlay Show Modal cho Winform
- [C#] Hướng dẫn Flip Image Winform
- [C#] Invoke là gì? cách sử dụng phương thức Invoke()
- [C#] Hướng dẫn chia sẽ file, folder từ ứng dụng sang Zalo Chat
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!