본문 바로가기

분류 전체보기29

project2 개발일지 - 7 [Setting UI 기능 연결 마무리] Setting UI 기능 연결 마무리 목표키 설정 값을 입력 받고 저장하는 기능을 완성한다.로비에서 게임 설정을 눌렀을때 설정창 연결을 하고 esc 버튼을 통해다시 로비 창으로 넘어갈 수 있게 한다. 1. 버튼 ui 배치우선 설명하는 칸 옆에 버튼 ui를 배치해준다.상호작용 가능한 ui는 주황색을 기본적으로 배치한다.그리고 클릭 되었을 때는 빨간색으로 해당 ui가 클릭되었음을 알리며,그때 입력되는 값으로 키설정을 변경해주는게 목표다. 2. 코드작업private void ClickedKeySettingButton(PointerEventData data){ selected = data.pointerClick; selected.GetComponent().color = Color.red;} 다음은 키셋팅 버튼이.. 2025. 8. 11.
게임서버 1.멀티쓰레드 개론 멀티스레드 개론 – 게임 서버에서의 다중 작업 처리 방식게임 서버를 개발하다 보면 동시에 여러 작업을 처리해야 하는 경우가 매우 많다. 대표적으로는 수많은 유저의 패킷 처리, 월드 갱신, DB 연동, 로깅, 매치메이킹 등 서로 독립적인 흐름들이 동시에 요구된다. 이런 상황에서 효율적으로 대응하기 위해 사용하는 대표적인 기술이 멀티스레딩이다.멀티스레딩은 하나의 프로세스 내부에서 여러 실행 흐름(스레드)을 동시에 수행하는 방식이다. 이를 통해 서버는 하나의 스레드가 블로킹되더라도 전체 시스템이 멈추지 않고, 각기 다른 처리를 병렬적으로 진행할 수 있다.스레드의 기본 개념스레드는 프로세스 내에서 실행되는 가장 작은 단위로, 같은 주소 공간(메모리)을 공유하는 특징이 있다. 게임 서버 입장에서 보면, 클라이언트.. 2025. 7. 31.
백준 9655번 / S5 / C++ 문제주소 : https://www.acmicpc.net/problem/9655문제이름 : 돌 게임문제번호 :9655난이도 : S5소요시간 : 7m 8s 돌 게임 성공시간 제한메모리 제한제출정답맞힌 사람정답 비율1 초128 MB41560272192291366.370%문제돌 게임은 두 명이서 즐기는 재밌는 게임이다.탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다.두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다.입력첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000)출력상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY.. 2025. 7. 29.
project2 개발일지 - 6 [Setting UI 기능 연결2] Setting UI 기능 연결2 목표세팅을 저장하고 되돌리는 기능을 구현한다.버튼은 비활성화 상태에서 세팅을 바꿀 경우 활성화된다.이전 상태값과 현재 상태값을 비교해야 할 것 같다. 1. 저장, 되돌리기 버튼오른쪽 위에 비활성화 상태의 버튼을 두개 배치한다.Interactable을 꺼주면 비활성화 상태가 된다. 2. 이전 상태 저장하기저장 버튼을 활성화 하려면 이전 상태와 현재 상태를 비교해야한다.따라서 리스트로 각 설정의 값을 튜플 형태로 저장해준다.private List _sliders = new();private List _keys = new(); 이제 설정 UI가 켜질때 SettingManager에서 값을 받아와 이전상태를 저장해준다._sliders.Add((GetSlider((int)Slider.. 2025. 7. 29.
project1 개발일지 - 5 [scriptable object를 활용한 Base NPC ] 목표몬스터의 ai에는 크게 Idle, Attack, Chase, Die 상태가 존재한다.각 상태는 몬스터 별로 다양하게 존재할 것이다. 예를 들어 Chase 상태에서 일정 거리를 유지하며 Attack을 한다던가,Die에서 자폭을 하고 사라진다던가...따라서 각 상태에서 다양한 부품을 만들어 조립해 여러 종류의 몬스터를 만들 수 있다.이에 scriptable object를 활용한다. 1.scriptable object를 이용한 NPCStatehttps://docs.unity3d.com/kr/2022.3/Manual/class-ScriptableObject.html ScriptableObject - Unity 매뉴얼ScriptableObject는 클래스 인스턴스와는 별도로 대량의 데이터를 저장하는 데 사용할.. 2025. 7. 29.
유클리드 호제법 유클리드 호제법(Euclidean Algorithm)유클리드 호제법은 두 수의 최대공약수(GCD)를 효율적으로 구하는 알고리즘이다. 기원전 300년경 유클리드가 저술한 『기하학 원론』에서 소개된 방법이며, 오랜 시간이 지났지만 여전히 가장 널리 사용되고 있다.이론 설명유클리드 호제법은 다음과 같은 성질을 기반으로 한다.a와 b의 최대공약수는 b와 a를 b로 나눈 나머지 r의 최대공약수와 같다.즉, GCD(a, b) = GCD(b, a % b)이 과정을 나머지가 0이 될 때까지 반복하면, 그 마지막 b 값이 최대공약수이다. 이를 간단히 요약하면 다음과 같다.a를 b로 나눈 나머지 r을 구한다.a ← b, b ← r로 값을 갱신한다.b가 0이 될 때까지 위 과정을 반복한다.최종적으로 b가 0이 되었을 때의 .. 2025. 7. 28.