Делаем кости на рубиновом языке

Я кодирую кубик рубином, и когда я его бросаю, он либо поднимается на север, юго-восток, либо на запад.

у меня проблемы с тем, когда я скручиваю его, как я могу сказать ему, чтобы он вернул мне одно из этих направлений?

любая помощь была бы замечательной.


person Ger Crowley    schedule 28.09.2011    source источник
comment
я должен просто поместить четыре направления в массив и заставить его вернуть мне случайный индекс в массиве?   -  person Ger Crowley    schedule 28.09.2011
comment
или я должен перенастроить случайное число от 1 до 16 и присвоить 4 значения каждому направлению. например, если он возвращается 1-4, его восток возвращается 5-8 его запад возвращает 9-12 его север возвращается 13-16 его юг?   -  person Ger Crowley    schedule 28.09.2011


Ответы (2)


Используйте Array.sample:

[ 'north', 'south', 'east', 'west' ].sample
person Mark Byers    schedule 28.09.2011
comment
Array#choice был удален в 1.9. - person Michael Kohl; 28.09.2011

Нет ничего проще, чем %w(north south east west).sample (это метод 1.9, кстати). Еще одна вещь, которая работает в 1.8 и 1.9, - это %w(north south east west)[rand(4)].

person Michael Kohl    schedule 28.09.2011
comment
Рад помочь. Если это был тот ответ, который вы искали, примите его и / или проголосуйте за него. - person Michael Kohl; 28.09.2011