본문 바로가기

전체 글475

프로그래머스 - 2017 팁스타운 -예상 대진표 - C++ / 기본 수학 코딩테스트 연습 - 예상 대진표 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr 문제 설명 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N번의 참가자끼리 게임을 진행합니다. 각 게임에서 이긴 사람은 다음 라운드에 진출할 수 있습니다. 이때, 다음 라운드에 진출할 참가자의 번호는.. 2021. 6. 27.
GetComponent<> 이렇게 유니티 창에다 Player Rigidbody 같은 변수를 갖다 두면 기획자가 드래그 앤 드롭 하면서 오류를 낼 수 있음. 그래서 이 변수를 숨기고 싶은데 숨기면 또 speed가 Rigidbody를 받아와야하는데 없으니까 에러가 남. 해결책은? 코드로 가져오기! GetComponent는 게임 오브젝트를 뒤져서 안에 명시한 타입을 찾아줌. 드래그 앤 드롭 한 것과 똑같은 효과가 남. 는 Generic이라고 부르는 문법인데 특정 타입에 대해서 함수를 실행함. 즉 Rigidbody에 대해서 GetComponent를 하겠다. 정리 드래그 앤 드롭으로 컴포넌트를 적용해줄 수 있지만 이 방법은 잘못 드래그 하면 실수가 날 수 있음. 그래서 private로 안보이게 한 뒤 코드 상에서 start안에.. 2021. 6. 26.
velocity(속도) / 소코반 - 플레이어에 관성 없애기 AddForce는 힘을 주는 것임. 힘을 주면 그게 바로 속도가 되는 것이 아니라 힘을 주면 힘이 누적되어서 속도가 됨. 즉, 내부에서 물리적인 계산이 들어가서 속도가 되는 것임. 힘을 주면 줄수록 속도가 빨라지는 방식이라서 즉 관성이 붙어 있어서 조작이 힘듦. 그래서 힘을 거쳐서 속도가 되는 것이 아니라 아예 속도 자체를 하드하게 바로 집어넣고 싶다! 즉, playerRigidbody에게 속도(velocity) 그 자체만 덮어씌우자! AddForce는 함수인 반면 velocity는 변수임. 그래서 여기 값을 지정하면 그게 바로 속도가 됨. 그리고 velocity는 vector3를 사용함. vector3는 x,y,z를 가지는 집합 이렇게 고치면 빠릿빠릿하게(관성 없이) 움직이는 것을 확인할 수 있음! 2021. 6. 26.
키보드 Customization / GetAxis 마우스 상 하 좌 우를 조절할 때 처음엔 이렇게 썼음. 하지만 딱봐도 귀찮고 길다. 문제점 두가지. 1. 키보드 키를 하나씩 명시하고 싶지 않다. (W,A,S,D..) 2. 수직, 수평 방향을 꼭 네가지 케이스로 나눌 필요가 있을까? 해결 방안 예를 들어, 발사 기능에는 "Fire"라는 키보드 세팅 기능이 있음 즉 실제 게임에서는 처럼 기능을 1:1로 매핑하지 않음 그 사이에 Fire라는 이름을 한 번 거쳐감. 왜 이렇게 할까? 게임을 할 때 마우스 왼쪽 입력을 바로 들어가는게 아니라(이렇게 안한다 예시) Fire 라는 이름에 들어가니까 마우스 왼쪽 버튼이 있는거임. ( 발사 기능 - "Fire" - 마우스 왼쪽 버튼 ) 이렇게 하면 customization을 할 수 있음. // 이렇게 안한다. if(입.. 2021. 6. 26.
OOP(Object-Oriented Programming) 언어 - 사람에게 직관적 - 기능과 자료를 하나의 개체(Object)에 합침 - 물체의 개념 - 오역 때문에 객체라고 주로 부르긴 함 - 가장 널리 쓰이는 프로그래밍 패러다임 - 사람에게 매우 직관적이고 - 복잡한 프로그램의 구조를 잡기 쉽다 변수는 값 자체가 아니라 값을 가리키는 화살표다. 변수는 실제 존재하는 오브젝트의 살아있는 그림자일 뿐 오브젝트 그 자체가 아님. =는 jack이라는 그림자에게 새로 탄생된 Animal을 붙여주는 것. nate=jack; jack이라는 변수가 가지고 있던 화살표가 nate에게 덮어씌워지는 것. nate가 가리키던게 사라져서 미아가 됨. 이걸 c#이나 자바에서는 garbage 컬렉션이라 해서 지워주는데 이걸 Call by Reference 라고 부름. 즉, 변수는 실존하는.. 2021. 6. 18.
변수, 함수, 스코프, 형변환, 배열 Scope: 변수가 관측 가능한 영역 Start()부분에서는 GetRadius()부분의 radius 변수가 안보임 형변환 배열: 여러개의 값을 하나의 변수로 다루게 해준다. 2021. 6. 17.