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 32 | private struct ItemProbability { public GAME_ITEM_TYPE itemType; public float probablility; public ItemProbability(GAME_ITEM_TYPE itemType, float prob) { this.itemType = itemType; probablility = prob; } } itemsProbability = new ItemProbability[2]; itemsProbability[0] = new ItemProbability(GAME_ITEM_TYPE.COIN_SCORE_UP, 15); itemsProbability[1] = new ItemProbability(GAME_ITEM_TYPE.NONE, 85); private AGameItem GetRandomItem() { GAME_ITEM_TYPE seletedItem = GAME_ITEM_TYPE.NONE; Random.InitState(System.DateTime.Now.Millisecond); float randVal = Random.Range(1.0f, 100.0f); float cumulative = 0.0f; for (int idx = 0; idx < itemsProbability.Length; idx++) { cumulative += itemsProbability[idx].probablility; if (randVal < cumulative) { seletedItem = itemsProbability[idx].itemType; break; } } return GameSpawner.singleton.GetOneGameItem(seletedItem); } |
2019년 4월 13일 토요일
# 랜덤으로 아이템 획득하기 C#버전
참고한 문서 : http://www.vcskicks.com/random-element.php
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기