전체 글 63

[백준] 10809 - 알파벳 찾기

문자열.. 헷갈린다고 하면 문제가 있나요 string을 분명 썼던 것 같은데 왜 char 밖에 안되는걸까요 어째서.. word 배열에 값을 받아서 아스키코드를 활용해서 위치 값을 받아봤습니다. 출력 배열 초기화 위치값 받아오기 출력 간단하죵 #include int main (void) { char word[101] = {""}; int printValue[26] = {-1}; int count = 0; scanf("%s", word); for(int i = 0; i < 26; i++) printValue[i] = -1; while (word[count]) { int checkValue = word[count] - 97; if(printValue[checkValue] == -1) printValue[che..

BAEKJOON 2022.11.21

[백준] 4673 - 셀프 넘버

뭐라도 하는 삶을 살기 위해.. 백준을 조금씩 풀어볼까 합니다.. 오늘의 문제는 셀프 넘버! 무한 수열..이라니.. 뭔가 재귀가 쓰일 것 같고 ..그런 느낌..이라서..써봤습니다. 사실 재귀 진짜 못써서 이번에 거의 2번째.. 3번째 하는데 단순하게 조건을 나눠서 푸는게 좋았을지 재귀를 쓰는게 좋았을지는 잘 모르겠어요. (빅오표기법..같은거 분명 배웠는데 말이죠) 어쨋거나 중요한건 풀이방법! 생성자가 없는 숫자를 셀프 넘버라고 한다면 생성자를 전부 제거하면 된다! 10000짜리 배열을 만들어서 전부 0으로 돌리고 생성자를 해당 숫자 자리에 true 대신 1로 바꾸면 //bool로 할 걸 그랬나 싶기도 하고 값이 0인 결과만 출력하면 된다~~ #include int SelfNumber(int sum, in..

BAEKJOON 2022.09.18

gcc 명령어 정리

오백년만에 유니티가 아닌 다른걸 하려고 하니 기억이 1도 안나길래.. vscode 설치한 김에.. 정리합니다.. 앞으로 쭉쭉 추가해놓을게용 기본 출력 PS C:\Users\258xs\Desktop\vscode> gcc test.c //컴파일 PS C:\Users\258xs\Desktop\vscode> ./a //출력 빌드파일 명 지정 컴파일 PS C:\Users\258xs\Desktop\vscode> gcc -o test test.c PS C:\Users\258xs\Desktop\vscode> ./test 당장 기억나는게 이거밖에 없는데.. 열심히 해볼게요..?

카테고리 없음 2022.09.18

[UNITY] Lerp 오브젝트가 따라다니게 만들기

내가 이동하는 위치로 오브젝트가 따라오게 만들 때는 Lerp을 쓰면 쉽게 해결할 수 있다! public GameObject a; //이동 시킬 오브젝트 public GameObject b; //목표 위치 오브젝트 a.transform.position = Vector3.Lerp(b.position, a.position, Time.deltaTime * 변수); a.transform.rotation = Quaternion.Lerp(b.transform.rotation, a.rotation, Time.deltaTime * 변수); Lerp(목표 위치, 현재 위치, 걸리는 시간) //시간이 커지면 빨라짐 요렇게 하면 내가 이동하는 위치로 오브젝트가 졸졸 따라오게 할 수 있다! 나는 캐릭터가 움직이면 UI가 거기에..

UNITY 2022.08.23

[UNITY] FillAmount를 사용하여 체력바(HP/MP) 만들기

유니티에서 체력바를 만들어보자! 우선 UI에서 이미지파일을 생성한다. 하이라어키에서 우클릭으로 UI-Image를 누르면 캔버스와 함께 생성된다. 생성된 이미지의 Source Image에 이미지 스프라이트를 넣어주자. 적당한 스프라이트를 추가해주고 이미지타입을 Filled로 바꿔준다. 기본 설정은 원형으로 없어지는데 HP는 옆으로? 없어지니까 설정을 Horizontal로 바꿔주면 된다. horizontal로 변경해주면 Fill Amount값에 따라서 이미지가 변하는 모습을 볼 수 있다. 0부터 1까지의 값으로 조절할 수 있다. 체력바를 관리해줄 스크립트를 하나 만들어준다. 이미지에 접근하기 때문에 UnityEngine.UI를 추가해준다. 스크립트를 이미지파일에 넣을 것이기 때문에 GetComponent로 ..

UNITY 2022.08.13

[UNITY] 애니메이션(animation) 사용하기

