일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 우선순위 큐
- 트리
- VR
- 브루트포스
- 투 포인터
- DFS
- 유니티
- 문자열
- 누적 합
- 수학
- 알고리즘
- Unreal Engine 5
- 유니온 파인드
- 다익스트라
- 자료구조
- 구현
- ue5
- c++
- 스택
- 백준
- 재귀
- Team Fortress 2
- 그리디 알고리즘
- BFS
- 백트래킹
- 다이나믹 프로그래밍
- 시뮬레이션
- XR Interaction Toolkit
- 정렬
- 그래프
- Today
- Total
목록c# (7)
1일1알
2021년 1학기가 끝나갈 쯤에 게임 공부를 해보자 하고 유니티를 처음으로 공부했다. 유튜브에서 골드메탈 이라는 분의 영상을 보고 대충 익힌 다음에 유니티를 이용해서 처음으로 게임을 만들어 보았다. 플레이어, 적 도트는 직접 찍어서 작업했고 개발기간은 약 2주 정도였던 것 같다. 메일로 보낸 게임을 플레이하시는 것을 직접 봤는데 반응이 생각보다 좋아서 기분이 좋았었다. https://www.youtube.com/watch?v=-w90KlwaKNA

게임 개발 동아리 GAMPOT에 들어오고 처음에 합을 맞춰보자는 취지로 3월부터 약 한 달간 미니 프로젝트를 진행하였다. 그동안 혼자서만 공부해오다가 이렇게 팀을 짜서 협업을 통해 게임을 만들어보니 어려움도 있었지만 여러가지를 배우면서 재미있게 게임을 만들었던 것 같다. 개발은 유니티를 이용하였다. 프로젝트를 진행하면서 아쉬웠던 점들 1. 각자 지향하는 코딩 스타일이 달랐던 점 각자 역할을 나눠서 진행을 했는데, 작업한 부분들을 연동하는 부분에서 각자의 스타일이 다르다 보니 코드의 확장성 이라던가 재사용성 등이 좀 떨어져서 깔끔하지 못한 코드들이 좀 많았던 것 같다. 2. 다른 팀원들(기획, 아트) 과의 소통의 부재 개발을 진행하면서 의문이 가는 점 등을 해결하기 위해 다른 팀원들과 소통을 많이 했어야 ..

Generic (일반화) List intList; List floatList; 앞에서 배운 List에도 Generic이 사용되었다. 안에 타입 형식을 넣어서 원하는 타입의 리스트를 만들 수 있다. class MyList { public T a; public T foo(T val) { return val; } } MyList myIntList = new MyList(); 이런 식으로 클래스에 Generic을 사용하면 원하는 타입으로 객체를 만들 수 있다. object val1 = 3; // val1 : object타입 var val2 = 3; // val2 : int타입 object 타입 : 모든 타입을 포함하는 타입, 참조 타입이다. var 타입 : 뒤에 오는 변수를 보고 타입을 추측해서 그 타입으로 적..
자료구조 : 데이터를 저장하는 여러가지 방식? 배열 int[] values = new int[10]; int타입의 변수를 10개를 가지고 있는 배열 배열의 인덱스는 0부터 시작이므로, values[0] ~ values[9] 까지 존재한다. values[0] = 10; values[1] = 20; values[2] = 30; values[10] = 40; //error 위의 코드와 같이 값을 할당할 수 있고, values의 인덱스는 0~9인데 10에 접근하면 오류가 난다. values.Length // 10 Length를 이용해 배열의 크기를 구할 수 있다. values.Length * sizeof(int) int의 사이즈는 4KB이고 values는 길이가 10이기때문에 values의 크기는 4 * 10 ..
객체지향의 시작 절차지향 : 함수의 호출 순서대로 순차적으로 진행되는 프로그램, 유지보수가 어렵다는 단점이 있다. 객체지향 : 객체를 중심으로 진행되는 프로그램 class를 이용하여 객체를 만들 수 있다. class Knight //객체를 만들기 위한 틀 (붕어빵 틀) { public int hp; public void Move() { //move } } Knight myknight1 = new Knight(); //객체1 (붕어빵 1) Knight myknight2 = new Knight(); //객체2 (붕어빵 2) 만들어진 객체(붕어빵) 은 class (붕어빵 틀) 에 있는 속성들을 가지고 있다. myknight1.hp = 100; //100의 체력을 가진 기사 myknight2.hp = 150; ..
if와 else if : 뒤에 오는 조건이 참이라면 실행 else if : 위의 if문의 거짓이고 뒤에 오는 조건이 참이라면 실행 else : 위의 if문이 전부 거짓일 때 실행 switch switch ( choice) : choice에는 정수나 문자열 가능 { case 0: (~~~) : choice가 0일 때 실행 break; case 1: (~~~) : choice가 1일 때 실행 break; default: (~~~) : 위에서 걸러지지 않을 떄 실행 break; } 삼항연산자 : bool a = 조건식 ? 맞을 때 : 틀릴 때 (나는 별로 선호하지 않음) 가위바위보 Random rand = new Random(); int randVal = rand.Next(0, 3); rand.Next(a, ..