- [C#] Cách Sử Dụng DeviceId trong C# Để Tạo Khóa Cho Ứng Dụng
- [SQLSERVER] Loại bỏ Restricted User trên database MSSQL
- [C#] Hướng dẫn tạo mã QRcode Style trên winform
- [C#] Hướng dẫn sử dụng temp mail service api trên winform
- [C#] Hướng dẫn tạo mã thanh toán VietQR Pay không sử dụng API trên winform
- [C#] Hướng Dẫn Tạo Windows Service Đơn Giản Bằng Topshelf
- [C#] Chia sẻ source code đọc dữ liệu từ Google Sheet trên winform
- [C#] Chia sẻ source code tạo mã QR MOMO đa năng Winform
- [C#] Chia sẻ source code phần mềm lên lịch tự động chạy ứng dụng Scheduler Task Winform
- [Phần mềm] Tải và cài đặt phần mềm Sublime Text 4180 full version
- [C#] Hướng dẫn download file từ Minio Server Winform
- [C#] Hướng dẫn đăng nhập zalo login sử dụng API v4 trên winform
- [SOFTWARE] Phần mềm gởi tin nhắn Zalo Marketing Pro giá rẻ mềm nhất thị trường
- [C#] Việt hóa Text Button trên MessageBox Dialog Winform
- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
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!