2024/09 20

24-09-30 C# Text RPG 팀프로젝트 02

순조롭다가도 순조롭지않게?? 흘러가는 팀프로젝트 순조로운 이유는 완전 벽처럼 느껴지는 어려움이 없기때문에순조롭지않은 이유는 뭘 많이 안한것같은데도 시간이 훌쩍 가기때문에.. 오늘은 개인 프로젝트에서 못 다 구현한 것들을 시도해봤는데, 상점에서 물건을 판매하거나 하는것이다.기존에 해본것들의 경험이 쌓이다 보니 점점 복잡한 문제를 마주하는 시선이 달라지고 있는것같다. 그렇게 꾸준히 경험을 쌓아가다보면 서서히 튜터님들같은 전문가처럼 될수 있을것이다.적어도 미전공자에겐 그리 보일것이다. 그런 꾸준함을 위해 나는 오늘도 블로그 글을 쓴다.

카테고리 없음 2024.09.30

24-09-27 C# Text RPG 팀프로젝트 01

생각보다 프로젝트 진행 속도가 더뎌진다..각자 개인 과제에서 했던 내용을 서로 조합해보는것만으로도 시간이 많이 들고있다!  속도가 더뎌진 요인은 시작할때 와이어프레임을 작성하는것을 비롯한 기획 활동보다 개인 과제 요소 재조합을 우선시한나의 결정이 결정적(ㅋㅋ) 이다...  시작 전에 충분히 프로젝트 진행 방향을 설정하고 갔어야 더 매끄러운 진행이 되었을것 같다..  오늘 진행하면서 느낀점과 배울점을 기술하겠다.. :  1) 클래스의 구성 방식 사전 합의 : 프로젝트를 구성할 클래스들의 맴버 변수들의 접근 제한자와, 명칭 표기법, 그리고 서로 값을 주고받는 방식들을 사전 합의해야 문제가 덜 일어날 것이다.접근 제한자와 get set 사용 방식으로 어떻게 클래스들끼리 변수의 값을 주고받을지, 그 방법을 사전..

게임개발/C# 2024.09.27

24-09-26 C# Text RPG 팀프로젝트 00

더보기Visual Studio / ctril + kd 로 정렬 정리 오늘부터 다시 팀활동이 시작된다, 개인 과제로 만들었던 RPG게임을 협업으로 더 확장해보는것이 과제이다.우리 팀은 서로 개인과제를 어떤식으로 만들었는지 같이 훑어보고 설명해보는 시간을 가졌고,그중에서 서로 마음에 드는 부분을 뽑아 팀 과제로 가져와 반영시키기로 했다. 그중 내 요소는 Stage 진행 방식과, Item을 중앙 집권화해 관리하는 방식이다.

게임개발/C# 2024.09.26

24-09-25 Text RPG 구현하기

