개발일지 37

240926(목) [개인 과제 해설 강의 시청 : 필수 기능]

개인 과제 해설 강의를 시청했다.과제의 목적: 학습한 내용을 어디에 사용하면 좋을지 게임 구현을 통해 알아가는 것 강의를 보면서 느낀 내 코드의 문제점1) 모든걸 main 함수로만 처리해서 코드가 길어지고 지저분한 느낌2) 코드를 적재적소에 활용하지 못함3) 아이템 선택 화면시 번호가 나오게 하는 방식 해결방법1) 코드가 공통되거나 자주 쓰는 기능은 따로 함수를 만들어 호출해주기2) 배열과 반복문을 적절하게 활용하여 코드의 가독성을 높힌다.3) 보간 기능, 배열, for문을 적절하게 활용 알게된 부분1) 사용자가 정해진 값이 아닌 다른 값을 입력할 경우 Try.parse 사용2) 삼항 연산자를 사용하여 IF문을 간결하게 표현가능3) contains 함수를 이용하여 해당 변수가 있는지 체크할 수 있다. 아..

개발일지 2024.09.26

240924(화) C# 문법 종합반 [클래스와 객체]

객체지향 프로그래밍(Object-Oriented Programming, OOP)의 특징특징1) 캡슐화: 데이터와 기능을 하나의 단위로 묶는것을 뜻함2) 상속: 기존의 클래스를 확장하여 새로운 클래스를 만듬- 부모 클래스의 동작과 특성을 자식 클래스가 상속받아 재사용 가능- 코드의 중복 감소, 클래스 간 계층 구조를 구성하여 코드의 구조화, 유지 보수 용이3) 다형성: 하나의 인터페이스나 기능을 다양한 방식으로 구현하거나 사용하는 능력- 하나의 메서드 이름이 다양한 객체에서 다르게 동작할 수 있도록 함- 유연하고 확장 가능한 코드 작성이 가능함, 코드의 가독성 재사용성 높임4) 추상화: 복잡한 시스템이나 개념을 단순화하여 필요한 기능에 집중5) 객체: 객체는 클래스로부터 생성된 실체, 데이터와 해당 데이터..

개발일지 2024.09.24

240923(월) C# 문법 종합반 [메서드와 구조체]

메서드(Method) 일련의 코드 블록으로, 특정한 작업을 수행하기 위해 사용되는 독립적인 기능 단위 메서드를 사용하는 이유1) 필요한 메서드를 호출하면 동일한 작업을 반복해서 수정 또는 구현하지 않아도 된다. (재사용성)2) 메서드를 사용하여 코드를 작은 단위로 분리하고 관리할 수 있다. (모듈화)3) 코드가 간결해지므로 읽기 편해지고, 코드 수정이 필요한 경우 해당 메서드만 수정하면 된다. (가독성, 유지보수성)4) 반복 작업을 메서드로 묶어 작업하므로 코드 중복 방지 가능(중복제거)5) 메서드를 통해 작업 단위 추상화, 메서드 이름을 통해 어떤 역할을 하는지 파악 가능 (추상화) 메서드의 구조, 문법[접근 제한자] [리턴 타입] [메서드 이름] ([매개변수]){ // 메서드 실행 코드} 접근제..

개발일지 2024.09.23

240923(월) C# 문법 종합반 [배열과 컬렉션]

배열동일한 자료형의 값이 연속적으로 저장되는 자료 구조 1차원 배열1) 동일한 데이터 유형을 가지는 데이터 요소들을 한 번에 모아서 다룰 수 있는 구조2) 인덱스[]를 사용하여 요소에 접근 가능 3) 선언된 크기만큼의 공간을 메모리에 할당받는다. 사용예시// 배열 선언데이터_유형[] 배열_이름;// 배열 초기화배열_이름 = new 데이터_유형[크기]; //// 배열을 한 줄로 선언 및 초기화데이터_유형[] 배열_이름 = new 데이터_유형[크기];// 배열 요소에 접근배열_이름[인덱스] = 값; 값 = 배열_이름[인덱스];int[] array1; // 선언array1 = new int [3] // 초기화int[]array1 = new int[3] // 선언 및 초기화array[1] = 0 ; // 배열 ..

개발일지 2024.09.23

240922(일) C# 문법 종합반 [반복문, 반복문 실습]

1) for문for (초기식; 조건식; 증감식){ // 조건식이 참인 경우 실행} 2) while문while (조건식){ // 조건식이 참인 경우 실행} 3) do-while문do{ // 조건식이 참인 경우 실행}while (조건식); while문과 차이점: 일단 먼저 1번 실행하고 이 조건을 검사한다. 4) foreach문foreach (자료형 변수 in 배열 또는 컬렉션){ // 배열 또는 컬렉션의 모든 요소에 대해 반복적으로 실행} 이상하게 자료형 변수 in 배열 이라고 하면 잘 안 외워지는데String item in inventory는 잘 외워진다. 똑같은 말인데 뭘까.. 5) break, countinuebreak : 반복문 중지 역할continue: 해당 회차 반복을 넘기..

개발일지 2024.09.22

240920(금) C# 문법 종합반 [조건문, 심화 실습]

switch문switch (변수나 식){ case 값1: // 값1이 나온 경우 실행되는 코드 break; case 값2: // 값2가 나온 경우 실행되는 코드 break; // ... default: // 모든 case문에 해당하지 않는 경우 실행되는 코드 break;} 알게된 부분: switch문의 default가 있는줄 처음 알게 됐다. if문 처럼 else 조건이 있구나 생각했다. 3항 연산자if문을 간단한 형태로 나타낼 수 있는 것으로 두 값을 선택할 수는 연산자다(조건식)? 참일 경우 값 : 거짓일 경우 값; 예시int currentExp = 1200;int requiredExp = 2000;# 삼..

개발일지 2024.09.20

240920(금) C# 문법 종합반 [1주차 숙제]

사용자로부터 입력 받기이름과 나이를 입력 받고 출력하는 코드를 작성하세요.이름을 string으로 나이를 int로 하는건지 헷갈려서 헤맸다.. (아래 2번째 코드)일단 string으로 통일해서 첫 코드를 작성했다. 첫번째로 한 방법// 이름과 나이를 입력 받고 출력하는 코드를 작성하세요Console.Write("이름 : ");string name = Console.ReadLine();Console.Write("나이 : ");string age = Console.ReadLine();Console.WriteLine("이름은 {0}, 나이는 {1}세 입니다.", name, age); 이용자가 Console.ReadLine에 입력하면 name, age 변수에 각각 정보가 저장되어 출력된다. 마지막줄에 $를 붙여 ..

개발일지 2024.09.20

240919(목) C# 문법 종합반 [프로그래밍 기본 요소, 변수와 자료형]

“Hello World” 코드 구조 // Hello World.csusing System;namespace HelloWorld{ class program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } }}  using System;  네임스페이스(System 네임스페이스)를 사용하기 위한 코드 namespace클래스 등을 담는 일종의 폴더 개념 console.Writeconsole.WriteLine과 다르게 줄이 바뀌어서 출력되지 않고 이어서 출력된다. 이스케이프 시퀀스(Escape Sequence)문자열 내에 특수한 문자를 포함시키기 위한 문자 조합\' 작은따옴표 ' 삽임\"큰따옴표..

개발일지 2024.09.19

240913(금) 미니프로젝트 [RigidBody 2D 특성]

오늘 미니게임프로젝트 발표가 있었는데다들 너무 잘해주셔서 잘 끝나서 다행이다  오늘은 rigidbody 2d에 대해 좀 더 공부했는데material에 Physics Material 2D 추가하면 오브젝트의 성질이 바뀌는걸 알게됐다 Gravity Scale이 기본 1로 설정 되어 있는데 중력의 영향을 적게 받으려면 0으로 변경 CollisionDiscrete에는 일반적인 충돌물체에 설정하고 Continuous는 고정되어 있는 오브젝트에 설정  Friction은 미끄러지는 정도Bounciness는 탄력성 튕기는 공을 만들려면 Friction을 0으로 Bounciness을 1로 만든다.

개발일지 2024.09.13