과정명 : 내일배움캠프 Unity 게임개발 3기
전체진행도 : 6일차
부분진행도 : Chapter2.1 - 1일차
작성일자 : 2023.12.29(금)
개발일지 목록 : 클릭
1. 진행중인 과정에 대해
캠프에서 새로운 팀 편성을 하였다. 1인 개발자, 회사생활 등 경험이 많은 팀원분들이 많으셨다. 약간 쭈글이 모드.
이번 팀은 2주간 유지된다. 첫 주는 C# 강의와 함께 개인 과제를 위주로 학습하고, 후반 주차는 첫 주에 한 내용을 바탕으로 팀 프로젝트를 진행하여 더 심화된 결과물을 만든다. 이번 과정에서는 Unity는 사용하지 않고 C#만을 사용하여 텍스트로 진행하는 RPG게임이다.
2. 오늘 학습에 대해
오늘은 학습 시간을 활용하여 C# 강의를 들었다. Unity에서 사용하던 메서드와도 미묘하게 다르고, 다른 언어와도 혼동되는 코드들이 많기 때문에 참고가 될 만한 내용을 정리한다.
개발 IDE 환경에 대해
- Visual Studio Installer에서 설치 시에, C#과 동시에 .NET 프레임워크도 설치한다.
- 솔루션에서 프로젝트 생성 시 [최상위 문 사용 안함]에 체크하여도 무방하다.
C# 코딩에 대해
- 나중에 기억하기 힘들 것 같은 literal의 예시 몇 가지
- 정수형 리터럴
- 0x10 (16진수 int)
- 0b10 (2진수 int)
- 10L (long)
- 10UL (unsigned long)
- 부동소수점형 리터럴
- 3.14 (double)
- 3.14f (float)
- 3.14m (decimal)
- 문자형 리터럴
- '\u0022' (유니코드 문자)
- 문자열 리터럴
- @"문자열 내 개행 문자
사용하기"
- 의외로 되는 변수 관련 코드
int num1, num2, num3 = 10; // num1과 num2는 선언만 된 상태, num3에는 10을 저장
num1 = num2 = num3 = 30; // num3에 30, num2에 30, num1에 30을 저장
- 코드 컨벤션 몇 가지
식별자(Identifiers) : 변수, 메서드, 클래스, 인터페이스 등에 사용되는 이름
식별자 표기법
- PascalCase: 클래스, 메서드, 프로퍼티 등에 사용
- camelCase: 변수, 매개변수, 로컬변수 등에 사용
- 대문자 약어: ID, HTTP, FTP 등 특수한 경우에 사용
- snake_case : Python에서는 변수나 함수명으로 사용했으나 C#에서는 사용하지 않는 것으로 보임
- 문자열 관련 메서드 몇 가지
// 구분자를 통해 문자열 나누기
string input = Console.ReadLine();
string[] strs = input.Split(' ');
// 문자 'H'를 5개로 구성된 문자열 생성
string str1 = new string('H', 5);
// 문자열에서 검색하여 인덱스 반환
string str2 = "Hello, World!";
int index = str2.IndexOf("World"); // 7
// 문자열 치환
string str3 = "Hello, World!";
string newStr3 = str3.Replace("World", "Universe");
// 문자열을 숫자로 변환 시에는 Parse() 사용
string str4 = "123";
int num1 = int.Parse(str4);
// 숫자를 문자열로 변환 시에는 ToString() 사용
int num2 = 123;
string str5 = num2.ToString();
// 문자열 대소 비교
// ASCII 비교가 되며, -1/0/1 중 하나를 반환.
// 첫 매개변수에서 둘째 매개변수를 뺀 값이라고 기억하면 좋음
string str6 = "Apple";
string str7 = "Banana";
int compare = string.Compare(str6, str7); // -1
// 문자열 포맷팅 : 문자열 형식화
string name = "John";
int age = 30;
string message1 = string.Format("My name is {0} and I'm {1} years old.", name, age);
// 문자열 포맷팅 : 문자열 보간
string message2 = $"My name is {name} and I'm {age} years old.";
이상 기억하면 좋을만한 내용 정리.
3. 과제에 대해
주어진 C# 문법 강의의 1/3정도를 완료하였다. 강의 수강을 하루이틀 정도에 마친 후, 이번주차에 주어진 개인과제를 확인할 예정이다. 개인과제 제출의 기한은 7일 뒤인 23/1/5(금) 19:00까지. RPG게임 하나를 만드는 과제이기 때문에 꽤 시간이 걸릴지도 모르겠다.
'다이어리 > 내일배움 개발일지' 카테고리의 다른 글
게임개발캠프 - 개인과제(A) 3일차 (0) | 2024.01.03 |
---|---|
게임개발캠프 - 개인과제(A) 2일차 (2) | 2024.01.02 |
게임개발캠프 - 팀과제(A) 5일차, 발표 시연 (0) | 2023.12.28 |
게임개발캠프 - 팀과제(A) 4일차 (0) | 2023.12.27 |
게임개발캠프 - 팀과제(A) 3일차 (0) | 2023.12.26 |