본문 바로가기

스파르타 내배캠54

스파르타 내배캠 Unity 3기 9일차 음.. 개인과제 선택 요구사항 마지막 - 세이브구현... 사실 어디서부터 모르고 뭘 모르는지 잘 모르겠다. (그냥 다 모르겠다.) 그래서 하면서 느꼈던 것들을 적다 보면 갈피를 잡지 않을까? 시도 1. BinaryFormatter [사용되지 않음] 세이브를 하기 위해 게임이 종료되는 시점에 Player의 정보를 받아야 하는데 text로 player의 정보를 일일이 받으면 비효율적이니, 객체를 받아서 한 번에 처리해 보고자 했다. 그 수단으로 먼저 BinaryFormatter를 써보기로 했다. FileStream fs = new FileStream("C:\\Users\\User\\Documents\\GitHub\\SpatranProject\\playerData.dat", FileMode.Create); B.. 2024. 1. 4.
스파르타 내배캠 Unity 3기 8일차 아~ (무슨 말이지?) 알고리즘... 예상은 했지만 예상밖으로 난해하네? 오늘부터 알고리즘 파트를 공부하기 시작했다. 역시나 초반부터 이해하기 힘든 녀석을 맞이했다. 그래서 적기 시작하는 TIL Quick Sort(퀵 정렬) 알고리즘 코드에 앞서 퀵 정렬 알고리즘에 대해 알아보자. 퀵 정렬은 분할 정복(divide and conquer) 방법을 통해 리스트를 정렬한다. 리스트 가운데서 하나의 원소를 고른다. 이렇게 고른 원소를 피벗이라고 한다. 피벗 앞에는 피벗보다 값이 작은 모든 원소들이 오고, 피벗 뒤에는 피벗보다 값이 큰 모든 원소들이 오도록 피벗을 기준으로 리스트를 둘로 나눈다. 이렇게 리스트를 둘로 나누는 것을 분할이라고 한다. 분할을 마친 뒤에 피벗은 더 이상 움직이지 않는다. 분할된 두 개의.. 2024. 1. 3.
스파르타 내배캠 Unity 3기 7일차 오늘은 난이도가 좀 있네;;; C# 문법 종합반 3주차 과제로 스네이크 콘솔 게임 만들기를 했다. 로직에서 좀 많이 헤매게 됐는데 전체 코드가 기니까 어려웠던 부분과 새로 알게된 부분을 작성해야겠다. 먼저 새로 알게된 것은 아래와 같다. Console.KeyAvailable 해당 코드는 키 입력이 있을 때에만 true를 반환하는 코드이다. if (Console.KeyAvailable) { ConsoleKeyInfo key = Console.ReadKey(true); ConsoleKey pressedKey = key.Key; switch (pressedKey) { case ConsoleKey.LeftArrow: snake.dir = Direction.LEFT; break; case ConsoleKey.Ri.. 2024. 1. 2.
스파르타 내배캠 Unity 3기 6일차 새해 복 많이 받으세요들~ 미니 프로젝트 주차가 끝나고 드디어 본격적인 C# 종합문법 주차가 시작되었다. 문법 첫 주차는 팀 과제가 아닌 개인과제가 미션으로 주어졌다. 과제내용은 스파르타 Text 던전 만들기 콘솔로 작업하는건 굉장히 오랜만이다. 마침 깃허브로 제출이다보니 깃허브에대한 숙련도도 함께 쌓을 수 있어서 좋구만? 요구사항에는 4가지 필수사항과 8가지 선택사항이 있다. 그 중 오늘은 2가지 필수사항을 구현해보자. 1. 게임 시작 화면 2. 상태보기 이 두가지를 구현해보도록 하자. 먼저 비쥬얼스튜디오를 켜서 새로운 프로젝트를 생성하자. (2022버전을 사용했다.) 프로젝트를 만들었으니 이제 게임을 만들어 보자. 1. 게임 시작 화면 먼저 프로그램을 실행 했을 때 1. 상태 / 2. 인벤토리 / 3.. 2023. 12. 29.
스파르타 내배캠 Unity 3기 5일차 끝! 끝! 끝! 끝! 끝! 미니 팀 프로젝트 주차가 드디어 끝나는 날이다. 근데 근데 근데 다른 팀들의 발표를 들으며 몇 가지 버그들을 듣다보니 우리 팀 프로젝트에도 포함되어 있는 버그라 생각이 돼서 프로젝트 마무리와 발표까지 되었지만 그래도 급히 수정을 해보려 한다. ! BugFix 문제점 : 빠르게 같은 카드를 연속 클릭하면 해당 카드를 매칭 성공한 것으로 인식이 된다. 해결방법 : Card 클래스에서 자신이 선택 됐는지 체크를 해주고 선택 됐으면 선택함수를 무시한다. 사진과 같은 어이없는 버그가 있었다...... 그런데 해결방법도 어이없을 정도로 간단하다. Card 스크립트에 코드 몇 줄만 추가 해주면 된다. public class card : MonoBehaviour { bool isSelecte.. 2023. 12. 28.
스파르타 내배캠 Unity 3기 4일차 마지막 챌린지 구현 하는 날~ 구현하기에 앞서 오늘은 조원 분께서 내가 알고싶었던 기능을 알려주셔서 먼저 짚고 넘어가야겠다. string 값을 넣어 줄 때 나는 ------ $"가나다 {int변수} " ------ 이런식으로 문자열 보간을 이용해 많이 써오고 있었다. 그런데 float값을 넣어 줄 땐 다음 코드와 같이 ------ + score.ToString("N2") ------ 소숫점 표현 때문에 +를 이용해 썼다. bestTxt.text = score > 0f ? "현재 난이도 최고기록 : " + score.ToString("F2") : ""; 기존에 내가 쓰던 문법 중 일부이다. 위처럼 쓰면 보간을 이용하지 못해 개인적으로 기분이 영 별로다. 하지만 오늘 알아낸 방법 두 가지 bestTxt.te.. 2023. 12. 27.
스파르타 내배캠 Unity 3기 3일차 연휴... 연휴... 어디갔어... 피곤해... 이번 주말엔 전에 썻던 TIL들을 좀 봤다. 솔직히 난해하다는 느낌을 많이 받았다. 그래서 오늘은 좀 깔끔하게 잡설을 줄여보고자 한다. 오늘의 구현 카드 등장 효과 연출하기 먼저 카드 등장을 어떤식으로 연출할지 정하자. 1. 카드가 카메라 밖에서 순차적으로 생성된다. 2. 생선된 카드는 자신이 있어야 할 위치로 이동한다. 3. 이동하면서 회전한다. (표창처럼) 1. 카드가 카메라 밖에서 순차적으로 생성 이 부분은 코루틴으로 제어가 가능할 것 같다. 카드 생성, 위치지정, 셋업 부분을 코루틴 함수로 바꿔주자. public bool hasplayed { get; private set; } = false; private void SpawnCards() { Lis.. 2023. 12. 26.
스파르타 내배캠 Unity 3기 2일차 오늘로 2일차... 벌써 조원들과 어색함이 많이 사라졌다! 굿! 어제는 기능구현을 각자 1개씩 맡아서 했지만, 오늘은 하나를 다같이 해보는 방식으로 했다. 먼저 각자 기능 구현을 하고, 서로의 방식을 화면공유를 통해 자신의 코드를 알려주고 구현을 못 하신 분들은 발표자들의 코드를 보며 배워가는 모르는 부분은 채워주고 아는 부분은 확고히 다져나가며 좀 더 좋은 방향을 제시하는 일석 삼조의 협업! 물론 시간은 많이 걸리긴 한다...ㅎ;; 그래서 오늘의 기능구현 목록 1. 카드 오브젝트 개수 늘리기 (사진 바리에이션 늘리기) 2. 현재 스테이지(또는 난도)에 따라 카드 배열 증가시켜보기 이렇게 두 가지를 한 번에 하는걸로 했다. 카드 사진을 기왕 늘리는겸 난이도 모드도 추가하는것이 맞다고 판단했다. 가보자! .. 2023. 12. 22.
스파르타 내배캠 Unity 3기 1일차 드디어 본캠프...! 한 달 동안 자습위주의 사전캠프가 있었지만 그 마저도 시간이 촉박했다... 협업에 앞서 하나라도 더 많은것을 배워 가고 싶었지만 아쉬운대로 나머진 짬짬히 하도록하자 본캠프에 들어와 캠프에 관한 설명을 들은 뒤 드디어 본격적인 조를 나뉘어 협업을 시작했다. 나의 첫 주차 조는 살2어조 (2조) 혹독한 9 to 9 일정속에 살아남고싶은 강한 의지가 보인다... 각설하고 1주차에는 미니 프로젝트로 사전캠프 4주차 강의에서 배웠던 르탄이 카드 뒤집기 게임에서 조금 더 살을 붙여나가는 작업을 협업으로 하는것이다. 조원 5명이 서로 5가지의 추가 기능 구현목록을 하나씩 맡아서 하기로 했다. 내가 맡은 파트는 " 매칭 성공 시, 팀원의 이름 표시 / 실패 시 실패 표시 (종료 시 끝! 나타나는 .. 2023. 12. 21.