02/10/2018, 00:03

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 ...

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!

Download

Tags: game
0