C#프로그래밍/복습

2048 [완성]

다모아 2023. 7. 26. 00:47

Game 클래스

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Game2048
{
    internal class Game
    {
        int[] arr = new int[4];
        int num;

        //생성자
        public Game()
        {
            this.arr[0] = 2;
        }

        //게임 시작
        public void Start()
        {
            Console.WriteLine("게임시작");
            PrintBoard();
        }

        //화면출력
        public void PrintBoard()
        {
            CreateBoard();
            MoveRight();
            CreateBoard();
            MoveRight();
            CreateBoard();
            MoveRight();
            CreateBoard();
            MoveRight();
            CreateBoard();
            MoveLeft();
            CreateBoard();
            MoveLeft();
            CreateBoard();
            MoveLeft();
            CreateBoard();
            MoveLeft();
            CreateBoard();
        }
        
        //오른쪽이동
        public void MoveRight()
        {
            int nextIdx = num + 1;
            if(nextIdx > 3)
            {
                Console.WriteLine("갈수없습니다.");
                return;
            }
            arr[num + 1] = arr[num];
            arr[num] = 0;
            num++;
        }

        //왼쪽이동
        public void MoveLeft()
        {
            int nextIdx = num - 1;
            if(nextIdx < 0)
            {
                Console.WriteLine("갈수없습니다.");
                return;
            }
                arr[num - 1] = arr[num];
                arr[num] = 0;
                num--;

        }

        //보드만들기
        public void CreateBoard()
        {
            for(int i = 0; i < arr.Length; i++)
            {
                Console.Write("{0} ", arr[i]);
            }
            Console.WriteLine();
        }
    }
}

 

App 클래스

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Game2048
{
    internal class App
    {
        //생성자
        public App()
        {
            Game game = new Game();
            game.Start();
        }
    }
}

'C#프로그래밍 > 복습' 카테고리의 다른 글

JSON 복습2  (0) 2023.07.28
JSON 복습1  (0) 2023.07.28
2차원 배열 복습  (0) 2023.07.26
복습1  (0) 2023.07.23