게임 프로그래머가 되고 싶다는 막연한 생각을 가지고 프로카데미 게임개발 입문 개론을 들어봤습니다. 후회없는 선택이였고, 정말 많은 내용을 알 수 있었습니다. 제가 보고 들은 내용을 보시고 게임개발에 대해서 고민을 하고 계시는 분들에게 많은 도움이 되었으면 좋겠습니다. 질문은 언제나 환영입니다! 1. 게임 프로그래머의 종류 흔히 우리가 말하는 게임 프로그래머는 클라이언트 프로그래머를 말합니다. 클라이언트 프로그래머는 실제로 눈에 보이는 그래픽들이나 애니메이션, 행동, 퀘스트, UI등을 디자인하고 프로그래밍 합니다. 보통 클라이언트 프로그래머는 Unity나 Unreal이라는 게임엔진을 주로 사용하고, 펄어비스나 Colud Imperium Games와 같이 자회사의 게임엔진을 사용하는 회사 또한 존재합니다. ..
책 ) 뇌를 자극하는 TCP/IP 소켓 프로그래밍 코드는 두가지로 Server 코드와 Client 코드 두개로 나뉘어집니다. 책을 공부하면서 원래는 기본적인 Socket 통신은 알고 있었지만, 구조체를 통해서도 데이터를 전달할 수 있다는 것을 알게 되었습니다. 따라서 소켓 프로그래밍을 할때 어떤 방식으로 구조체 데이터를 넘기는지 확인하시면 될 것 같습니다. // DoummyClient #pragma warning(disable:4996) #include #include #include #pragma comment(lib, "ws2_32.lib") #define PORT3600 #define IP"127.0.0.1" void HandleError(const char* cause) { int errCode ..
책 ) 뇌를 자극하는 TCP/IP 소켓 프로그래밍 5장 파일과 소켓에 나오는 예제를 Window 식으로 바꿔보았습니다. 내용 자체는 간단해서 다른 설명을 추가하지는 않겠습니다. #pragma warning(disable:4996) #include #include #include #include #include //#include #define MAXLINE 512 int main() { FILE* source_fd; FILE* dest_fd; int readn; int totaln = 0; char buf[MAXLINE]; if (!(source_fd = fopen("test.txt", "r"))) { perror("Error : "); return 1; } if (!(dest_fd = fopen("co..
먼저 첫번째로 Position을 통한 파싱 방법이다. 아래의 코드를 보게 되면, Fpos, Lpos 두개의 변수를 선언하게 되는데, 각각 find_first_not_of, find_first_of 를 통해서 값을 받는다. size_t find_first_not_of(const char* s, size_t pos); -> str에서 s의 값이 아닌 첫 번째 위치 반환. size_t find_first(const char* s, size_t pos); -> str에서 s의 값이 존재하는 첫 번째 위치 반환. 이렇게 반환한 값을 토대로, substr을 하면서 값을 나눈다. #include #include #include void parse_to_position(const string& str, vector& ..
사용언어 : C++ BFS 사용하여서, 해결하면 된다. 다만 여기서 주의할 점은 날짜별로 체크하기 때문에, q.size만큼 다 돌린후 날짜 + 1을 하였다. #include #include #include #include using namespace std; #define MAXR 1001 vector arr; int visit[MAXR][MAXR] = { 0 }; int coun; queue q; void BFS(); int check[4][2] = { {1,0},{-1,0},{0,1},{0,-1} }; int N, M; bool compare(int i, int j) { return j < i; } int main() { ios_base::sync_with_stdio(false); cin.tie(0)..
사용언어 : C++ 자료구조 공부 및 알고리즘 공부를 위해서 27779번 문제를 풀어보았습니다. 여기서 저도 인접행렬을 통해서 문제를 풀어보려고 했으나, 배열 크기가 너무 커서 아예 생성조차 되지 않았습니다. 그래서 두번째로, 인접리스트를 공부하여 풀어보았습니다. DFS 자체는 깊이 우선탐색이기 때문에 하나를 깊게 들어간 후 백트래킹을 통해서 안간 곳이 있나 확인하면서 나오는 알고리즘입니다. #include #include #include using namespace std; #define MAXR 100001 vector arr[MAXR]; vector visit(MAXR, 0); int coun; void DFS(int start); int main() { ios_base::sync_with_stdi..
사용언어 : C++ 심심해서 Vector을 그냥 만들어 봤습니다. 심심할때 마다 기능을 추가할 예정이니 간단하게만 봐주세요! #include template class Vector { public: Vector() { this->size = 0; capacity = 5; data = new T[capacity]; } Vector(int num) { this->size = 0; capacity = num; data = new T[num]; } void push_back(T n) { if (size == capacity) { resize(capacity*2); } data[size++] = n; } void resize(int n) { capacity = n; T* tmp = new T[capacity]; ..
- Total
- Today
- Yesterday
- Select모델
- 정보보안
- 드림핵
- 컨퍼런스
- 스레드풀
- 알고리즘
- STL
- 링크드 리스트
- 개발
- 인제대학교
- c++
- 더블버퍼링
- 자료구조
- Dreamhack
- 학교
- 멀티쓰레드
- 백준
- 고양이
- BFS
- 시스템보안
- 레지스터
- 워셜알고리즘
- 지뢰찾기
- 야경
- 보안
- queue
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |