유니티퀘스트 8.야구게임
using Microsoft.VisualBasic;
Random rand = new Random(); //랜덤클래스 초기화
int Number = rand.Next(100, 1000); //100이상 1000미만 랜덤 숫자 초기화
Console.WriteLine("랜덤 정답 : " + Number);
char[] targetNumber = new char[3];
bool guessedCorrectly = false;
int attempts = 0;
for(int i = 0; i < 3 ; i++)
{
targetNumber[i] = Number.ToString()[i];
}
while(!guessedCorrectly)
{
attempts++;
Console.Write("Enter your guess (3 digits) : ");
string userGuess = Console.ReadLine();
//예외처리
//1.유저가 숫자를 입력 안한경우
//총합 입력값이 (100 <= input <= 999) 이면 검사 시작
int strikes = 0;
int balls = 0;
for (int i = 0; i < 3; i++) // userGuess
{
for(int j = 0; j < 3; j++) // targetNumber
{
if(targetNumber[j] == userGuess[i]) //숫자가 같은지 비교
{
switch(i == j) //같은 자리인지 비교
{
case true: //같은자리 (스트라이크)
strikes++;
break;
case false: //다른자리 (볼)
balls++;
break;
}
}
}
}
Console.WriteLine(strikes + "Strike(s), " + balls + "Ball(s)");
if (strikes >= 3) guessedCorrectly = true;
}
Console.WriteLine("Congratulations! You've guessed the number in" + attempts + " attempts.");
5주차 숙제 게임개발

Run & Jump - 프로토타입 설명
1.마우스를 누르면 캐릭터 머리 위에 파워 게이지가 표시됨
2.마우스를 놓으면 놓은 방향으로 캐릭터가 빙글빙글 돌아가며 발판들을 넘어감
3.이미 한번 착지한 발판은 점수 x , 발판을 처음 밟을때만 점수 증가
오늘 구현 한것
1.각종 플레이어의 플레이를 방해할 장애물 및 아이템 추가
ㄴ점수를 주는 아이템인 동전 추가 및 플레이어를 방해하는 가시 추가
2.날라오는 블럭들이 랜덤 범위, 규격화 필요
ㄴ위치는 규격화 하지 못헀지만, 블럭들 4종류로 고정시켜 동전과 가시를 배치시킴
3. 게임 오버시 팝업창 및 제작
ㄴ 플레이어가 떨어지거나 가시에 찔리면 팝업차이 뜨며 현재 점수 및 최고점수가 표시되게 설정 Retry버튼 누르맨
Scene로드하기
구현 해야될것
1.날라오는 블럭 위치 규격화하기
1.Scene 재로드 하는경우 Find()로 오브젝트를 못 찾는 이유
이유 : GameObject가 비활성화 상태
비활성화 된 객체를 활성화시키려면, 활성화된 부모를 찾아서 자식을 찾는 형식으로 접근해야 합니다.
빈 오브젝트를 하나 만들고 자식으로 넣으면 해결

GameManager.cs
private void OnEndPanel()
{
Transform EndObj = endPanel.transform.GetChild(0);
EndObj.gameObject.SetActive(true);
}
private void DisEndPanel()
{
Transform EndObj = endPanel.transform.GetChild(0);
EndObj.gameObject.SetActive(false);
}
게임 매니저에 해당 코드를 추가하여 EndPanel 오브젝트를 껏다 켰다 할수 있게 설계
2.자식오브젝트의 Scale 값을 부모오브젝트와 Scale 값을 덜 영향받게 하기
이유 : 자식으로 오브젝트를 넣으며 해당 오브젝트는 계층 구조를 가지기 떄문에
위치,크기,각도 값이 같이 변경 된다.


위의 두 Block 오브젝트는 Scale 값이 다른걸 볼 수있다. 이걸 바로 자식 오브젝트로 넣으면 Coin의 Scale을 조절 해야됨으로 나중에 보수적인 면에서도 좋지 않다. 부모(Block) - 자식1(빈오브젝트) - 자식2(Coin)으로 설계를 하면
빈 오브젝트를 조절하여 Coin 은 제어하지 않고도 조절이 가능하다.
'내일배움캠프_Unity_6기 > TIL(Today I Learend)' 카테고리의 다른 글
TIL : 2024-08-28(수) (0) | 2024.08.28 |
---|---|
TIL : 2024-08-27(화) (0) | 2024.08.27 |
TIL : 2024-08-22(금) (0) | 2024.08.23 |
TIL :: 2024-08-22(목) (0) | 2024.08.22 |
TIL : 2024-08-21(수) (0) | 2024.08.21 |