본문 바로가기

분류 전체보기106

[C#] 주소록 프로젝트 - 매서드 편 주소록 요구사항 이름,전화,주소를 입력/검색/변경/삭제/전체출력을 한다. 매서드 정의 01. 메뉴 반복 void MainLoop(); 02. 메뉴 출력 void PrintMenu(); 03. 메뉴 선택 int GetSelectMenu(); 04. 주소정보 입력(이름, 전화, 주소) void InputAddress(); 05. 주소정보 검색(이름으로 검색) void SerachAddress(); 06. 주소정보 변경(이름으로 검색 후 변경) void UpdateAddress(); 07. 주소정보 삭제(이름으로 검색 후 삭제) void DeleteAddress(); 08. 주소정보 전체출력 void PrintAllAddress(); 09. 프로그램 종료 void ProgramExit(); 10. 화면 지우기.. 2019. 3. 12.
[Unity] 06. 스카이박스(Sky Box) Sky Box 씬 뒤의 하늘 또는 먼 배경을 시뮬레이션 하기 위한 재질. 실존하는 것은 아님. 먼저 Asset Store에서 Skybox를 다운로드한 후 셋팅. [Window → Rendering → Lighting Settings] 2019. 3. 7.
[Unity] 05. 충돌(Colliders) Colliders Collider의 종류 이벤트, 트리거, 메세지와 같은 개념. 물리적 충돌이 발생했을 때 수행할 작업을 지정할 수 있는 컴포넌트이다. 1. Box Collider 가장 기본적인 상자 모양의 콜라이더로 캐릭터가 충돌을 일으키면 다른 씬으로 전환되는 포탈을 만들 수 있다. // CharacterController가 다른 물체의 Collider와 // 닿았을때 자동으로 호출되는 매서드 (반드시 충돌체가 있어야함) private void OnControllerColliderHit(ControllerColliderHit hit) { // 닿은 물체의 이름이 "portal" 일때 if (hit.collider.gameObject.name == "Portal") { Debug.Log("portal을.. 2019. 3. 7.
[Unity] 04. 애니메이션(Animation) Character Controller Slope Limit : 등판 각도 Step Offset : 계단 높이 Skin Width : 폭 너비(반지름의 10%가 이상적인 설정값) Min Move Distance : 최소 이동 거리 Center & Radius : Capsule Collider 컴포넌트와 같은 역할로 Character Controller에 내장되어 있음. 다른 물체와 접촉이 되었는가 안 되었는가를 물리적으로 계산함. 몸체에 맞게 하는 경우(연산이 많이 들어감) 또는 일반적으로는 캡슐 모양으로 준다. public float movSpeed = 5f; //이동 public float rotSpeed = 120f; //회전 CharacterController controller; //컴포넌트(기능.. 2019. 3. 7.
[C#] for문으로 최소공배수 구하기 Solution 1 int max = 0; Console.WriteLine("첫 번째 숫자를 입력하세요"); string str1 = Console.ReadLine(); int num1 = Int32.Parse(str1); Console.WriteLine("두 번째 숫자를 입력하세요"); string str2 = Console.ReadLine(); int num2 = Int32.Parse(str2); if (num1 < num2) max = num2; else max = num1; for(;true; max++) { if (max%num1 == 0 || max % num2 == 0) break; } Console.WriteLine(max); }Solution 2 int num0 = 0, num1 = 0;.. 2019. 3. 6.
[C#] while문과 do while문 비교 while문 while (true) { 실행문 } // 실행문을 무한히 반복하는 무한루프() 안이 참인 조건일 때 계속 반복하고, 거짓일 때 종료하는 문법. 프로그래밍의 시초인 자동화를 위한 문법 중의 기본이라고 볼 수 있겠다. while문을 실행하려면 시작 조건, 종료 조건, 실행문이 필요하다. 즉, '언제부터 언제까지 무엇을' 반복적으로 실행한다는 의미이다. int num = 0; //시작조건 while (num < 10) //종료조건 { Console.WriteLine("나무를 {0}번 찍었습니다", num++); //실행문 }do while문 처음부터 조건을 검사하지 않는 상황도 있다. 먼저 사용자로부터 변수 값을 입력받아야 할 때 등등. 이때, 최초 1회는 무조건 한번 들어와서 실행하고 그 다음.. 2019. 3. 5.
[Unity] 03. 지형(Terrain) 1. Paint Texture [마우스 우클릭 → 3D Object → Tettrain 생성] 이때, Terrain은 중심점의 위치가 모서리를 기준으로 (0,0,0)으로 찍히기 때문에 Position을 설정할 때 주의한다! [Inspector → Paint Terrain → Pain Texture → Edit Terrain Layers] Asset Store에서 미리 받아 둔 Asset을 가져온다. 그러면 아래와 같이 표면에 풀밭이 깔린다. 2. Raise or Lower Terrain 이제 지형을 만들어 주기 위해 표면에 굴곡을 줄 것이다. 마우스 좌클릭 하면 올리고, shift + 마우스 좌클릭 하면 내린다. 코멘트가 친절하게 안내해주고 있다. Brush Size와 Opacity를 조정해준다. 그 위.. 2019. 3. 4.
[C#] switch~case문 응용 switch ~ case문은 if ~ else문과 유사한 역할을 하지만 그 활용 범위가 좁다. 가령 특정한 값만 제어할 수 있어 범위는 제어할 수 없다. 그러나 전혀 방법이 없는 것은 아니다. switch ~ case문을 응용해 범위를 제어해보자.문제사용자에게 점수를 입력받아 90점 이상이면 "A학점" 80점 이상이면 "B학점" 70점 이상이면 "C학점" 60점 이상이면 "D학점" 60점 미만이면 "F학점"을 출력해보자. 해결[점수와 결과 변수 선언 → 입력 받기 → switch ~ case문을 응용해 구간별로 다른 학점을 결과에 저장 → 결과 출력]정수간 연산에는 소수점이 찍히지 않음으로 입력받은 점수를 10으로 나눈 결과인 '몫'을 구간 대신 case문에 적용할 수 있다. 단, case에 들어가는 값.. 2019. 3. 4.
[Unity] 02. 이동(Transform) 1. Movescale을 키우면 이동시마다 연산하기 때문에 성능이 떨어짐 → scale factor로 자체를 키운다.부모-자식 설정할때의 위치,각도는 부모객체의 좌표를 기준으로 하는 상대좌표이다.123456789101112 // 키보드 입력 float h = Input.GetAxis("Horizontal"); float v = Input.GetAxis("Vertical"); // 이동 거리 보정 : 디바이스에 따라 다른 프레임 호출 횟수에 영향을 받지 않기 위해 보정 // -> 성능 좋은 디바이스의 경우 같은 시간에 촘촘하게 움직이므로 매끄럽게 보여진다. h = h * Time.deltaTime * speed; v = v * Time.deltaTime * speed; // 이동 this.transform.. 2019. 2. 27.