Ну, раз уж тема оказалась в этом разделе, вот скриптик:
#==============================================================================
# EK Dices v1.0
#------------------------------------------------------------------------------
# Created by: Equilibrium Keeper [[email protected]]
# Created on: 03.10.2009 18:42:15
#==============================================================================
# Описание: Класс для бросания кубиков и получение суммарного результата броска
#------------------------------------------------------------------------------
# Установка: В редакторе скриптов создайте чистую страницу над "Main" и
# скопируйте туда данный скрипт.
#------------------------------------------------------------------------------
# Примечание: В описании скриптов используются следующие сокращения:
# [](array) - массив; i(integer) - целое число; f(float) - дробное число
# b(boolean) - true/false; s(string) - строка; any - любой
# В круглых () скобках указаны рекомедуемые значения параметров
# В фигурных {} скобках указаны допустимые значения параметров
#==============================================================================
class Array
#----------------------------------------------------------------------------
# Возвращает случайный объект из массива
#----------------------------------------------------------------------------
def rand
self[Kernel.rand(size)]
end
#----------------------------------------------------------------------------
end
#==============================================================================
class Range
#----------------------------------------------------------------------------
# Возвращает случайное значение из указанного интервала
#----------------------------------------------------------------------------
def rand
to_a.rand
end
#----------------------------------------------------------------------------
end
#==============================================================================
module EKDices
#----------------------------------------------------------------------------
# Бросок кубиков и возврат выброшенного значения
# dices :integer {1+) - количество бросаемых кубиков
# sides :integer {1+) - количество сторон у каждого кубика
#----------------------------------------------------------------------------
def self.throw (dices = 1, sides = 2)
result = 0
dices.times do
result += (1..sides).rand
end
return result
end
#----------------------------------------------------------------------------
end
#==============================================================================
Вставляем куда положено (см. раздел установка). Далее в любом месте, где есть возможность вызывать скрипт (Условия, Script... и т.д), вызываем:
Где:
1 - количество кубиков
20 - количество сторон у каждого кубика
Таким образом каждый из ударов небезызвестного Hellball(10d6) будет расчитываться таким кодом:
Надеюсь, пригодится. Очень хочется пощупать эту самую игру. ^-^
P.S. Да, и не обращайте внимания на такое количество приставок "EK" в моих скриптах. Это не проявление звездной болезни, просто мера предосторожности, чтобы скрипты не совпали с другими.