일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Unity
- LayerMark
- 유니티
- 양과 늑대
- 2D슈팅게임
- pccp 기출문제 3번
- dp 알고리즘
- 플레이어 이동
- Blend Type
- 오브젝트 풀링
- Animation State Machine
- Lv.3
- Algorithm
- Lv2
- Back Tracking
- 플레이어 방향전환
- Ainimation Blending
- pccp 기출문제 1번
- heap tree
- 9375번
- CSharp #자료구조
- 프로그래머스
- 미로 탈출 명령어
- Hp바
- 충돌위험 찾기
- 연속 펄스 부분 수열의 합
- dfs
- 백준 c++ 9375번
- C#
- pccp 기출문제 2번
- Today
- Total
목록2024/09 (11)
주녘공부일지
A* 알고리즘이란?다익스트라 알고리즘에서 동적 계획법(DP)을 적용시켜 확장한 최단 경로 탐색 알고리즘- 탐색이 가능한 모든 노드 중 현재 최적이라고 판단되는 노드를 탐색1. A* 알고리즘의 개념- 닫힌 목록 : 탐색이 끝난 노드들의 집합 ( 다시 탐색 X )- 열린 목록 : 탐색이 가능한 노드들의 집합 ( 닫힌 목록과 인접한 노드 )g(x) : 시작점을 기준으로 한 비용h(x) : 도착점까지의 예상 비용 // 휴리스틱 함수f(x) = g(x) + h(x) - 휴리스틱 함수 h(x)에 따라 성능이 변함 -> h(x) 이 g(x) or 0 인 경우 다익스트라 알고리즘과 동일 + 휴리스틱 함수란?현재 노드에서 목표 노드까지의 예상 비용을 구하는 함수 -> ex. 맨해튼 거리 함수, 유클리디안 거리 함수2..
https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 정답코드 및 핵심 아이디어, 유의사항마법의 엘리베이터 문제- 만약 자릿수가 증가된다면 다음 자리 값에 영향을 주므로 역순으로 1의 자리 수 부터 확인- 만약 5인 경우 다음 자리 수가 5 이상인지 확인하여 5 이상이라면 자릿수를 증가 코드 참조using System;using System.Collections.Generic;public class Solution{ public int so..
https://school.programmers.co.kr/learn/courses/30/lessons/340211 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1. 정답코드 및 핵심 아이디어, 유의사항로봇을 이용한 자동 운송 시스템을 운영했을 때, 충돌 위험 상황 발생 횟수를 구하는 문제- 충돌 위험 상황은 좌표마다 카운트 됨 ( 한 좌표에 2마리 이상이 있을 경우 1회 )- 문제의 그림을 기준으로 x축보다 y축을 우선으로 이동 ( 무조건 y축 먼저 이동 )- 모든 로봇의 이동 속도는 같으며, 로봇은 모든 경로를 이동할 때까지 멈추지 않음 풀이 순서 ( 이..
https://school.programmers.co.kr/learn/courses/30/lessons/340212 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 정답코드 및 핵심 아이디어, 유의사항제한 시간 내에 퍼즐을 모두 해결하기 위한 숙련도의 최소 값을 찾는 문제- 난이도에서 숙련도를 뺀 값이 현재 퍼즐을 틀리는 횟수가 됨- 퍼즐을 틀리는 여부에 관계 없이 퍼즐을 푸는 시간은 무조건 드는 시간- 현재 퍼즐을 틀릴 경우 이전 퍼즐을 다시 풀어야 함 -> ( 이전 퍼즐 풀이 시간 + 현재 퍼즐 풀이 시간 ) * 틀리는 횟수+ 이진 탐색 ( 최적화 )..
https://school.programmers.co.kr/learn/courses/30/lessons/340213?language=csharp 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 정답코드 및 핵심 아이디어, 유의사항동영상 재생기 문제- 현재 재생 중인 시간에서 10초 후, 10초 전 으로 넘어가는 명령어를 받음- 현재 재생 위치가 오프닝 구간인 경우 자동으로 오프닝이 끝나는 위치로 이동 코드 참조using System;public class Solution { public int GetTime(string str) { ..
1. 벽돌깨기 게임 ( WinAPI )- 알카노이드를 레퍼런스로 하여 제작한 게임https://github.com/godgjwnsgur7/WinAPI_BrickBreaking/tree/main/BrickBreaking WinAPI_BrickBreaking/BrickBreaking at main · godgjwnsgur7/WinAPI_BrickBreakingContribute to godgjwnsgur7/WinAPI_BrickBreaking development by creating an account on GitHub.github.com2. 게임 핵심 구현 요소1) Vector2- 위치 벡터, 방향 벡터 등 범용적으로 사용하기 편리하도록 Vector2 구조체를 구현하여 사용함struct Vector2{ ..
1. 콘솔 비행 슈팅 게임- 스테이지를 클리어하며, 최고 점수를 기록하는 게임- 스테이지가 지날수록 적 기체의 수, 체력이 늘어나며 난이도가 올라감https://github.com/godgjwnsgur7/C_FlightShootingGame/tree/main/C_FlightShootingGame/FlightShootingGame C_FlightShootingGame/C_FlightShootingGame/FlightShootingGame at main · godgjwnsgur7/C_FlightShootingGameContribute to godgjwnsgur7/C_FlightShootingGame development by creating an account on GitHub.github.com2. 게임 ..
게임 플레이 영상유한 상태 기계 ( FSM ) 를 기반으로 한 상태 관리1-1) 플레이어 상태 관리 ( Condition, Exit, Enter )protected EPlayerState _playerState = EPlayerState.None;public virtual EPlayerState PlayerState{ get { return _playerState; } protected set { if (_playerState == value) return; bool isChangeState = true; switch (value) { case EPlayerState.Idle: isChangeStat..
1. 동기화 처리서버 프로그래머 파트에서 제공한 RPC 함수를 필요에 따라 클라이언트에서 제어하며 사용함 1) 포톤에게 동기화 생성 요청모노비헤이비어포톤 클래스를 베이스 클래스로 상속받는 클래스를 가진 프리팹을 대상으로 해야 함- 생성된 오브젝트는 활성화되는 시점에 고유한 ID를 받고, 활성화시킨 클라이언트가 자신인지 확인할 수 있음- 동일한 프리팹을 방 안의 모든 클라이언트에 생성하고 완료 시점을 확인할 수 있음 ( 동기화 완료 ) > 같은 오브젝트가 모든 클라이언트에 존재함을 보장받음 2) 브로드캐스트 함수를 호출- 포톤을 통해 브로드캐스트 함수를 호출해 모든 클라이언트에 동일한 함수가 호출되게 함으로써 동기화 3) 변수 동기화FixedUpdate 주기를 기준으로 변수를 동기화하는 기능을 하기 위해 ..
1. 캐릭터를 제어하는 싱글톤 클래스- 내 캐릭터와 상대 캐릭터가 존재하기 때문에 제어권을 가진 '나의 캐릭터'만 제어하는 기능을 함- 캐릭터를 생성하고 생성 시 Action 대리자 메서드를 등록해 이벤트 발생을 감지 public void PlayerCommand(ENUM_PLAYER_STATE nextState, CharacterParam param = null) { if (activeCharacter == null || !activeCharacter.isControl) return; switch (nextState) { case ENUM_PLAYER_STATE.Idle: activeCha..