Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so dont bother with any of their useless mail servers here and just use oauth login instead. Thank the nice Russians for causing that. :)

Paste

Pasted as Ruby by Anonymous ( 16 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

Children: 17811 20272 35876
Your Name: Code Language: