Тема: rand() chance
Показать сообщение отдельно
Старый 03.07.2010, 15:44   #5
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Таким же способом:
Код:
switch(rand()%20)
{
    case 1:        	// 5%
        break;
    case 2:        	// 5%
        break;
    case 3:
    case 4:
    case 5:        	// 15%
        break;
    case 6:
    case 7:
    case 8:        	// 15%
        break;
    case 9:
    case 10:
    case 11:
    case 12:
    case 13:
    case 14:    	// 30%
        break;
    default:    	// 30%
        break;
}
Но проще, менее громоздко и более изящно получить шанс:
Код:
int result = rand()%100;
И потом его проверить. Например, можете посмотреть реализацию ф-ии FillLoot в мангосе.
LordJZ вне форума   Ответить с цитированием