2024/09 27

클래스를 사용하여 리스트에 여러 개의 변수를 넣는 방법

리스트의 값을 넣을 변수를 변수의 갯수만큼 지정합니다. 실행부를 만들어주고 (클래스와 이름 동일하게)  매개변수에 변수들에 집어넣어질 값을 변수 갯수만큼 지정해줍니다. this.(변수 이름)을 사용하면 매개변수와 변수의 이름이 같더라도 구분이 가능합니다. 각각 매개변수들을 저장할 변수들에 대입시켜주고  List를 선언할 때 자료형에 클래스의 이름을 붙여줍니다.  리스트에 항목을 추가할 때는 new를 사용하여 선언될 때마다 실행부가 작동하여 매개변수들이 변수로 저장될 수 있습니다. 리스트에 저장된 내용을 출력하고 싶을 땐 리스트의 클래스 안에 출력하는 메소드를 만들어주고 Shop.ShopItem_Armor[0].PrintArmor();처럼메인 클래스에 출력하고 싶으면 [리스트가 선언된 클래스]. [리스트 ..

자료 관리 2024.09.25

2024 09 24 TIL

강의를 되돌아보며 과제를 수행하는데 집중해보았다. 내가 생각해도 클래스 사용과 코드 사용이 미흡하다는 건 알고 있지만 지금은 최적화를 생각하는 게 아닌 어떻게든 구현을 해보겠다고 생각하고 진행하고있다. 발생한 문제인벤토리를 구현하기 위해 배열과 조건문을 통한 코드를 작성하려고 하였으나 예외처리 오류가 발생하였다. 발생한 이유?발생원인을 추측하여 가설을 설정하자면1.Inventory_In 배열의 길이를 조건문으로 잡았을 때 배열은 이미 크기를 정해놓고 사용을 하기에 i의 값보다 클수 밖에 없다.2.배열을 중첩하여 사용하기 때문에 length가 정상적인 범위를 잡지 못한다.  정도로 생각하였다. 원인 디버그를 하여 살펴본 결과 1번째 가설대로 Length를 30으로 잡았다는 것을 알았다. 계속 빈 배열을 반..

TIL 2024.09.24

2024 09 23 TIL (메서드)

메서드란? 메서드는 특정 작업을 수행하기 위해 기능하도록 만든 코드 블록입니다.코드가 중복되어 사용되어 복잡해지는 것을 막기 위해서라도 메서드를 사용하는 것은 필수적입니다.메서드는 기능이 필요할 때 메서드 이름을 통해 호출합니다. 메서드의 구조 메소드의 구조는 다음과 같습니다. [접근 제한자] [리턴 타입] [메서드 이름] ([매개 변수]){     //메서드 내용} //예시로 int 자료형을 가진 메서드 score 를 적었습니다. public int score(int x){     int sum = x%2     return sum;}  접근 제한자 :  메서드에 접근할 수 있는 범위를 설정하는 역할을 합니다.주로 사용하는 접근제한자는 다음과 같습니다.public    외부 클래스가 자유롭게 사용할 수..

TIL 2024.09.23

컬렉션(C#)

컬렉션이란 컬렉션은 자료를 모아 놓은 데이터 구조를 의미합니다. 컬렉션을 사용하는 이유 C#에서 배열은 크기를 정해두고 있어  배열의 내용을 수정하고 싶을 때 새로운 배열을 만들어복사를 해야합니다. 컬렉션은 배열과 비슷한 구조를 가지고 있어서 데이터 처리에 있어 배열을사용하기 불편할 때 사용합니다. C#에서 제공하는 컬렉션을 사용하려면System.Collections.Generic 네임스페이스를 추가하여야합니다. 컬렉션의 종류 List 리스트와 배열의 차이점은 가변적인 크기를 가지고 있다는 것입니다. 리스트는 동적으로 크기를 조절할 수 있어 배열보다 유연하지만 단점도 있는데배열보다 많은 메모리를 사용하여 성능 저하를 유발할 수 있어 무분별한 사용은 지양해야합니다.따라서 데이터의 크기와 사용목적을 고려하여..

자료 관리 2024.09.22

배열

배열은 자료형이 같은 데이터를 바구니에 담는 것과 같습니다. 자료형[] 배열이름 = 배열크기       int[] Bucket = new int[3];  와 같은 배열을 생성하였습니다. 이 배열은 자료형이 정수형인 데이터를 모으며 3개 만큼의 데이터 값을 저장할 수 있습니다. Bucket[0] = 1;               배열이름[순서] = 넣을 데이터값Bucket[1] = 2;            와 같은 방식으로 몇번째에 어떤 값을 집어넣을 수 있습니다. 배열의 값을 불러오고 싶을 때는  배열이름[순서]  의 형태로 불러냅니다.int Counter =  Bucket[0]   다음과 같이 사용하면 Counter 라는 정수형 자료형을 가진 변수에 Bucket의 0번째 값을 대입한 것입니다. 배열을 ..

자료 관리 2024.09.22

2024 09 20 TIL (조건문과 반복문)

조건문  조건에 따라 코드의 실행 여부를 결정할 수 있습니다..실행할 코드가 여러줄인 경우엔 중괄호를 써주어 중괄호 안에 코드를 써줍니다.if (조건식) {     // 조건식이 참일 경우 실행할 코드 } 실행할 코드가 한줄인 경우엔 중괄호 작성없이 사용하여도 됩니다.if (조건식)     // 조건식이 참일 경우 실행할 코드  else문 else는 if문의 조건에 부합하지 않을 때 실행할 코드를 작성하는 조건문입니다. else문은 생략이 가능합니다. if (조건식) {     // 조건식이 참일 경우 실행할 코드 } else {     // 조건식이 거짓일 경우 실행할 코드} else if 문 else if 문은 if문의 조건에 부합하지 않을 때 새로운 조건으로 코드 실행여부를 판별하고 싶을 때 사용합..

TIL 2024.09.20

2024 09 19 TIL (C# 기초)

C# 문법 Console.WriteLine 과 Console.Write 의 차이점 Console.WriteLine 은 실행후 줄바꿈을 하지만 //Console.WriteLine("나는");//Console.WriteLine("무엇인가"); //출력:나는//        무엇인가 Console.Write 는 줄바꿈을 하지 않는다 //Console.Write("나는");//Console.Write("무엇인가"); //출력 나는무엇인가  이스케이프 시퀸스 문자열 내에 특수문자를 표기하고 싶을 때:\'작은따옴표(') 삽입\''큰따옴표(") 삽입\\역슬래시() 삽입    커서의 위치를 바꾸는 것: \n새 줄(줄바꿈) 삽입\r현재 줄 맨 앞으로 이동\t탭 삽입\b백스페이스 삽입   주석 주석은 코드의 설명이나 개발..

TIL 2024.09.20

2024 09 13 TIL (PlayerPrefs)

프로젝트 발표를 마친 후 같은 기수에 다양한 사람들의 생각과 초입부의 실력이라고는 믿을 수 없을만큼 실력이 출중한 사람이 많다는 것을 알았습니다. 경력이 있어 코딩하는 것에 익숙한 사람, 이해에 있어 앞선 사람 등 뛰어난 사람들도 많아 수준이 정말로 높구나 생각하였습니다.  이번 연휴동안 열심히 공부하여 따라잡아보고싶다고 생각해봅니다. 벽을 느낀다면 그 벽만큼 발밑에 벽을 세우면 되는 것이랴 다시 코딩으로 돌아가 복습을 진행합니다.  PlayerPrefs 를 사용하면 내 컴퓨터안에 게임이 종료되어도 다시 실행할 때 그대로 남아있는 데이터를만든다고 생각하면 됩니다. 만들어진 데이터는 프로젝트의 PlayerPrefs 파일에 데이터가 저장됩니다. PlayerPrefs은 Key라는 변수의 Value 를 데이터로..

TIL 2024.09.13

2024 09 12 TIL (코루틴)

UPDATE 문 넣어 쓰는 것이 너무 많다는 것을 알고 개인적으로 어떤 방법이 있을까 생각하여 찾아보다 코루틴에 대하여 공부하게 되었다. 코루틴은 시간의 경과에 따라 절차적인 단계를 수행할 때 쓰이는 함수라고 한다.시간에 따라 실행되도록 하는 로직은 UPDATE 함수로 해결할 수 도 있지만 UPDATE문은 매 프레임마다 안에 있는 내용을 수행하기에 프레임 단위로 처리해야하는것이 아니라면 비효율적이라고 한다. 그렇기에 개발자는 코루틴을 자주 사용하게 된다고 한다.이번에 내가 들었던 이야기도 아마 코루틴을 사용하라는 의미였던 것 같다. 코루틴은 IEnumerator 라는 반환값을 가지고있다. 그리고 이 함수의 내용을 실행 중지시키고다음 프레임에서 실행을 재개하도록 하는 yield return 이라는 전용 함..

TIL 2024.09.12

2024 09 11 TIL

Instance 와 Instantiate에 대해 검색을 많이 해본 것 같다. 실제 프로젝트를 진행해보면서 헷갈리는 부분이 너무 많기에 검색을 해보며 천천히 만들어본다.  강의를 따라 하며 만드는 것과 직접 개체를 만든다는게 지금의 나에겐 좀 어려운 것 같다. 일단 현재 미니프로젝트는 거의 끝나가는 단계다. 사실 구현해보고 싶은 건 좀 있는데 생각대로 잘 안되어서 이전 강의와 만들었던 유니티 프로젝트들을 다시 되돌아보는 시간을 가졌다. 이번 프로젝트의 목적은 협업과 팀 프로젝트의 과정 익히기므로 기죽지말고 열심히 해본다. 앞으로 주말까지는 이틀 남았다. 기초적인 지식부터 더 쌓는 것을 목표로 하고 앞으로 TIL을 그런 지식들을 채워보는 과정을 적는게 나을 것같다. 강의를 무작정 따라한 지난 글보다 더 영양..

TIL 2024.09.11