오늘 드디어 Text RPG를 마무리하고 재출하는 날이 되었다. 그동안 작성한 코드들이 정말 많았으나,어떻게든 이 글에서 구현하는동안 배운것과 구현한 과정들을 요약 정리 해보도록 하겠다.  프로젝트를 한 클래스 안에서 클래스를 또 정의하고 메소드를 만들고하다가 몇백 줄이 넘어갔었는데,유니티에서 했던것처럼 스크립트 파일을 class별로 나누어 정리를 하다보니 이번엔 폴더를 쫙 펼치니 파일 주소 목록이 이렇게 길어졌다 ㅋㅋ 하지만 이렇게 나누어 관리를 하는것이 그렇지 않은것보다 몇백배는 더 편했고, 또 기존에 정의한 class를 파일로 빼는 단축키로..아....................어...............지금은 까먹어 버렸다......GPT 비서야 도와줘! [GPT가 답변해준 것] {Visual..

게임개발/C# 2024.09.25

24-09-24 C# 프로그래밍 기초 04

3) 델리게이트, 람다 및 LINQ{이 부분에서 꽤나 자주 사용되는 문법들이 등장한다고 한다!! 그리고 강의를 들어보니 진짜 잘 활용할수있을것같다!물론 이해를 완벽하게 했다면 말이다!     델리게이트{델리게이트란 메서드를 참조하는 타입이다(??) 이말은 잘 안와닿으니.. 메서드를 변수에 저장 할수 있다는걸로 이해하자.. 예제 1: 델리게이트를 선언해준뒤 메소드 두개도 선언, 그리고 메인에서 메소드들을 연결해서 한번에 호출해주는 모습이다.이걸 이용하면 대화문이라던지 여러가지 방식으로 사용할수 있을것 같다.  예제 2: 다음 예제에서도 무언갈 배울수 있었는데, event함수로 선언한 OnAttack 메소드(이벤트?)를 호출할때? 물음표를써서 null 조건부 연산자로 만들수 있다는것이다.OnAttack이 n..

게임개발/C# 2024.09.24

24-09-23 C# 프로그래밍 기초 03

어제 쓰던거에 이어서,,, 1) 인터페이스와 열거형{ 인터페이스 ( Interface ){ 인터페이스란, 클래스가 구현해야하는 맴버들을 정의하는 것이라 한다.즉 인터페이스가 클래스의 일종인것은 아니고, 클래스의 제약 조건을 명시하는 것이다.     예시 1 : 이동 구현 더보기   이렇게 interface와 그 맴버를 선언하고  후에 클래스를 선언해  클래스에 인터페이스를 달아줘 제약을 걸어주게되면 빨간줄이 뜬다 ; 인터페이스 맴버를 구현하지 않았기 때문에.    이렇게 클래스를 선언할때 클래스의 구성 요소를 인터페이스가 결정하는 방식이 되어, 클래스를 하나하나 선언할 필요 없이 인터페이스를 수정하고 적용시키는 방식으로 용이하게 작업할수 있게되는 것으로 이해했다.   메인에서 불러와 실행시킬땐 이런식으로..

게임개발/C# 2024.09.23

24-09-22 C# 프로그래밍 기초 02.7

오늘은 남은 강의를 마저 들으며 정리를 해보고자 한다. 강의 들은 내용)더보기1) 인터페이스와 열거형{ 인터페이스 ( Interface ){ 인터페이스란, 클래스가 구현해야하는 맴버들을 정의하는 것이라 한다.즉 인터페이스가 클래스의 일종인것은 아니고, 클래스의 제약 조건을 명시하는 것이다.    예시 1 : 이동 구현  이렇게 interface와 그 맴버를 선언하고  후에 클래스를 선언해  클래스에 인터페이스를 달아줘 제약을 걸어주게되면 빨간줄이 뜬다 ; 인터페이스 맴버를 구현하지 않았기 때문에.    이렇게 클래스를 선언할때 클래스의 구성 요소를 인터페이스가 결정하는 방식이 되어, 클래스를 하나하나 선언할 필요 없이 인터페이스를 수정하고 적용시키는 방식으로 용이하게 작업할수 있게되는 것으로 이해했다. ..

게임개발/C# 2024.09.22

24-09-21 C# 프로그래밍 기초 02.5

주말이라도 공부를 해야한다,, 왜냐면 C#의 길은 험난하니까,, 아무튼 어제 하던걸 이어서 정리해보겠다 out, ref 키워드{out, ref 는 메소드에 데이터를 전달할때 쓰는 키워드이다. out 은 메소드에서 값을 매개변수로 전달할때 쓰이고,ref 메소드에서 매개변수를 수정하여 원래 값에 전달하는데 쓰인다고 한다. Divide 메서드에서 매개변수 quotient와 remainder 앞에 out을 사용하여 값을 할당받고 호출 후에도 사용할수 있도록 하고,Main 메서드에서 Divide를 호출할때 quotient와 remainder를 전달, a와 b는 각각 7과 3이므로  quotient는 7 / 3의 결과인 2가,remainder는 7 % 4 의 결과인 1이 할당된다. 그렇게 값이 할당 되었으므로 Co..

게임개발/C# 2024.09.21

24-09-20 C# 프로그래밍 기초 02

휴일 지나고 나선 미니 프로잭트 기간때처럼 탠션과 집중력이 유지가 되질 않는다.. 의외로 혼자 공부하는건 적성에 맞지 않는걸까? 아니면 C#이 생각보다 어려운 탓인걸까? 오늘 뭘 배웠길래 이런 감상이 나왔는지 다음과 같이 서술하겠다.. 1)클래스와 객체{객체 지향 프로그래밍{ 객체 지향 프로그래밍 ( Object-Oriented Programming, OOP ) 에 대한 특징을 간단히 요약하자면 1. 캡슐화 : 관련 데이터와 기능을 한 단위로 묶어 안전성과 유지보수성을 높임 2. 상속 : 동물 안에 포유류가 있고, 포유류 안에 식육목 등이 있듯이 클래스를 확장시키는 메커니즘이다.이는 코드의 중복을 줄이고, 구조화와 유지보수를 용이하게 해준다. 3. 다형성 : 오버로딩과 오버라이딩을 통해 하나의 메소드로 ..

게임개발/C# 2024.09.20

24-09-19 C# 프로그래밍 기초 01

더보기visual studio 내에서 F9를 눌러 코드가 멈출 부분을 설정하고 디버그할때 사용할수 있다. 코드를 한칸 진행시키는건 F10 한번에 코드를 주석처리하는법은 Ctrl + K , C 주석을 푸는 방법은 Ctrl + K, U C#문법 종합반 1주차와 2주차를 완강했다. 1주차의 내용은 완전 기본적인 내용 복습하는 느낌이였지만 숙제에서부터 좀 어려워지기 시작했다 문제1 : 사용자로부터 입력 받기 이 문제는 이름과 나이를 입력받고 출력하는 간단한 코드를 작성하는 것이다. 단순히 Console.WriteLine()과 Console.ReadLine()을 사용해서 풀이했다.더보기Console.WriteLine("이름을 입력해주세요"); string name = Console.ReadLine(); Conso..

게임개발/C# 2024.09.19