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();
}
}
}