전체 글
-
프로그래머스 - 정수를 나선형으로 배치하기제로부터 C# 코딩테스트 2023. 11. 22. 21:10
주어진 n으로 n*n의 배열을 나선형으로 배치한 이차원 배열을 만드는 문제. 1. 방문처리할 배열을 만듭니다. 2. 이동경로 (4가지방향)을 가지고있는 이차원 배열을 만듭니다.(경로는 오른쪽,아래,왼쪽,위 순으로 이동할 것) 3. 나선형으로 n*n 숫자까지 반복 할 것이기 때문에 listIdx를 만들어줍니다.(경로를 바꿀때마다 ++, 경로의 인덱스를 넘길시 %4) 4. n*n 숫자까지 모두 채울 때 가지 반복할 것이기 때문에 while문을 만들어 줍니다. 5. 조건으로 다음으로 이동할 배열이 이차원 배열을 넘어가지 않으면서 방문하지 않았으면 다음으로 이동할 배열에 현재배열 ++ 해주고 방문 처리를 해준뒤 다음으로 이동할 배열위치를 List에 담아줍니다. 조건에 해당 되지않았을 경우는 경로를 바꿔주야 함으..
-
GameManager(싱글톤) + CanvasGroup으로 UI 컨트롤Unity/제로부터 구현 2023. 11. 22. 20:06
*틀린 점을 발견하신다면 꼭 댓글 남겨주시면 감사하겠습니다😢 오늘의 구현 1.GameManager 구현 ( 싱글톤) 2.CanvasGroup component를 이용한 GameOver UI 만들기 + Time out 싱글톤(Singleton) : 소프트웨어 디자인 패턴중 하나로, 단 하나의 인스턴스만을 사용하여 데이터나 리소스를 관리하고 공유할 수 있도록 하는 것입니다. 1.Gamemanager (Singleton) public class GameManager : MonoBehaviour { private static GameManager instance; private void Awake() { if (instance == null) { instance = this; DontDestroyOnLoad(g..
-
프로그래머스 - 안전지대제로부터 C# 코딩테스트 2023. 11. 21. 23:38
폭탄 주변을 폭탄 위험 지역으로 바꾼 뒤 안전지역 칸수를 구하는 문제. 1. 폭탄 주변을 폭탄 위험지역으로 바꾸기 위한 함수 만들기. 2. 새로운 board 판을 만들기. - 기존 보드판 그대로 사용하면 보드판 순회 도중 보드판이 업데이트 되기때문에 문제가 생길 수 있음. 3. board 판을 순회하면서 폭탄을 발견하면 위에 만든 함수 실행. using System; public class Solution { public int solution(int[,] board) { int answer = 0; int[,] newBoard = new int[board.GetLength(0), board.GetLength(1)]; for(int i = 0 ; i< board.GetLength(0);i++){ for(..
-
2D 캐릭터 이동 + 카메라 앵글을 이용한 이동 반경 제한Unity/제로부터 구현 2023. 11. 21. 22:46
오늘의 구현. 1. 캐릭터의 단순 좌우 이동 2. 카메라 앵글을 이용한 캐릭터의 이동 반경 제한시키기. 1. 캐릭터 이동 Vector2 moveVec; moveVec = new Vector2(Input.GetAxisRaw("Horizontal"),0).normalized * playerSpeed * Time.deltaTime; if(moveVec.x 0) { playerDir = 1; } transform.localScale = new Vector3(playerDir, 1, 1); transform.Translate(moveVec); 좌우 키를 눌렀을때 moveVec에 값을 업데이트 해주고, 그 값이 음수면 왼쪽, 양수면 오..
-
VFX Graph - Arrow ProjectileUnity/제로부터 Effect 2023. 11. 20. 20:26
준비물 화살모양의 model Visual Effect Graph Spawn System Single Burst : 일회성으로 파티클을 생성하는 기능입니다. Spawn System Inspector Loop Duration(반복 지속 시간) - Infinite(무한), Constant(고정값),Random(랜덤) Loop Count(반복 횟수) - Infinite, Constant,Random Delay Mode(지연 모드) None : 반복 시작 시에 즉시 파티클 시스템이 실행됩니다. 지연이 없습니다. after Loop : 반복이 종료된 후에 파티클 시스템이 지연 없이 다시 시작됩니다. before Loop : 반복 시작 전에 파티클 시스템이 지연 없이 실행됩니다. before and after Loo..
-
프로그래머스 - 광물 캐기제로부터 C# 코딩테스트 2023. 11. 17. 13:58
곡괭이와, 광물이 주어지고 곡괭이로 광물들을 다 캐거나, 더이상 광물을 캘 곡괭이가 없을때, 작업을 끝내기 까지의 최소 피로도를 구하는 문제. 필요 지식 using System.Collections.Generic; List .Count Dictionary Math.celling() .GetRange() Math.Min() .Sort() (1).곡괭이의 최대 사용 횟수를 구합니다 (2).곡괭이의 최대 사용수를 초과하는 광물은 더 이상 볼 필요가 없기때문에 잘라냅니다. (3).곡괭이를 한번 사용하면 피로도가 다 될때까지(5번), 중간에 곡괭이를 바꿔서 사용할수 없기 때문에 (2)번에서 잘라낸 광물배열의 /5번만 for문을 돌려주면 됩니다. (4).Dictionary 만들고 (2)번에서 만든 광물배열에서 5개..
-
Shader Graph - Fire+smokeUnity/제로부터 Effect 2023. 11. 17. 11:57
Particle System을 이용한 연기를 내뿜는 불을 만들어 볼 것 입니다. unlit으로 shader graph 를 만들어 줍니다. 두가지의 png 스프라이트를 사용할 것인데, 인터넷에 치면 연기 texture 들이 많이 있는데 그중 여러개의 연기 모양을 모아놓은 텍스쳐 시트를 사용하고 그레디언트 텍스쳐를 사용할 것인데, 이것 또한 인터넷에 black gradiant texture을 치시면 많이 나옵니다. 1. 연기 만들기. 연기 텍스쳐 셈플링 하기. 연기를 표현할것이기 때문에 알파값만 사용할 것 입니다. 연기의 투명도를 조절하기위해 변수를 추가하고 multiply로 곱해준뒤 gradiant texture 셈플링한것에 연결해줍니다. 이제 particle System을 추가해 위 그래프로 만든 mat..