https://youtu.be/tXSCS724VGQ?si=ou-AT7n3geqhW_eN
얼마 전, 친구들과 함께 여행(?)을 갔다 오며 즐거운 시간을 보냈는데
그냥 그렇게 애니메이션 퀴즈를 내고, 맞추는 간단한 게임 하나 있으면 좋을 거 같아서 가볍게 시험으로 만들어본 것.

각 애니메이션의 세부 정보를 Script 로 넣어서 직접 입력할 수 있게 해주었고
추가로 그것을 Prefab GameObject 으로 만들어서 접근할 수 있게 했다.
그리고 그런 다양한 AnimeData가 담긴 리스트에서 랜덤으로 목록 N개를 뽑고
중복해서 등장하지 않도록 원본 리스트에서 삭제하는 과정을 거친다.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
public void SelectFive()
{
SelectData.Clear();
if(AnimeData.Count >= 2)
{
for (int i = 0; i < 2; i++)
{
int rand = Random.Range(0, AnimeData.Count);
Debug.Log(AnimeData[rand].name);
SelectData.Add(AnimeData[rand]);
AnimeData.RemoveAt(rand);
}
gameController.RandomAnime();
gameController.ShowData(SelectData[0]);
}
}
|
cs |
그렇게 N개의 AnimeData 를 보면서 "야! 그거 있잖아! 그 엄청나게 단단한 그 애니!"
이러면서 퀴즈를 풀고
맞추면 맞춤 버튼을 누르고, 틀리면 틀림 버튼을 누른 후 최종 결과를 보여준다.
이게 기본적인 애니메이션 퀴즈 만들기의 기초긴 한데
추가적으로 4지선다 퀴즈를 만든다든가 무언가 많은 데이터를 다루면서 정렬이나 선택 알고리즘도 같이 다룰 수 있는 부분도 있지 않을까 해서 아마 계속 조금씩 건드려볼 예정
아 여담으로 애니메이션을 이야기할 때, 약어(예를 들어 내청코)나 이명으로 대답을 하는 경우도 있을 거라 생각해서
Title을 배열로 만들어서 다양한 제목이 복수 정답으로 인정되도록 하려고 했고
추가로 띄어쓰기를 방지하기 위해 띄어쓰기를 없애는 코드를 찾아봤는데 + 끝에 "." 이 있으면 삭제 처리
|
1
2
3
4
5
6
7
8
9
10
|
public string DeleteSpace(string text)
{
string newString = Regex.Replace(text, @"\s", "");
if (string.Equals(newString[newString.Length-1], '.'))
{
newString = newString.Remove(newString.Length - 1, 1);
}
Debug.Log(newString);
return newString;
}
|
cs |
일단 이런 식으로 하면 될 거 같아서 기록해둠.
아마 조금씩 조금씩 추가를 하며, 배열이나 선택 알고리즘에 관해 공부를 하는 식의 글이 되지 않을까 생각함.
이만 총총
'게임 독학' 카테고리의 다른 글
| [ 승리의 여신 : 니케 ] 스토리 파트 분석글 (0) | 2024.05.10 |
|---|---|
| "애니메이션 퀴즈"로 다뤄본 유니티의 조그마한 부분들(2) (1) | 2024.02.01 |
| 씬이 바뀌어도 부서지지 않는 DontDestroyOnLoad (0) | 2022.08.03 |
| 원형 물체 생성 (0) | 2022.07.14 |
| 언리얼 공부 (0) | 2022.07.04 |