티스토리 뷰

IT/UNITY(C#)

(C#)UNITY_케릭터 스텟구현!

KS짱짱맨 2020. 2. 11. 20:31

오늘 코딩내용 요약

1. 이름을 리스트내에서 랜덤으로 뽑을 수 있다.

2. 스텟을 정한다 (내가 or 랜덤으로)

3. 일정 시간마다 스텟을 향상시킨다

4. 스텟에 따라 자동으로 들어오는 돈과 연봉이 정해진다.

나중에 하고 싶은것

1. 고용하는 화면 구현

2. 랜덤한 스텟의 지원자 구현

3. 결산 시스템

 

이건 랜덤하게 이름을 뽑는 함수이다.

public class GameManager : MonoBehaviour
    public static string names
    {
        get
        {
            string[] names = new string[2];
            //names 라는 이름을 가진 string(문자열)[리스트]를 만든다/ 리스트2개짜리
           
            names[0] = "KSJJM"; // 0번은 "KSJJM"이라는 문자열이다.
           
            names[1] = "KIMKS"; // 1번은 "KIMKS"라는 문자열이다.
            
            int r = Random.Range(0, names.Length); 
            //'r'이라는 int(정수) 값에 랜덤으로 0에서 2(names라는 문자열의 총갯수)에서
            숫자를 뽑아 넣는다.
            
            string s = names[r];
            // 문자열 s에 names[0~1]을 넣는다

            return s;   
            // 문자열 s를 반환한다.
        }
    }

이부분은 스텟을 정하는 함수 StartSpec()

 

일정시간이 지나면, 스텟이 상승하는 Growth()함수가 정의되어있다.

public class EmployeeControl : MonoBehaviour
    public void StartSpec() // 스텟을 정하는 함수
    {
        info.name = GameManager.names;

        int r = Random.Range(0, 2);
        // 이거 중요 특히 뒷부분, 자료형식 특정하기
        info.gender = (Gender)r;
        info.hp = 100;
        info.planning = 1;
        info.programming = 10;
        info.design = 10;
        info.music = 10;
        info.communication = 1;

        info.totalspec = info.planning * (info.programming + info.design + info.music);
        GameManager.gm.humanpower += info.totalspec;
        GameManager.gm.wage += (long)info.totalspec * 12;
        GameManager.gm.sinergy += (long)info.communication;
    }

    IEnumerator Growth() // 일정시간이 지나면 성장
    {
        yield return new WaitForSecondsRealtime(600f); // 이건 나중에 1년 결산하면 성장 하는 걸로 하자 :)

        while(true)
        {
            info.planning += 1;
            info.programming += 5;
            info.design += 5;
            info.music += 5;

            info.totalspec = info.planning * (info.programming + info.design + info.music);
            GameManager.gm.humanpower += info.totalspec;
            GameManager.gm.wage += (long)info.totalspec;
            GameManager.gm.sinergy += (long)info.communication;

            GameManager.money -= GameManager.gm.wage;

            yield return new WaitForSecondsRealtime(600f);
        }
    }
728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함