내일배움캠프 60

TEXT RPG 만들기2 (인벤토리 만들기, 장착 관리)

어제 만들었던 Text Rpg를 이어서 인벤토리를 구현해자 public interface Item{ public string Name { get; } public int State { get; } public string ItemType { get; } public string Description { get; }}public class Items{ public string Name { get; set; } public int State { get; set; } public string ItemType { get; set; } public string Description { get; set; } public bool IsEquip; public It..

TEXT RPG 만들기(기본 틀 다지기, 상태창 만들기)

C# 기본 문법을 배운지 4일차 아직까지는 기본 문법만 공부해서 그런지 아직까지는 큰 무리는 없는것 같다(강의 숙제가 힘든건 함정.....)  그래서 이번까지 배운 문법을 활용해서 TEXT RPG를 만드는 것이 목표이다. 우선 interface를 활용하여 플레이어의 인터페이스를 구현하자public interface ICharacter{ string Name { get; set; } string ClassName { get; } int Health { get; set; } int Attack { get; } int Defence { get; set; } bool IsDead { get; } void TakeDamage(int damage);}public class Pl..

C# 문제 (간단한 콘솔 게임 만들기)

1번 문제 : 숫자 맞추기 게임 만들기 풀이 : Random()함수를 이용해 랜덤 값을 number에 저장을 하고 사용자가 입력한 숫자와 number가 서로 다르면 while문이 계속 작동을 할 수 있게 작성을 한다.while문 안에서는 if문을 통해 number의 숫자보다 크거나 작으면 다른 숫자를 입력하라는 문구가 출력되고 number의 숫자를 맞추면 축하 문구와 함께 시도 횟수를 출력해준다.int number = new Random().Next(1, 101);int count = 0;int inputnum = 0;Console.WriteLine("1부터 100 사이의 숫자를 맞춰보세요");while (inputnum != number){ Console.Write("숫자를 입력하시오 : ");..

C# 문제 (변수와 자료형, 연산자와 문자열 처리)

문제 1 : 사용자로부터 이름과 나이를 입력 받고 출력하는 코드를 작성하세요 풀이 : C#에서 사용자의 입력을 받는 ReaLine()을 사용하여 사용자 입력을 받고 input.Split()을 사용하여 띄여쓰기를 확인해서 문자열과 정수를 따로 저장해서 출력해준다.Console.Write("이름과 나이를 입력하시오 : ");string input = Console.ReadLine();string[] data = input.Split(' ');string name = data[0];int age = int.Parse(data[1]);Console.WriteLine($"이름 : {name} 나이 : {age}");문제 2 : 사용자로부터 두 수를 입력 받고 간단한 사칙연산 결과를 출력하세요 풀이 : 문제 1번처..

C# 입문 (변수와 자료형)

오늘 드디어 사전캠프때 부터 기다리던 C# 기초 문법에 대해 강의가 올라왔다. 전에 대학교에서 C++이랑 Python을 배울때도 그랬지만 어떤 코드를 배우든 변수와 자료형은 컴퓨터 언어의 처음이자 컴퓨터와 대화의 첫 발자국입니다.변수와 자료형을 한글로 비유하면 자음과 모음같은 느낌이다. 이 두가지를 알아야 컴퓨터와 대화가 가능기 때문입니다.물론 자음과 모음을 안다고 바로 대화를 할 순 없겠지만 이 두가지 조차 모르면 대화를 시도 조차 할 수 없기에 변수와 자료형은 컴퓨터 언어의 시작이자 자음과 모음 같은 것 입니다. 자료형 (Data Type)자료형(Data Type)은 데이터를 식별하는 분류로 데이터의 종류와 크기를 정의합니다. C#에서 가장 많이 사용되는 기본 자료형은 다음과 같습니다.자료형.NET ..

2025-01-23 Slider(슬라이더)로 오디오 볼륨 조절

유니티에서 Silder를 이용해서 오디오 볼륨을 조절하는 기능을 구현해 보았다. 우선 GameObject를 만들어 AudioManager라고 이름을 지어주고 AudioManger.cs 스크립트를 만들어 붙여준다.  AudioManager.cs 스크립트를 열어 코드를 작성해준다.using UnityEngine;using UnityEngine.UI;public class AudioManager : MonoBehaviour{ public AudioSource bgmSource; public Slider bgmVolumeSlider; public AudioClip clip; private void Awake() { bgmSource = GetComponent(); }..

2025-01-22 List<T>, Array, Dictionary(Tkey, TValue) 비교

어제 딕셔너리(Dictionary)에 대해 배웠는데 리스트(List), 배열(Array)와 차이가 궁금하여 구글링도 하고 ChatGPT에 물어보기도하고 김재경 튜터님에게도 물어 보았다. 김재경 튜터님의 말씀으로 딕셔너리를 이해를 하려면 리스트와 배열을 알아야한다. 리스트와 배열에서 필요한 A데이터를 찾는다면 리스트와 배열 내부에 있는 데이터들을 순차적으로 비교를 하면서 A데이터를 찾기 때문에 시간이 오래 걸릴 수 있다. 하지만 딕셔너리는 Key값과 Value값이 1대1 대응하기 때문에 Key 값으로 바로바로 필요한 데이터를 빠르게 찾을 수 있다고 하셨다.   리스트 (List )특징저장 공간 크기가 가변적내부적으로 배열을 사용하지만, 데이터가 추가되면 자동으로 크기를 늘려 관리순서를 유지하며 데이터에 접..

2025-01-21 Dictionary(딕셔너리)

오늘은 미니 프로젝트로 사전 캠프때 만들었던 카드 뒤집기 게임을 가지고 팀원과 역할을 나누어 기능 추가 및 UI 변경을 하였다. 게임의 기능이 어느 정도 완성이 되서 GitHub로 서로 공유하고 기능을 합치는 과정에서 조금 이해가 늦어 지는 부분이 있었는데 public static Dictionary names = new Dictionary();public static Dictionary clears = new Dictionary();void Start(){ names.Add(1, "name_LJG"); names.Add(2, "name_BSY"); names.Add(3, "name_CJH"); names.Add(4, "name_JHG"); names.Add(5, "name_P..

2025-01-20 GitHub 사용일지

오늘 팀 프로젝트를 위해 GitHub 사용 방법에 대해 강의를 들었다. GitHub 파일 업로드우측 상단에 File -> New repository 순서대로 눌러 Create a new repository 창을 열어준다 Name은 GitHub 내에서 표시되는 repository 이름을 적어준다. Local path는 내 컴퓨터 내에서 업로드할 파일 위치를 지정해준다. Git ignre는 Git에서 제외시킬 수 있는 설정 파일을 말하는데 설정 파일은 Unity에서 작업을 하니까 Unity로 설정 해준다. 이런 식으로 설정을 완료 해주면 Create repository를 눌러 만들어 준다  완료가 되면 이런 식으로 되는데 현재는 내 데스크탑에만 파일이 있는 것이라 중앙 상단에 Publish repositor..

2024-12-31 TIL

오늘은 옛날 부터 생각했던 탑뷰 슈팅 게임을 만들기로 기획을 하였다.시점을 탑뷰로 설정한 이유는 1인칭에 비해 탑뷰 시점이 좀더 편한한 마음으로 즐길수 있기 때문에 탑뷰 시점으로 정하게 되었다. 탑뷰 슈팅 게임에서 가장 중요한건 플레이어 캐릭터가 마우스 위치를 바라보면서 회전하는 기능이다.처음 이 기능을 구연하려고 했지만 캐릭터가 마우스의 위치와 상관없이 회전하게 되어 튜터님에게 조언을 얻어 구연을 할 수 있게 되었다. 내가 사용했던 방법은 Vecter3 mouse =  Input.MousePosition 으로 화면 좌표에서 직접적으로 마우스 위치 가져오기 방법을 사용했었는데 튜터님은 ScreenPointToRay을 이용해 월드 좌표에서 마우스 위치를 가져와서 활용하는 것이 더 좋다는 조언을 해주시면서 ..

사전캠프/TIL 2024.12.31