2017-02-04 7 views
1

Прошу простить меня, я полностью самоучитель, поэтому может быть явное решение этого, которого я не вижу.Как я могу консолидировать создание и исключение bool в одно утверждение?

В настоящее время, когда я хочу что-то, чтобы иметь случайный шанс происходит, я делаю следующее:

//Creates a 1 in 5 chance for text to be displayed 
bool TxtDisplayChance = RandomChanceRetBool(5); 

//Displays text if the bool won the lottery 
if (TxtDisplayChance == true) {GameText.DisplayToUser();} 

Как можно вырезать BOOL из этого, и просто сделать какую-то функцию, которая выполняет только код в блоке, если выбран выигрышный номер. Например, я хочу создать что-то, где я могу просто ввести этот

RunCodeIf(5) 
{ Code goes here} 

Ниже приведен текущий код для функции у меня есть:

public static bool RandomChanceRetBool(byte ChanceHigherBound) 
    { 
     //If you just want a quick true/false based on a winning roll but don't have a bool to assign it to 

     int WinningRoll = Rando.RollDice(ChanceHigherBound); 
     int ActualRoll = Rando.RollDice(ChanceHigherBound); 



     if (ActualRoll == WinningRoll) 
     { 
      return true; 
     } 
     else 
     { 
      return false; 
     } 


    } 
+0

'если (RandomChanceRetBool (5)) {GameText.DisplayToUser();}' –

+0

Приятно, что, кажется, работает, я не думаю, что это будет. Отлично. Есть ли способ устранить это? – user5480156

+0

вы можете удалить последний if & else блок в RandomChanceRetBool с помощью «return ActualRoll == WinningRoll;» –

ответ

0

Изменено название RandomChanceRetBool к OneIn, и теперь называют его напрямую, без создания отдельного BOOL:

if OneIn(5) {GameText.DisplayToUser();}