Psst.. new poll here.
[email protected] webmail now available. Want one? Go here.
Cannot use outlook/hotmail/live here to register as they blocking our mail servers. #microsoftdeez
Obey the Epel!
Paste
Pasted as Ruby by -ku ( 14 years ago )
require 'jcode'
require 'rubygems'
require 'facets'
require 'singleton'
require 'irb/completion'
require 'mathn'
# Читать лучше с конца. ;)
def справка
puts <<HELP
Пример:
x = Фурь["Вася", Тигр, Самец]
y = Фурь["Настя", Лев, Самка]
x.предложи_пойиффаться y
x.тебе_понравилось?
y.тебе_понравилось?
А еще есть команды "справка", "игра1" и "игра2".
HELP
end
class Range
def случайное_число()
return self.begin + (self.end - self.begin) * rand
end
end
class Object
alias есть is_a?
def не_есть(x)
not есть(x)
end
end
class Array
alias случайный_выбор choice
end
module Male
def предлагает_пойиффаться(самке)
самка = самке
if самка.не_есть Самка then сказать "Что!? Я что, по-твоему, похож на гея!?"; return; end
сказать "Как тебя зовут?"
имя_самки = самка.как_тебя_зовут?
сказать "А меня #{имя}."
сказать "#{имя_самки}, давай пойиффаемся?"
согласна_пойиффаться = самка.давай_пойиффаемся? со_мной
if согласна_пойиффаться then [самка, я].йиффаются; end
end
alias предложи_пойиффаться предлагает_пойиффаться
end
def Самец; Male; end
class Module
alias это is
end
module Female
def предлагает_пойиффаться(самцу)
самец = самцу
if самец.не_есть Самец then сказать "ЧТО!? Да пошел ты, извращенец! Я что, похожа на лесбиянку!?"; return; end
сказать "Что!? Еще чего! Я приличная самушка!"
end
alias предложи_пойиффаться предлагает_пойиффаться
end
def Самка; Female; end
module Species
abstract :женское_название_вида
abstract :мужское_название_вида
end
def Вид; Species; end
module Tiger
это Вид
def женское_название_вида
"Тигрица"
end
def мужское_название_вида
"Тигр"
end
end
def Тигр; Tiger; end
module Lion
это Вид
def женское_название_вида
"Львица"
end
def мужское_название_вида
"Лев"
end
end
def Лев; Lion; end
module Horse
это Вид
def женское_название_вида
"Кобылица"
end
def мужское_название_вида
"Жеребец"
end
end
def Лошадь; Horse; end
module Wolf
это Вид
def женское_название_вида
"Волчица"
end
def мужское_название_вида
"Волк"
end
end
def Волк; Wolf; end
module Angel
это Вид
def женское_название_вида
"Ангелесса"
end
def мужское_название_вида
"Ангел"
end
end
def Ангел; return Angel; end
class Furry
def initialize(имя, вид, пол)
self.extend пол
self.extend вид
@имя = имя
@качество_последнего_йиффа = nil # По 10-бальной шкале.
end
def self.[](*args)
return Фурь.new(*args)
end
def как_тебя_зовут?
сказать "#{имя}."
return имя
end
def говорит(что)
puts "#{имя}: #{что}"
end
def давай_пойиффаемся?(с_кем)
if maybe(0.5) then
сказать "Хм-хм, давай! :)"
согласен
else
сказать "Нет!!! >:o"
не согласен
end
end
def пойиффался_с(фурь, качество_йиффа)
@качество_последнего_йиффа = качество_йиффа
end
alias пойиффалась_с пойиффался_с
def тебе_понравилось?
case @качество_последнего_йиффа
when nil then сказать "Что понравилось?"
when 0...3 then сказать "Нет, это было ужасно... v_v"
when 3...5 then сказать "Нет, не очень... :("
when 5...7 then сказать "Ну, как сказать..."
when 7...9 then сказать "Да, это было чудесно! ^_^"
when 9..10 then сказать "Да-а-а-а! Это было просто великолепно! Я #{(я.есть Самка) ? ("влюбилась в него") : ("влюбился в неё")}!"
end
return @качество_последнего_йиффа
end
def to_s
"#{(я.есть Самка) ? (женское_название_вида) : (мужское_название_вида)} #{имя}"
end
attr_reader :имя
private
alias сказать говорит
def я
self
end
alias есть is_a?
alias меня я
alias со_мной я
def согласен
true
end
alias согласна согласен
def не(x)
not x
end
end
def Фурь; Furry; end
class Array
def йиффаются()
puts "*** #{самец} и #{самка} занимаются йиффом."
качество_йиффа = (1 - (0..1).случайное_число ** 4) * 10
самец.пойиффался_с(самка, качество_йиффа)
самка.пойиффалась_с(самец, качество_йиффа)
end
def самец
self.find { |x| x.is_a? Самец }
end
def самка
self.find { |x| x.is_a? Самка }
end
def гетеро?
самец.not_nil? and самка.not_nil?
end
end
def самочьи_имена
%W{Лиза Лина Лена Юля Кристина Ольга Настя Наталья}
end
def имя_самки
самочьи_имена.случайный_выбор
end
def самцовые_имена
%W{Лёша Саша Гена Гриша Юра Миша Павел Борис Лев Андрей Антон}
end
def имя_самца
самцовые_имена.случайный_выбор
end
class RandomFurries
is Enumerable
def each
loop do
пол = (maybe 0.5) ? (Самец) : (Самка)
вид = [Лошадь, Волк, Лев, Тигр].случайный_выбор
имя = (пол == Самец) ? (имя_самца) : (имя_самки)
yield Фурь[имя, вид, пол]
end
end
end
def разные_фури
RandomFurries.new
end
class Array
alias комбинации_по combination
end
class Integer
def случайных_фурей
фури = разные_фури.take n
end
def n
return self
end
end
def конец_игры
end
def игра1
Арчи = Фурь["Арчи", Ангел, Самец]
Арчи.говорит "Со сколькими фурями вы хотите играть?"
n = gets.to_i
фури = n.случайных_фурей
пары = фури.комбинации_по 2
пары.each do |пара|
фурь1 = пара[0]; фурь2 = фурю2 = пара[1]
Арчи.говорит "#{фурь1}, спроси, не хочет ли #{фурь2} заняться с тобой йиффом?"
фурь1.предлагает_пойиффаться фурю2
end
фури.each do |фурь|
Арчи.говорит "#{фурь}, тебе понравилось?"
фурь.тебе_понравилось?
end
конец_игры
end
def игра2
Джон = Джону = Фурь["Джон", Лев, Самец]
Лиза = Лизе = Фурь["Лиза", Лев, Самка]
Джон.предложи_пойиффаться Лизе
Джон.тебе_понравилось?
конец_игры
end
справка
Revise this Paste
Parent: 16930