[코딩테스트] 문자열 대소문자 변환
·
코딩테스트/알고리듬
아스키 코드문자열의 대소문자를 변환하는 첫 번째 방법은 아스키 코드를 활용하는 것입니다 !A ~ Z가 65 ~ 90에 해당하고,a ~ z가 97 ~ 122에 해당해요.문자열을 순차적으로 탐색하면서 각 아스키 코드에 따라 -32 혹은 +32를 해주면 됩니다 ! string str = "abcDEF";for(char c : str){ // 대문자 변환 if(c >= 97 && c = 65 && c  toupper, tolowertoupper와 tolower 메소드를 활용하는 방법도 있습니다 !매개변수로는 char 자료형이 와야합니다 ! string 자료형을 넣어서 한 번에 변환하고 싶어도 안 됩니다 ! string str = "abcDEF";// 대문자 변환for(int i=0; i Transfo..
[언리얼엔진] 04. Enemy 클래스 구현
·
언리얼 엔진/[개인프로젝트] FPS 구현 맛보기
Enemy코드 작성 이번 프로젝트에서 제일 까다로운 부분인 것 같아요. 근거리, 원거리, 보스 몬스터를 구현해야 하는데 어떻게 구현해야 효율적으로 구현했다고 소문이 날까요 ?우선, 근거리-원거리-보스 몬스터가 공통적으로 갖는 기능들이 있겠죠 ? 추상 클래스를 작성해서 상속받도록 해줍시다 ! 오늘 중으로 프로젝트를 끝내야 하는 만큼 시간이 없으니 생각나는대로 쫘르륵 작성해봐요 ! #pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "Enemy.generated.h"UCLASS()class APOCALYPSE_API AEnemy : public AActor{ GENERATED_BODY() public: AEnemy(); ..
[언리얼엔진] 03. 총 발사 기능 구현
·
언리얼 엔진/[개인프로젝트] FPS 구현 맛보기
총 발사 방식총알 발사하는 방식을 어떻게 구현할까 생각해보니, 방법이 2가지 정도 떠올랐습니다 !첫 번째는 마우스 우클릭을 하면 투사체가 생성되고, 생성된 투사체로 적과 충돌 판정을 처리하는 방법이에요.두 번째는 마우스 우클릭을 하면 조준하고 있는 부분에 적이 있는 지 체크한 후, 존재한다면 바로 데미지를 주는 방법입니다 ! 첫 번째 방법 같은 경우에는 유니티에서 한 번 구현을 해본 경험이 있었고, 즉각적인 반응이 오지 않는다는 점에서 재미가 떨어지더라구요.. 물론 총알 속도를 극한으로 높이면 되긴 하지만 그럴 바에는 두 번째 방법으로 구현하는 게 메모리 측면에서도 구현 방법 측면에서도 효율적이라고 생각했습니다 ! 결론적으로 저는 LineTracing 기능을 활용해서 마우스 우클릭 시 즉각적인 리액션을 ..
[코딩테스트] 문자열 형변환
·
코딩테스트/알고리듬
String ↔ Int#include string str = "123";int num = stoi(str);str = to_string(num); Char ↔ Intchar c = '5';int num = c - '0';c = num + '0'; 음수를 표현하기 위해서는 '-' 와 해당하는 정수형 값이 합쳐져야 한다. char는 한 자리 수만 표현할 수 있으므로 음수를 표현하지 못 한다. 음수를 표현하고자 할 때에는 string 자료형을 사용해야 한다. Char ↔ Askiichar c = '1';int askii = (int)c;c = askii;
[언리얼엔진] 02. 맵, 캐릭터 세팅
·
언리얼 엔진/[개인프로젝트] FPS 구현 맛보기
프로젝트 생성언리얼엔진에서 제공하는 1인칭 템플릿으로 프로젝트를 생성했습니다 !중간에 큰 총소리가 나니, 소리 줄여서 보세요 ! 팔도 붙어있고, 캐릭터의 기본적인 기능도 구현이 되어있습니다. 무엇보다 총 발사 기능도 구현이 되어있는게 매우 편하게 할 수 있을 것 같아요 !다만, 몇 가지 수정사항이 보이네요. 총이 유탄 발사기 같다는 점 ! 맵 세팅이 안 되어있다는 점 ! 그리고 마우스 왼쪽 버튼을 누르고 있어도 한 발만 나간다는 점 !한 번 차근차근.. 천천히.. 수정해볼까요 ? 맵 세팅어떤 맵이 좋을까 하다가 제가 직접 제작하기에는 그래픽적으로 너무 못 생길 것 같아서 (제가 모델링에 소질이 없어요 ..) 에셋을 구하기로 했습니다 ~ 몬스터와 전투를 벌여야하니 좀 넓은 맵으로다가 뭐가 없을까 찾아봤는데..
[언리얼엔진] 01. 간단한 기획 정리
·
언리얼 엔진/[개인프로젝트] FPS 구현 맛보기
기획주제 : 멀티 웨이브 멀티 웨이브가 메인 시스템인 게임이 뭐가 있을까요 ? 뱀서라이크, 디펜스 등등이 있을 것 같네요. 저는 이전부터 , 처럼 슈팅 게임을 만들어보고 싶긴 했는데요 ! 이 두 게임은 멀티 웨이브가 메인 시스템인 게임은 아닙니다. 두 게임의 메인 시스템적인 기획보다는 일반 몬스터를 처리하다가 후반부에 등장하는 보스 몬스터를 제거하는 시스템을 가져오고자 해요. TPS를 구현하기에는 메인 캐릭터 모델링이 따로 필요하기 때문에 FPS로 하는 게 리소스 측면에서 효율적이겠죠 ?서든어택 느낌으로 플레이어의 시점은 1인칭이지만, First Descendent, Once Huma처럼 PVE가 가능하도록 설계를 해야겠어요. 게임의 메인 컨셉은 정해진 것 같고, 이제 리소스를 해결해볼까요 ?앞서 언급했..
[언리얼엔진] 4-4. 파티클과 사운드 구현
·
언리얼 엔진/스파르타코딩클럽
파티클/.hUPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item|Effects")UParticleSystem* PickupParticle;/.cppUParticleSystemComponent* Particle = nullptr; if (PickupParticle){ Particle = UGameplayStatics::SpawnEmitterAtLocation( GetWorld(), PickupParticle, GetActorLocation(), GetActorRotation(), true // 파티클 수명이 끝나면 Destroy 처리 );}// 2초 후 파티클 제거if ..
[언리얼엔진] 4-3. UI 애니메이션 효과 구현
·
언리얼 엔진/스파르타코딩클럽
UI 애니메이션애니메이션 추가 + Animation 버튼을 선택하면 애니메이션 클립이 추가된다. 이후 해당 애니메이션 클립을 선택하면 UI 중 어떤 컴포넌트에 애니메이션을 적용할지 선택할 수 있다.애니메이션 함수 생성 C++를 통해 애니메이션 재생을 위해 그래프에서 애니메이션 재생 기능이 포함된 함수를 구현한다.C++로 애니메이션 호출UFunction* PlayAnimFunc = MainMenuWidgetInstance->FindFunction(TEXT("PlayGameOverAnim"));if (PlayAnimFunc){ MainMenuWidgetInstance->ProcessEvent(PlayAnimFunc, nullptr);} 블루프린트에서 구현한 함수의 이름을 통해 해당 기능을 불러올 수 있다. ..