분류 전체보기 46

241002(수) [팀과제: 로딩 구현]

오늘은 콘솔 부분을 건드려 보았다.Console.Write("던전에 입장중 입니다");for (int i = 0; i  단순히 콘솔이라고 해서 바로바로 창을 넘어가는것보다는실제 게임처럼 로딩 과정을 거쳐 던전에 입장하면 조금 더 낫지 않을까 생각하여반복문을 통하여 추가했다. Beep는 경고음  실행장면 보통 게임이라고 하면 인트로에 스토리를 넣기에이부분도 유니티에 startscene처럼 새로 만들어서 콘솔 기능을 넣을까 고민했는데아직은 다른 기능에 조금 집중해야 할때인것 같아 보류 콘솔 기능을 찾아보니 단순히 색을 바꾸는 것 뿐만 아니라 정말 다양하게 있었다. 활용만 한다면 콘솔창이지만 진짜 게임같은 기능도 추가할 수 있을 것 같다. foreach문을 활용하여 문장이 입력되는 기능도 있다.foreach ..

개발일지 2024.10.02

241001(화) [팀과제, 인터페이스와 열거형]

팀과제 부분 스킬을 추가했다. 각 직업군 특성에 맞는 스킬과 확률에 따른 치명타 구현 코드 작성시 빨간줄이 떠서 확인을 해봤다. 문제점: 스킬 2가지를 구현했고 도적에만 적용되는 스킬(재화 획득)과 궁수와 전사에 적용되는 스킬(공격력 증가)이 따로 적용했는데인터페이스에 관련 메서드를 둘다 넣어서 클래스에 둘다 구현하지 않으면 오류가 발생했다.도적엔 공격력 증가 스킬이 필요가 없고  궁수와 전사에는 재화 획득 스킬이 필요가 없는데인터페이스 특성상 인터페이스에 구현되어 있는 내용을클래스에 구현 하려다 보니 둘다 구현할 수 밖에 없게된 것이다. 시도한부분: 해당 클래스에 사용하지 않은 메서드도 구현하여 우선 빈칸으로 두었다. 해결방법: 인터페이스에 2개의 공통 메서드를 지우고 각기 다른 클래스에 메서드를 구현..

개발일지 2024.10.01

240930(월) [C# 배치고사]

오늘은 주제가 모호해서 자유게시판 입니다.몬스터 클래스에 유저 공격 시, 데미지를 줄 때, 받을 때 함수를 추가했다. 사실 마음만큼은 좀 더 많은 걸 구현하고 싶은데 아직 내 레벨에는 그렇지 못해서 아쉬울따름.. C# 배치고사도 봤다 근 처음 볼 때는 풀릴 것 같은 문제가 쉽게 풀리지 않은 경우도 있었다. 물론 풀리는 문제도 있었다. 특히 못 푼 것 중에 기억나는 건 sort(배열정렬) 문제인데 절대 못 잊을 것 같다. (그런 단순한 문제라니...) 후반 문제는 강의 내용이 어렵다 보니 1회차때 그냥 흘려들은 게 많아서 과감하게 넘겼다.. 강의내용이 3-3 고급 문법부터 어려워지는 느낌이라서 2회차부터는 제대로 정리해보고 코드도 따라치면서 이해해야겠다. 갈 길이 멀지만, 그냥 하지 뭐.

자유게시판 2024.09.30

240927(금) [해설 강의를 통해 추가로 알게 된 부분 정리]

저번에 적은 내용은 제외하고 정리했다. 먼저 문자에 대한 예외 처리int result;while (true) // 반복해서 실행할 수 있도록{ string input = Console.ReadLine(); bool isNumber = int.TryParse(input, out result); // 문자에 대한 예외처리 코드 if(isNumber) { break; } Console.WriteLine("잘못된 입력입니다");} 해설더보기사용자가 입력한 값이 input 변수에 저장되고 TryParse에 int 결과가 들어감 입력한 값이 숫자가 아니라면 TryParse 의 값이 False 처리되므로  if문을 빠져나가고 while문을 다시 반복입력한 값이 숫자..

개발일지 2024.09.27

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

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

개발일지 2024.09.26

240924(화) 프로그래밍 공부 마인드 세팅

정독한다. (강의 보기)익힌다. (실제 코드를 통한 실습)재해석한다. (나만의 관점으로 다시해보기) 뜻의 해석은 개개인마다 다르겠지만, 내가 이해한 내용은 괄호의 내용과 같다.어쩌면 지금 내 상황에 가장 맞는 말이 아닌가 싶다. 지금의 어려운 개념을 완벽하게 이해하려고 하지 말고실습 위주로 학습하여 나만의 것으로 만드는 방법은 생각해보면정말 코딩뿐만 아니라 모든 분야에 잘 쓰는 방법인 것 같다. 과거에 어렵다고 생각한 자격증을 취득할때도 지금 생각해보면 꾸준한 반복으로 내 것으로 만들었었기에 매일 이 글을 보며 앞으로는 공부방식을 조금씩 바꿔 나가야겠다.

자유게시판 2024.09.24

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