목록노션 (34)
공부일지
자료구조(Data Structure) : 데이터를 효율적으로 액세스하고 조작할 수 있도록 구조를 만들어 저장하고 관리하는 것.어떻게 구현할지 - 자료형의 물리적 형태로 구현 추상적 자료형(Abstract Data Type, ADT) : 특별한 구현방법을 지정하지 않은 자료형알고리즘이 문제를 해결하는데 필요한 자료형과 그 자료를 사용한 연산들을 수학적으로 정의한 모델무엇이 구현되어야 하는지 - 자료형의 논리적 형태로 정의하는것 자료구조단순 구조(Primitive Data Structure) : 기본적 데이터 타입 ex) 정수 실수 문자 부울린선형 구조(Linear Data Structrue) : 앞 자료와 뒤 자료의 1대 1 구조.배열, 연결리스트, 스택, Queue 등비선형 구조(Non-Linear Da..
작성 목표데이터 구조와 자료형 개념의 구조화 스킵데이터의 종류 데이터 형식 : 기본 데이터 형식 + 복합 데이터 형식(구조체, 클래스, 배열 등등)복합 데이터 형식 → 오디오, 이미지 등등 표현 변수 : 데이터를 담는 메모리 어딘가에 존재하는 일정 크기의 공간프로그래머는 컴파일러에게 변수를 선언한다. 선언 동시 초기화 여러 변수 한번에 선언 : 동일 데이터 타입일 시 초기화(Initialization)최초의 데이터 할당.미입력 시 쓰레기 데이터 할당 → 소프트웨어가 예상치 못하게 동작.따라서 초기화하도록 C#이 칼들고 협박함.에러 메시지 + 실행 파일 미생성보통 0으로 초기화 리터럴(Literal : ‘말 그대로, 문자 그대로’)고정값을 나타내는 표기법int a = 100; (a : 변수, 100 : 리..
기본 데이터 형식 CPU 연산 장치ALU(Arithmetic Logic Unit) : 정수만 처리하는 장치FPU(Floating Point Unit) : 부동 소수점만 처리하는 장치따라서 CPU에게 데이터 종류에 따라 명령을 내려야 함.CPU는 데이터 타입 판단 능력 없음.컴파일러가 대리 업무 숫자 데이터 형식정수형 : 9가지왤케 많음?닭 잡는데 소 잡는 칼 쓸 수 없다고, 실제 사용되는 리터럴의 크기에 비해 과한 크기의 메모리 선언은 낭비이기 때문.추가로 char도 정수형1 바이트(byte) == 8비트(bit)바이트는 메모리의 주소나 CPU 처리하는 데이터의 단위. 예제 2진수, 10진수, 16진수 리터럴2진수 리터럴 : 0b 접두사byte a = 0b1111_0000;언더바(_)는 자릿수 구분자는 ..
아래에서 말해주는 내용은 신입 때 알려주지 않는 내용일 것이다. 들어가기에 앞서 질문하고자 한다. 게임이란 무엇인가? 많은 답들이 있겠지만 본 화자는 이렇게 말하고 싶다. 울티마 올라인을 만든 일원인 라프 코스터는 “라프 코스터의 재미 이론”에서 아래와 같이 말했다. “재미는 학습에서 나온다.” 학습? 좋다 그렇다면 하나의 학습을 가져와 보자. 이것을 외우는 학습을 진행해보자. 재미있는가? 없다면 왜 없다고 생각하는가? 이 학습이 재미가 없는 이유는 규칙으로 인한 학습이 없기 때문이다. 이번에는 덧셈을 학습해보자. 재미있는가? 재미 없는 이유는 난이도가 너무 낮아서 학습이 없기 때문인가?그 보다는 패턴의 복잡도가 너무 낮기 때문에 학습의 난이도가 낮기 때문이다. 그렇다면 다른 학습을 진행해보자. 지금 당..
팀 프로젝트 분석게임 소개벽돌 부수기 게임컨셉과 와이어프레임 담당한 역할 게임 속 기능들 분석게임 화면: 게임을 플레이할 수 있는 화면을 만들어야 합니다. 게임 화면은 벽돌들, 패들, 공을 나타내야 합니다.벽돌: 벽돌들을 생성하고, 이들의 위치와 색상을 설정해야 합니다. 벽돌들은 일정한 패턴 또는 무작위로 배치될 수 있습니다.패들: 패들을 만들고, 이를 움직일 수 있도록 구현해야 합니다. 패들은 플레이어의 조작에 따라 좌우로 움직여야 합니다.공: 공을 만들고, 이를 패들에서 발사하여 벽돌을 깨야 합니다. 공은 벽돌과 패들과의 충돌을 감지해야 합니다.충돌 감지: 공과 벽돌, 패들과의 충돌을 감지하고, 충돌 시 벽돌을 파괴하고 공의 반사 등을 처리해야 합니다.게임 로직: 게임의 기본 로직을 구현해야 합니다...
풀매니저란 무엇일까🤔📌 오브젝트 풀(Object Pool) : 객체를 미리 생성해 두고 필요하면 가져다 쓰고, 다 쓰면 풀에 반납하는 형식 ( 웅덩이에 객체를 넣어두고 필요할 때 꺼내쓴다는 느낌) 풀은 보통 리스트, 스택, 큐 등으로 구현.Stack이 그나마 낫다고 함. 장점생성과 소멸이라는 큰 비용의 작업을 최소화메모리 할당과 해제의 반복을 막아줌.가비지 컬렉션에 따른 성능 저하도 막아줌빈번하게 생성하고 파괴되는 객체에서 애용😺 (ex. 총알, 이펙트) 단점자칫 잘못하면 메모리 사용량 늘림오브젝트 풀의 크기를 적당히 조절해야해...+자주 사용하지 않는 오브젝트는 판단해서 가끔씩 제거하도록 ⚙풀매니저의 선언과 사용🔨using System.Collections; using System.Collections..
(9/25~10/4)팀프로젝트 분석게임 소개 프로젝트 명 : 2D 로그라이크 게임프로젝트 소개 : “Babyjak”로그라이크 게임 “아이작”을 모작으로 을 제작.와이어프레임 담당한 역할 아이템(체력 포션, 이동 속도 포션, 공격력 포션)과 인벤토리UI와 시작씬 등 스크립트Inventory.csusing System.Collections; using System.Collections.Generic; using System.Linq; using TMPro; using UnityEngine; using UnityEngine.Events; using UnityEngine.InputSystem; using UnityEngine.InputSystem.Interactions; public class ItemSlot ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/XLkWP/btsyHzuFd6j/UMW2KezkTlnvQapatiMWfk/img.png)
스택이란 ‘업보 스택 쌓는다.’ 라는 말로서 적어도 나에게는 친숙한 스택이라는 자료구조. 오늘은 이 친구를 알아보자. 스택, 영어로 Stack은 위와 같이 어떠한 것들이 무더기로 쌓여 있는 것을 의미한다. 자료구조에서도 이와 유사한 역할을 진행한다. 스택의 구조 Stack을 배열로 어떻게 만들까? 배열 안에 아무 데이터도 없으니 현재 index는 -1로 설정! 스크립트로 구현해보자 초기 MyStack.cspublic class MyStack { private int[] arr; private int index; public int Size; public MyStack(int size) { Size = size; arr = new int[size]; index = -1; } //추가 public void ..