반응형 전체 글454 C++ Up&Down (업앤다운) 게임 만들기 [C/C++] Up&Down (업앤다운) 게임 만들기Up & Down 게임 만들기- 1 ~ n ( or 100 ) 사이의 랜덤 숫자 뽑기- 범위 안의 숫자를 입력한다.- 범위에서 벗어난 숫자를 입력할 경우 예외처리- 입력값이랑 랜덤숫자랑 비교 후 같을 경우 클리어, 낮거나 높으면 안내- 위 방법을 클리어까지 반복- 함수를 사용하여 만들기 * 참고#include rand 함수 사용을 위한 헤더파일#include time 함수 사용을 위한 헤더파일 #define INT_MAX (내장매크로)#include #include #include void InputMaxValue(int &max);void CheckRange();bool CheckAnswer(const int inputNum, const int .. 2022. 12. 6. C++ 별 다이아몬드 찍기 [C/C++] 별 다이아몬드 찍기 #include int main(){ int lineSize; int middleLine = 0; while (true) { printf("다이아몬드의 크기를 입력해 주세요 (1이상 홀수) : "); scanf_s("%d", &lineSize); if (lineSize 2022. 12. 6. C++ #define, 매크로 [C/C++] #define, 매크로 매크로 #define단순 매크로가독성이 좋아지고 상수의 변경이 용이함형태#define MAX 100#define PI 3.14함수 매크로define을 이용해 매크로를 함수처럼 사용할 수 있다.형태#define SQUARE (x) ((x) * (x))#define 매크로명(매개변수) 치환 텍스트 내장 매크로미리 정의 되어 내장되어 있는 매크로 2022. 12. 6. 카멜 표기법, 스네이크 표기법 [C/C++] 카멜 표기법, 스네이크 표기법 카멜 표기법카멜 표기법(Camel case 카멜 케이스[*]) 또는 낙타 표기법 프로그래밍에서 파일, 변수, 함수 등 대상의 이름을 띄어쓰기 없이 짓기 위하여 따르는 관례인 네이밍컨벤션(Naming convention)의 하나다.맨 첫 글자를 제외한 각 합성어의 첫 글자만 대문자로 표기한다.단어 전체적으로 소문자를 사용합성한 단어의 모양이 쌍봉낙타의 등과 비슷하다는 뜻에서 이름붙었다.camelCase(일반적인 변수 이름)isCamelCase(Boolean 타입의 변수 이름)스네이크 표기스네이크 표기법(Snake case 스네이크 케이스[*]) 또는 스네이크 표기법은 프로그래밍에서 파일, 변수, 함수 등 대상의 이름의 띄어쓰기를 언더바(_)로 표기하는 관례인 네.. 2022. 12. 6. Unreal5 오류 Error : MSB3073 Code6 해결 [Unreal5/오류] Error : MSB3073 Code6 해결환경Windows10Unreal5 5.0.3VisualStudio 2022 기존 문제점 및 해결방법1. 파일의 경로에 띄어쓰기가 있으면 안된다.2. VisualStudio를 관리자 권한으로 실행시켜야한다. (CODE:1)3. Copy 명령 실행 중 오류 > 프로젝트 속성 - 구성 - 빌드 중 이벤트 에서 복사를 수행할 경로 지정4. 배치파일 문제 cmd 명령어 입력ReBuild.bat -Target="UE4Editor Win64 Development" -Target="ShaderCompileWorker Win64 Development -Quiet -WaitMutex -FromMsBuild5. UPROPERTY 오타 등등이 있었지만 1번 .. 2022. 11. 19. C++ 가상 함수(Virtual Function), 순수 가상 함수(Pure Virtual Function) [C++] 가상 함수(Virtual Function), 순수 가상 함수(Pure Virtual Function) 가상 함수(Virtual Function)와 순수 가상함수(Pure Virtual Function)공통점1. 클래스 상속 관계에서 사용된다.2. 멤버 함수를 재정의 할 수 있다. (오버라이딩) 차이점1. 순수 가상 함수는 자식 클래스에서 반드시 재 구현해야 한다.2. 가상 함수는 부모 클래스에서 구현부를 포함하고 있기 때문에 재 구현을 꼭 필요로 하지 않는다.3. 순수 가상 함수는 함수 선언 뒷 부분에 " = 0 "를 추가 해야 한다.4. 추상 클래스는 객체를 생성할 수 없다.5. 순수 가상 함수는 함수의 구현부가 없다. (자식 클래스에게 인터페이스만을 제공한다.) > 구현부를 넣어봤는데 .. 2022. 11. 18. C++ 연산자 오버로딩 [C++] 연산자 오버로딩 // 연산자 오버로딩 // 오버로딩의 개념을 '+', '-', '*', '/' 등 표준 연산자에 확장하여 연산자들이 다중적인 의미를 가질 수 있게 함 // 연산자도 피연산자의 타입에 따라 중복 정의할 수 있다. // 피연산자의 타입이 달라도 똑같은 연산자로 일관되게 할 수 있는 것은 다형성의 예이다. // 연산자를 오버로딩하기 위해서는 operator + () 와 같은 특별한 함수가 필요하다. // 함수 호출과 연산자 표기 방법으로 사용 가능하다. // 연산자 표기 방법으로 사용할 때 연산자의 왼쪽 객체가 호출 객체이다. // // 오버로딩의 규칙 // 1. 원래 연산자에 적용되던 문법을 위반해서 오버로딩된 연산자를 사용할 수 없다. // 2. 연산자의 우선순위를 변경할 수.. 2022. 11. 17. C++ 클래스 private접근, Friend 지정 사용 [C++] 클래스 private접근, Friend 지정 사용 클래스의 멤버 중 private로 지정된 것들은 자신만 접근할 수 있게 설계되었는데 예외는 있다.Friend 키워드이다. 내 소중한 물건을 친구에게 빌려줄 수 있듯이 클래스에서 친구로 지정한 것들은 접근이 가능하다.전역 함수, 클래스, 멤버 함수를 Friend로 지정 가능하다.그 세 가지 예시를 하나의 코드에 담았다. #include using namespace std;// * 클래스의 순서도 중요// 하단 예시 코드는 클래스의 순서를 고려하지 않은 코드임class PrivateClass;class UnknownClass{public: void FriendMemberFunction(PrivateClass& pc); };class Private.. 2022. 11. 17. C++ 오류 해결 Error:C4996, strcpy, strncpy 사용시 에러 발생 [C++ / 오류 해결] Error:C4996, strcpy, strncpy 사용시 에러 발생 Error C4996 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 이 함수 또는 변수는 안전하지 않을 수 있습니다. 대신 strcpy_s를 사용해 보세요. 사용 중단을 비활성화하려면 _CRT_SECURE_NO_WARNINGS를 사용합니다. // 해당 기능을 사용하는 소스코드 상단에 추가#define _CRT_SECURE_NO_WARNINGS // 1번 째 방법#p.. 2022. 11. 16. Unreal5 최적화 텍스처 해상도 대비 최적화 [Unreal5/최적화] 텍스처 해상도 대비 최적화 높은 화질의 텍스처, 멀리 있는 전경도 그래픽이 좋을 필요가 있을까 멀리 있는 오브젝트들은 텍스처 화질이 높아도 자세히 보이지 않는다.쓸떼없는 비용을 높이지 말고 적절하게 사용하자. 정리 내용1. 최대 해상도 변경2. 필요 텍스처 해상도3. 텍스처 해상도 대비 GPU가 원하는 해상도 비율필요 텍스처 해상도 확인카메라를 뒤로갔다 앞으로갔다 조절해보면 색이 달라짐. 빨강 : 안좋아보임노랑 : 별로흰색 : 좋다하늘 : 오 좋은데녹색 : 역시 언리얼 만약 위 돌이 상호작용하는 오브젝트라면 그래픽이 좋아야 겠지만배경의 일부라면 크게 좋을 필요가 없다.대상 텍스처를 더블클릭하여 편집창을 열고 최대 텍스처 크기를 조절해준다.좋군. 지나치는 배경에게 맛있는 리소스를 .. 2022. 11. 13. Unreal5 최적화 스트리밍 풀 초과 해결 [Unreal5/최적화] 스트리밍 풀 초과 해결 텍스처 스트리밍 풀이 Mib 예산을 초과했습니다.Quixel BRIDGE 에셋 추가후 발생대부분의 텍스처들이 고화질로 임포트 되기 때문에 이런 현상이 많이 나타남 스트리밍 풀 상태 보기1. 명령창에 stat streamingpool 입력2. 뷰포트 옵션에서 통계표시 클릭 (Shift + L) 통계(statistics) 보는 법1. 상단 메뉴에서 : 툴 > 검사 > 통계 텍스처들의 크기가 4k노말맵이나 러프니스 등은 화질이 높을 필요가 없음줄이고 싶은 텍스처들의 이름을 클릭하면 콘텐츠 브라우저에 보임하나씩 선택해서 더블클릭 후 디테일>압축> 최대 텍스처 크기를 줄임 (64, 128, 256, 512, 1024, 2048)2의 제곱으로 설정 안할 경우 언리얼.. 2022. 11. 13. 1Byte는 왜 8bit일까? 1Byte는 왜 8bit일까? 계산하기 편한 10진수를 놔두고 8bit를 1byte로 약속한 것일까? 수학을 배우면서 10진수에 익숙해진 우리들은 한 번쯤 궁금했던 질문일 것이다. 어느정도의 배경 지식이 받쳐준다면 이 질문에 대한 답을 이해하기 쉬울 것이다. 예전 컴퓨터를 찾아보면 byte를 4~10bit로 사용되던 것을 볼 수 있는데, 현대에 와서는 '1옥텟(8bit)'를 기준으로 삼는다. 단순한 계산부터 I/O기능을 처리하기 위해서는 작은 공간만 있어도 충분했지만, 문자를 처리하게 되면서 효율적인 공간 활용을 위해 적절한 크기를 찾아야만 했다. 지금은 가정용 컴퓨터만 봐도 256GB~1TB크기의 저장공간을 사용하고 있지만 당시에는 MB단위도 귀중하게 쓰였기 때문에 1bit의 공간도 소중하게 쓰여야 했.. 2022. 9. 28. 이전 1 ··· 31 32 33 34 35 36 37 38 다음 반응형