2025/01/01 4

[멋쟁이사자처럼 부트캠프TIL회고] 42일차 : 테트리스 기능 추가

이 중, 1, 2,3,6은 도전하다보면 되겠는데.. ? 라는 생각이 들어 구현을 시작했다.그러나 도중 4줄 삭제 아이템은 굳이.. ? 3번을 고쳐쓰면 되겠는데라는 생각이 들어 일단 1,2,3 번만 구현해 보기로 했다.  2번 3번은 금방 끝났다. 중간 라인이 끝나도 삭제되게 하기지금은 minY가 -1이 되었을 때, 즉 마지막 칸에 닿았을 때만 부모를 분리하고 gridBlock 배열에 넣어준다.그리고 삭제하는 로직도 minY가 -1이 되었을 때만 작동한다. 이를 바꿔주면 된다. else{ SetGridState(1); var (minX, minY, maxX, maxY) = GetGridState(); if (minY == -1) { SetGridState(0); ..

TIL 2025.01.01

Factory Pattern with Unity

객체의 '생산'을 위한 패턴객체의 생성에 관련된 설계를 단순화, 객체간의 의존성을 줄이는 목적이 있음구체적인 공장 클래스가 구체적인 클래스 대신 인터페이스나 추상 클래스를 참조하여 특정 구현에 대한 의존성을  제거한다. 새로운 객체 유형이 추가될 때에, 기존 코드를 수정하지 않고도 팩토리를 확장하여 객체를 생성할 수 있다.전통적인 방식, 추상화 메서드 방식 등 여러 가지가 있음(추상 팩토리, 팩토리 메서드 등)  대략적인 구조를 보면 이렇다. IProduct라는 인터페이스는 Product들이 가져야 할 변수나 이름 등을 정의한다이를 바탕으로 프로덕트들을 확장시켜 나갈 수 있다.  팩토리는 추상 메서드로 구현되며 IProduct 타입을 반환한다.이를 통해 구체적인 생성 관련 기능과 책임은 구체적인 공장 클..

개념공부 2025.01.01

Singleton in Unity

싱글톤(Singleton) 전 환경을 통틀어 유일무이한 객체를 만들기 위한 디자인 패턴하나의 클래스에 단 하나의 인스턴스만 존재하게 한다.단 하나만 있어야 하는 오디오 매니저, 게임 매니저 등에 사용된다.보통 제네릭 타입으로 만들어 놓고 상속받는다. 싱글톤을 구현하기 위해서는 우선 static으로 인스턴스를 선언해 주는 것이 중요하다. 그리고 그 인스턴스를 자기 자신이 참조하고, 두 개 이상 생성되지 못하게 막는 것이 싱글톤의 원리이다.  간단한 싱글톤의 예시를 보자면 , using UnityEngine;public class SimpleSingleton : MonoBehaviour{ public static SimpleSingleton Instance; private void Awake() { if (..

개념공부 2025.01.01

[멋쟁이사자처럼 부트캠프 TIL회고] 41일차 : 테트리스

테트리스 구현하기 어제에 이어서 테트리스를 구현해보았다.지금까지 했던 코드들 중 가장 긴 코드가 될 것 같다.천천히 해석하면서 다시 볼 것이다.using System; using System.Collections; using System.Collections.Generic; using System.Linq; using AYellowpaper.SerializedCollections; using Unity.VisualScripting; using UnityEngine; using Random = UnityEngine.Random; public enum TetrominoType : byte { None, I, O, ..

TIL 2025.01.01