일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 앱 배포
- Photon Fusion
- 연습
- 개발일지
- XR
- HAPTIC
- 팀프로젝트
- Oculus
- ChatGPT
- 드래곤 플라이트
- 드래곤 플라이트 모작
- 유니티
- 길건너 친구들
- 모작
- OVR
- CGV
- 오브젝트 풀링
- input system
- 가상현실
- 유니티 UI
- 유니티 GUI
- VR
- meta xr
- meta
- 포트폴리오
- 팀 프로젝트
- 오큘러스
- 유니티 Json 데이터 연동
- 멀티플레이
- 개발
Archives
- Today
- Total
EasyCastleUNITY
2048 (이동 까지만 구현) 본문
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _2048
{
internal class App
{
int[] board; //바탕이 되는 보드
Random random = new Random();
int randomPosition = 0;
int randomNumber = 0;
int[] pathBoard; //통로 역할을 하는 보드
int pointerLeft = 3;
int pointerRight = 0;
public App()
{
board = new int[4];
pathBoard = new int[4];
// board[0] = 2;
Console.WriteLine("새로운 게임이 시작됐습니다");
while (true)
{
PrintBoard();
ConsoleKeyInfo info = Console.ReadKey();
Console.WriteLine(info.Key);
RandomCreate();
// Console.WriteLine(this.randomPosition);
// Console.WriteLine("[{0}] [{1}] [{2}] [{3}] ", board[0], board[1], board[2], board[3]);
if (info.Key == ConsoleKey.RightArrow)
{
//Console.WriteLine("오른쪽 키 눌림");
MoveRight();
}
else if (info.Key == ConsoleKey.LeftArrow)
{
//Console.WriteLine("왼쪽 키 눌림");
MoveLeft();
}
Console.WriteLine("---------------------");
PrintBoard();
}
}
// 랜덤 생성
public void RandomCreate()
{
this.randomPosition = random.Next(0, 4); // 0 ~ 3까지 랜덤 정수 생성
this.randomNumber = 2 * random.Next(1, 3); // 1 ~2 로 랜덤 생성하고 곱하기 2를 통해 2 4가 나오도록 설정
if (board[randomPosition] == 0)
{
board[randomPosition] = randomNumber;
}
}
//현재 보드 상태 출력
void PrintBoard()
{
for(int i=0; i<board.Length; i++)
{
Console.Write("[{0}] ", board[i]);
}
}
//오른쪽 움직임
public void MoveRight()
{
for (int i = 0; i < board.Length; i++)
{
if (board[i] != 0 && i < 3)
{
board[i + 1] = board[i];
board[i] = 0;
}
}
}
//왼쪽 움직임
public void MoveLeft()
{
for (int i = board.Length - 1; i > 0; i--)
{
if (board[i] != 0 && i > 0)
{
board[i - 1] = board[i];
board[i] = 0;
}
}
}
}
}
'C#프로그래밍' 카테고리의 다른 글
DataManager (0) | 2023.07.26 |
---|---|
컬렉션을 활용한 아이템 및 인벤토리 (0) | 2023.07.26 |
2차원 배열을 통한 맵 이동 (워프 히어로) (0) | 2023.07.25 |
2차원 배열 응용, 맵 만들기 (0) | 2023.07.25 |
1차원 배열을 통한 인벤토리 생성 (0) | 2023.07.25 |