애니메이션을 만들 수 있다면 좋겠지만.. 3D 모델링을 할 수 있다면 좋겠지만.. 그게 어려운 경우! 유니티에서 제공하는 애니메이션을 사용하여 간단한 애니메이션을 사용할 수 있다! 애니메이션 창은 window- animation - animation에서 열 수 있다. 애니메이션 창은 요렇게 생겼다. 애니메이션을 만들 때는 내가 애니메이션을 넣을 오브젝트를 클릭한 상태에서 create를 눌러야한다. (위의 창은 player라는 이름의 오브젝트를 선택한 상태여서 player로 나온다) 파일을 생성하면 이렇게 바? 형태가 나온다. 이번에 샘플로 만들어 볼 것은 상자 열기! 왼쪽 하단의 add property를 통해 애니메이션을 넣어 줄 속성을 고를 수 있다. rotation을 선택하고 옆에 있는 타이머 바를 ..

UNITY 2022.08.10

[UNITY] Instantiate 플레이 중 아이템 생성하기

특정 조건에서 아이템을 생성할 필요가 있는 경우가 있다. 예를 들자면 지금 내가 이 코드를 사용하는 총알을 생성하는 경우랄까 Instantiate를 사용하면 원하는 위치에 원하는 오브젝트를 생성할 수 있다. 기본적인 사용 방식은 이렇게 된다. GameObject 오브젝트명 = Instantiate(GameObject, position, rotation); 내가 생성할 오브젝트를 GameObject칸에 생성된 아이템의 position은 postition에 생성된 아이템의 rotation은 rotiation에 넣어주면 된다. 사용은 이런식으로 할 수 있다. bullet 오브젝트를 public으로 받아오고 복제된 bullet 오브젝트를 스크립트가 붙어있는 오브젝트의 위치에 생성한다. public GameObj..

UNITY 2022.08.01

섹션 2 : 장애물 코스 - 1

멍하! 전에 구매한 강의! 아직 기초적인 부분이라 새로운 내용이 많지 않았다. Start()나 Update(), 변수란 무엇인가 설명 정도? SerializeField 활용 형식 [SerializeField] float moveSpeed = 3f; 직관적으로 보이는 특징은 인스펙터 창에서 변수값을 변경할 수 있다는 점이다. 그렇다면 public과의 차이점은 무엇일까? public은 다른 스크립트에서 참조할 때 사용한다는 점을 생각하면 바로 답을 알 수 있다. SerializeField public 인스펙터창에서 값 변경 가능 인스펙터창에서 값 변경 가능 참조 불가능 참조 가능 실수로 다른 스크립트에서라도 값을 바꾸는 일이 발생하지 않도록 참조는 불가능하지만 인스펙터에서 값은 변경할 수 있게 해주는 것이다..

섹션 1 : 소개와 설치

멍하! 이것저것 바빴던 5월을 지나 6월이 되었으니 새로운 마음으로 다시 열공하겠다는 마음을 먹었다.. 전에 사놨던 유데미 강의도 들을 겸 필기도 할 겸 이것저것 해서 블로그에 적기로 했다! 섹션 1은 유니티를 설치하고 오브젝트 생성하는 기초적인 내용이지만 알아두면 좋은! 하지만 알려주지 않으면 모르는 정보들을 조금 정리해보았다~~ Q W E R T 유니티를 다루다보면 당연하게 오브젝트를 수정할 필요가 있는데 그때 사용되는게 좌측 상단에 있는 이 버튼이다. 하지만 오브젝트를 수정할 때 마다 마우스로 누르면 굉장히 귀찮고 불편하니 유니티에서 제공하는 단축키를 쓰자! 오브젝트를 편집할 때 1. 위치 이동 보이는대로 화살표를 사용하여 오브젝트의 방향을 조절할 수 있다. 이때 중요한 것은 선이 아닌 평면을 사용..

[UNITY] 코루틴(Coroutine) 사용하기

코루틴은 실행을 일시 중지하고 Unity에 제어 권한을 반환한 후 다음 프레임에서 중단했던 위치에서 계속할 수 있는 함수와 같습니다. -Unity 매뉴얼 간단하게 말하자면 리턴을 하는 시점에서 리턴값(시간)만큼 멈췄다가 시간이 지나고 다시 호출되면 멈췄던 부분에서 다시 실행한다. 일반적인 반복문 같은 경우는 빠르게 실행되기 때문에 점진적인 변화를 시각적으로 제공할 수 없다. 하지만 코루틴은 return부분에서 타임 딜레이를 넣을 수 있어서 변화를 시각적으로 체감할 수 있다. 코루틴을 사용하는 기본적인 방법은 StartCoroutine(함수명); 을 통해 호출한다. private void Start() { StartCoroutine(함수명); } IEnumerator 함수명() { yield return ..

UNITY 2022.05.10