Сохранен 84
https://2ch.hk/pr/res/420026.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Архитектура удочки для рыб изучающих ООП.

  деанонанебудет OP 26/12/14 Птн 16:49:12 #1 №420026 
14196017526460.png
итак давайте опишим удочку с точки зрения ООП.

итак. для начала перечислим состовными частями.
вот они:
палка,лекса,катушка,груз,круюёк,папловок.

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

так. с основной частью разобрались.

теперь рассмотрим методы которые есть у лески.
у ней нет методов.

рассмотрим методы которые есть груза:
прикрепиться к леске.
открепиться от лески.
порвать леску.

рассмотрим методы которые есть у удочки.
прикрепить леску.
открепиться лески.
порвать леску.

рассмотрим методы которые есть у катушки:
прикрепить леску.
открепиться лески.
порвать леску.

очевидно у них есть общий интерфейс. значит наследуем удочку и барабан от груза.

кстати, агрегировать барабан и леску удочке не нужно.
деагрегируем.

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

итак, теперь груз - корень иерархии наследования.

ок. тогда заканчиваем описывать удочку.

начинаем рыбачить.

итак.

для начала возмём кусочек хлеба.
хлеб надо относледовать от груза.
нет. стоп. нам не наго крепить хлеб к леске. нам надо крепить хлеб к крючку.
тогда надо относледовать хлеб от крючка.
но тогда не клюнет рыба.
что же делать?
я вспомнил у нас же есть инкапсуляция.
ок используем приватное наследование.
наследуем хлеб от крючка приватно.

oh shi~ что стало с моей буханкой хлеба, кажеться я проколол себе крючком язык.

/убежал к хирургу.
Аноним 26/12/14 Птн 17:05:09 #2 №420030 
>>420026
>наследуем хлеб от крючка приватно.

Ты из тех долбоебов которые делают танк наследуя его от колес и пушки?
Аноним 26/12/14 Птн 17:35:57 #3 №420037 
>>420026
Cначала надо писать тесты.
Аноним 26/12/14 Птн 19:29:35 #4 №420048 
>>420026
>очевидно удочку надо относледовать от палки
>очевидно что груз это базовый класс. от него наследуються крючок и поплавок.
>тогда надо относледовать хлеб от крючка.
Программач поясняэ
Аноним 26/12/14 Птн 19:34:48 #5 №420049 
>>420026
Собрать удочку без наследования, композицией и не ебать мозги.
sageАноним 26/12/14 Птн 21:18:27 #6 №420072 
14196179077700.jpg
http://ideone.com/kgp8Yz
рейт
Аноним 27/12/14 Суб 06:53:49 #7 №420161 
>>420072
Ретвитнул.
Аноним 27/12/14 Суб 09:53:54 #8 №420175 
>>420030
>наследуя его от колес и пушки?
>наследуя
>колес и пушки
С++ говноед незаметен
Аноним 27/12/14 Суб 11:44:26 #9 №420188 
Пишу в ЭПИЧНОМ треде.
Оп забыл, что есть такой прекрасный паттерн как обсервер. Таким образом, хлеб становится observable и при поедании его рыбой (sic!) сообщает об изменении крючку, который вызывает у рыбы метод попасться(). Если вызов удачный то крючок (сам являющийся observable) вызывает зарегистрированный метод лески, которая в свою оучередь натягивается(), сообщая об этом катушке и удочке, которые принимают решение согласно бизнес-логике, порвать леску или нет.

В целом такой изящной конструкцией мы инвертировали зависимость ключка от картошки (очевидно что картошка не должна плавать на воде) и избавились от по-моему ненужного грузила.

В тред приглашаются знатоки GoF, приветствуются непосредственные члены GoF, если тут такие есть. Поясните, какие паттерны еще стоит применить в нашей конструкции.
Аноним 27/12/14 Суб 12:18:19 #10 №420194 
Рыба должна быть Flyweight, потому что ее много и надо сэкономить память. Самый охуительный паттерн в мире.
Аноним 27/12/14 Суб 12:23:32 #11 №420195 
А вода синглетон?
Аноним 27/12/14 Суб 12:24:31 #12 №420196 
>>420026
Спасибо, проблевался. Мудак, открой для себя композицию и о наследовании вспоминай в самую последнюю очередь. Хлеб он собрался наследовать от груза... ну ахуеть теперь
Аноним 27/12/14 Суб 14:28:13 #13 №420208 
>>420026

Так уж и быть, научу детей ООП. Ок, давайте опишем удочку с точки зрения ООП. Для начала надо посмотреть на задачу, что нам требуется сделать. Найти условия задачи в потоке бессвязного бреда довольно трудно, но мы будем исходить из предположения, что Удочка способна поймать Рыбу, а также, мы можем снять пойманную Рыбу. При этом очевидно что на Удочку на которой уже есть Рыба, поймать ничего не получится.

Если не сделать это предположение, то так как никаких требований к Удочке нет, класс Удочка можно описать так:

class FishingRod {}

Так неинтересно, потому решим задачу в соответствии с придуманными требованиями. Итак, очевидно что на Удочку может быть поймана Рыба, и может быть не поймана. Сделаем свойство для хранения пойманной Рыбы, и сразу же методы для ее ловли/снятия.

class FishingRod
{
private $caughtFish;
public function catchFish(Fish $fish) { ... }
// возвращает Рыбу
public function removeFish() { ... }
}

Насчет самой Рыбы, неясно, есть ли у нее какие-то свойства — если нет, хватило бы поля типа bool вместо объекта, потому придумаем условия что Рыба бывет разных видов и веса.

class Fish
{
const TYPE_PIKE = 1;
const TYPE_SWORD_FISH = 2;
const TYPE_SHARK = 3;

private $weight;
private $type;
public function __construct($type, $weight);
}

Ну и раз есть вес, то вдобавок можно сделать допольнительные проверки: например, сделать Удочке свойство МаксимальныйВес и проверять, выдержит ли она Рыбу или нет (выбрасывать в этом случае исключение RodBrokenException).
Аноним 27/12/14 Суб 15:06:51 #14 №420217 
>>420208
Молодец, хорошо сделал. А потом ты уйдешь, и окажется, что нам надо несколько разных удочек, и мы будем переписывать весь проект.
sageАноним 27/12/14 Суб 15:13:42 #15 №420218 
>>420217
Переписывайте, ебет ли меня.
Аноним 27/12/14 Суб 15:21:24 #16 №420219 
>>420217
Продолжай, я заинтригован. Потом вам понадобятся не только удочки, но и лопата.
Аноним 27/12/14 Суб 15:24:49 #17 №420220 
>>420217
FishingRod implements FishingDevice
class FishingDeviceFactory {
public FishingDevice getFishingDevice(int fishCapacity);
}
Аноним 27/12/14 Суб 16:15:42 #18 №420233 
>>420217

Если вы не разбираетесь в ООП то да, будет тяжко. А так, ООП как раз делает код более гибким и позволяет вносить изменения меньшей ценой.

Алсо, эта тема пару лет назад разжевывалась на Хабре:

http://habrahabr.ru/post/153225/
http://habrahabr.ru/post/153845/

ОП просто не осилил ООП (видимо в его книжке про перестановку байтов этой темы нет) вот и переживает.
Аноним 27/12/14 Суб 17:31:04 #19 №420249 
>>420208
ПХП макака не могла не обосраться и вместо удочки создала палку для хранения рыбины. Как через объект такого класса выразить одевание наживки, забрасывание, мониторинг поплавка, подсекание, вытягивание и прочие вещи которые делают из палки удочку - непонятно.
Аноним 28/12/14 Вск 01:54:29 #20 №420336 
14197208694520.gif
>>420026
>груз это базовый класс. от него наследуються крючок и поплавок
sageАноним 28/12/14 Вск 11:35:47 #21 №420388 
>>420249
> ПХП макака не могла не обосраться и вместо удочки создала палку для хранения рыбины
;DD
Аноним 28/12/14 Вск 13:15:36 #22 №420413 
>>420388
>;DD
А ну-ка съебал отсюда!
Аноним 28/12/14 Вск 20:51:02 #23 №420542 
>>420233
Неистово двачую данный пост.
Даже это
>ОП просто не осилил ООП
тоже хотел написать.

Например, у тебя есть такие сущности - клиент и покупатель. Ты, как человек, знаешь, что обе эти сущности представляют тоже люди, и чтобы тебе было легче ориентироваться в системе наследуешь их от общего класса Person. Ведь это максимум логично. Да. Но потом ты смотришь на это, плачешь и бежишь создавать в /pr/ тред о том, что ооп говно.
В описанном примере наследовать от общего класса не стоит, если у сущностей нет ничего общего. Да, и то, и то это люди, но если в контексте твоей программы они не пересекаются, то и наследование нинужно, это абсолютно разные классы.
Аноним 29/12/14 Пнд 07:20:30 #24 №420627 
>>420542
> но если в контексте твоей программы они не пересекаются, то и наследование нинужно
два чая этому товарищу.
Аноним 29/12/14 Пнд 08:21:00 #25 №420633 
>>420026
а есь чонить подобное про рекурсии? тоже охота ебануться на всю бошку такими аллегориями
sageАноним 29/12/14 Пнд 11:00:05 #26 №420645 
Сколько макак клюнуло на ОПа-толстяка и даже не заподозрели, что навернули тухлого гавнеца.
Аноним 29/12/14 Пнд 11:52:02 #27 №420654 
>>420175
Лол.
Аноним 31/12/14 Срд 02:39:34 #28 №421009 
>>420633
Школоло детектед.
В рекурсиях нет ничего сложного для понимания, это способ решения задач вроде быстрой сортировки или просмотра дерева каталогов, и только-то.
Аноним 31/12/14 Срд 07:11:19 #29 №421020 
>>421009
Niet, рекурсия хорошо даже в бузинесс-логике (обработка структурированных данных бывает той еще сукой)
sageАноним 31/12/14 Срд 12:31:15 #30 №421036 
Поссал на безграмотного дауна-позёра
Аноним 01/01/15 Чтв 10:52:59 #31 №421188 
>>420026
Удочка - это слишком плохой пример для изучения ООП.
Гораздо интереснее изучать ООП на примере педо-леса:
есть класс Лоля, у неё есть атрибуты:
- имя
- возраст
- желание
- опыт в обычном сексе
- опыт в анальном сексе
- опыт в оральном сексе
и следующие методы:
- быть отняшенной в писю(Лолиёб кем)
- быть отняшенной в попу(Лолиёб кем)
- быть отняшенной в рот(Лолиёб кем)
- отняшить ртом(Лолиёб кого)
- выдать статистику

По аналогии создаём класс Лолиёба. А так же необходимо игровое поле Педолес, который разбиваем на клетки и располагаем в нем лолей и лолиёбов. По очереди при помощи генератора случайных чисел передвигаем лолей и лолиёбов и если они встречаются в одной клетке, то в зависимости от желания и генератора случайных чисел, применяют друг-на-друга различные методы.
Применение методов, лучше всего при этом снабдить выдачей в консоль соответствующих комментариев. Так же, можно сделать возможным, что бы один из лолиёбов или одна из лолей находился/лась в прямом управлении пользователя.
Аноним 01/01/15 Чтв 14:10:15 #32 №421209 
>>421188
ПИДАФИЛ!!111
Аноним 01/01/15 Чтв 14:22:48 #33 №421213 
>>421188
Господи, на что я трачу свою жизнь. http://rghost.ru/private/60083028/b4fda828dc8f66185c0da9603ffd50cb 2ch
Аноним 01/01/15 Чтв 16:45:54 #34 №421233 
>>421213
Спроси у Цивеника, он в этом плане переплюнул тебя раз в 20.

Касательно кода: coin_flip() и generate_name() к классу Loli не относятся, их надо вынести в топ-левел. Алсо, мог бы и рогалик сделать при помощи escape-последовательностей.
Аноним 01/01/15 Чтв 16:47:29 #35 №421234 
>>421213
А, еще. "_orally", "_anally", "_vaginally" - тебе не кажется, что код с этими вещами довольно сильно повторяется? Зделой признак "how", который будет равен ANALLY, ORALLY, VAGINALLY, например.
Аноним 01/01/15 Чтв 17:58:25 #36 №421248 
>>421213
Очень хорошо получилось, правда можно сделать еще ряд улучшений, например, самое простое - это добавить несколько лолиебов, так как с одним скучно и собирать статистику и для них.

Ну и самое пожалуй сложное - это написать более интересные диалоги при сексе: зависящие от возраста, опыта и опционально от рэндома.

Я сам когда пытался это сделать, мне это не удавалось, так как после написания нескольких фраз, у меня появлялся дикий стояк и дальше продолжать не было никакой возможности.
Аноним 01/01/15 Чтв 19:56:29 #37 №421282 
http://rghost.ru/private/60087504/52505f9672f509ef2f627bfb9569847e
1.01rc
>>421248
В диалоги я не умею.
>>421234
Детект в pedobear.process(loli) тоже сделан бездумно, и его надо как-то менять (но я не знаю как, без разделения обработки на два прохода). Алсо, ооп в пистоне - неудобный пиздец.
>Спроси у Цивеника
Кто такой, чем знаменит? Не гуглится. Я знаю только парня с форчана с его loli raep sim.
Аноним 01/01/15 Чтв 20:50:36 #38 №421297 
какие же вы все дебилы
у удочки не может быть никаких методов, это тупо предмет
логика может находиться только в рыбаке
Аноним 01/01/15 Чтв 21:00:09 #39 №421303 
>>421282
> Кто такой, чем знаменит?
Ну ты даешь. Это же http://ru.linkedin.com/in/variousfurriness/en , разводчик фуррей на Рубях.
Аноним 01/01/15 Чтв 21:10:09 #40 №421306 
>>421303
А, этот. Я его под именем Мяуки знаю.
Аноним 02/01/15 Птн 01:27:22 #41 №421417 
>>421297
пидор блять как наживку тогда одевать?
как забрасывать?
как подсекать?
как рыбу снимать?
уёбуй тварь говно
Аноним 02/01/15 Птн 01:38:53 #42 №421425 
fishman.Fishing(Rod rod){};
мимо
Аноним 02/01/15 Птн 05:46:39 #43 №421459 
>>421425
коза.ебись (онегин);
Аноним 02/01/15 Птн 10:09:13 #44 №421471 
>>420026
Какая нахуй удочка, че ты там написал.

У тебя есть класс Vehicle с методом drive.
От него наследуются классы Car и Train.
Все блять /thread
Аноним 02/01/15 Птн 20:03:21 #45 №421578 
http://rghost.ru/private/60102498/0d11f2bb191864e4da59559eb77245fc
Применил паттерны KIFS и YAGNATS. Совершенно непонятно, как делать взаимодействие между объектами - вот уж где ооп сосёт с причмокиванием.
Аноним 02/01/15 Птн 20:20:24 #46 №421581 
>>420026
пиздец как ты далек от рыбалки, грузило у него леску рвет, у лески методов нет, охуеть теперь, дальше не читал.
Начнем с того что нужно подбирать вес груза, для этого есть приватная переменная и сеттер, который заранее не дает ставить такой груз который своей тяжестью вызовет интерфейс из класса лески который ее рвет. Ты написал хуету.
Аноним 02/01/15 Птн 20:27:22 #47 №421584 
14202196421250.jpg
>>420026
Что вы тут блядь все несете, дибилы сука?
Здесь от удочки должен наследоваться кручек с рыбой (насаженной), где рыба наследуются от привычного анимал, а леска наследуется от черенка, а грузы уже от лески. Далее по цепочке вызываем методы от наследованных объектов, получаем профит. Всё!
Аноним 03/01/15 Суб 02:46:36 #48 №421670 
>>420026

В данном конкретном примере с удочкой, вообще ничего не нужно наследовать, а следует применить агрегацию (или композицию), т.е.
класс Удочка, должен состоять из параметров:
грузило, леска, крючек, палка, барабан (и какие там еще составные части у удочки?)

Наследование имеет смысл только тогда, когда Класс-Ребенок - это подвид Класса-Родителя, например:
Автомобиль -> Волга 2110
Животное -> Собака
Персоонаж -> Лоля


Аноним 03/01/15 Суб 03:23:11 #49 №421674 
>>421670
Это у тебя наследование интерфейсов. Мы пишем на C/C++.
Аноним 03/01/15 Суб 15:36:39 #50 №421778 
>>421578
Зачем ты испортил возраст девочек? А вообще, с диалогами лучше конечно стало, впрочем диалоги к сожалению весьма однообразны.
Аноним 03/01/15 Суб 15:39:03 #51 №421781 
>>421674
Это не важно на чем вы пишете.
Наследовать составные части предмета друг от друга, когда нужно применить агрегацию (или композицию) - это высший идиотизм.
Аноним 03/01/15 Суб 16:15:57 #52 №421791 
>>421781
Кстати да. Умение определять когда A, B, C являются частными случаями D, а когда D состоит из A, B, C похоже важнейшее в ООD.

Хотя я как-то давно разочаровался в наследовании и использую онли композицию и интерфейсы, полёт нормальный. Иногда хочется взять и заебашить всё на наследовании, так как проще, но потом когда вспоминаешь эту хрупкую абстракцию, эти уёбищные пятиэтажные деревья наследования, в которые в результате все разрастается, то быстро бросаешь эту задумку.
Аноним 03/01/15 Суб 17:20:38 #53 №421814 
Попытался научить их ходить и обосрался. Зато есть мысли как отрефакторить тот пиздец, который в диалогах.
>>421778
Поправь, делов-то.
Аноним 03/01/15 Суб 21:24:45 #54 №421904 
>>421814
>Попытался научить их ходить и обосрался.
В чем проблема? Это же не очень сложно

>Зато есть мысли как отрефакторить тот пиздец, который в диалогах.
Вообще, на мой взгляд, для большего интереса, стоит создать целый сложный массив (или набор массивов) с диалогами. (Можно все это положить в отдельный файл).

Аноним 03/01/15 Суб 21:36:16 #55 №421908 
>>420026
> очевидно удочку надо относледовать от палки
И сразу файл, дальше не читал.
Удочку следует отнаследовать от абстрактного класса инструментов, а палкой следует композиционно расширить этот класс
Аноним 03/01/15 Суб 21:51:05 #56 №421917 
http://rghost.ru/private/60121102/c310cef0faab04b3d9de5e6ab7d3e6f9
>>421904
Надо же правильно сделать. Вообще, там надо будет весь лес переписывать, а мне было лень, а как сделать попроще я не осилил.
Диалоги писать сложно.
Аноним 04/01/15 Вск 18:59:31 #57 №422212 
http://rghost.ru/private/60135414/67fd36cf5a95eb52f52a57d0145c2454
It walks!
Аноним 05/01/15 Пнд 11:57:41 #58 №422391 
>>422212
В общем, если подумать, то я начинаю понимать, откуда появляются паттерны. Вот такая, казалось бы, простая задача, которая не в ООП стиле решается со скоростью набора текста на клавиатуре, тут превращается в полный пиздец. Вот, например, диалоги у меня вставлены рандомно между строками кода. Это неправильно. А чтобы сделать красиво, поддерживаемо и вообще, надо вводить полноценную систему сообщений. Лолиёб видит лоли, отправляет себе сообщение, некий "модуль диалогов" его перехватывает и выбирает реплику, которая отсылается лоли (и печатается в консольку). Лоля получает это сообщение и как-то реагирует, отсылает сообщение лолиёбу, и т.д. и т.п.. Но я не хочу это делать; слишком много лишнего кода ради ничего. Задача-то решена, в принципе. Дальше только развитие вширь, с добавлением вытекающей спермы, диаметров отверстий/хуйцов и всего такого, но это уже не сильно интересно. Разве только управление прикрутить и цветное отображение.
Аноним 05/01/15 Пнд 14:11:14 #59 №422457 
>>422212
Архив сломан.
Аноним 05/01/15 Пнд 14:29:34 #60 №422465 
>>422457
У меня открылось. Либо пароль неправильно вбил, либо перекачай.
Аноним 05/01/15 Пнд 14:37:31 #61 №422467 
>>422465
Либо прыщепроблемы. Перепакуй в 7z какой-нибудь, плиз.
Аноним 05/01/15 Пнд 14:38:57 #62 №422468 
А, отбой. Нужно было `unrar-nonfree` юзать.
Аноним 05/01/15 Пнд 15:09:58 #63 №422476 
>>422391
Добро пожаловать в волшебный мир ынтырпрайза!
Аноним 05/01/15 Пнд 16:05:33 #64 №422488 
>>422476
…Тебя ждет увлекательный мир XML и dependency injection…
Аноним 05/01/15 Пнд 19:08:43 #65 №422531 
>>422488
> dependency injection
Ненужная хуйня. Потому как все это вырастает потом в SendMessage(ISender sender,IMessage msg,IReceiver receiver). И ты ахуееваешь от этой ненужной иерархии.
>XML
Сжечь нахуй
Аноним 05/01/15 Пнд 19:41:21 #66 №422540 
>>422531

+
Аноним 06/01/15 Втр 01:49:35 #67 №422686 
>>422531
> Сжечь нахуй
А ты попробуй сжечь все эти километры говна и конфигов. И бизнесменов-пидорасов, которые это говно проталкивают в моё IT.
Аноним 06/01/15 Втр 22:54:42 #68 №422904 
>>422531
>>XML
>Сжечь нахуй
Почему? Вроде удобно если использовать без фанатизма, всяк лучше просто текста.
Аноним 07/01/15 Срд 06:14:29 #69 №422986 
>>422531
> ненужная хуйня
А тестировать мы не будем? Или ты из этих.. кто код с первого раза рабочий пишет и без багов?
Аноним 07/01/15 Срд 12:38:10 #70 №423028 
>>422904
> без фанатизма
Понимаешь, XML действительно удобен как язык разметки (хотя я бы предпочел аналогичный вариант SGML с «</>» в качестве закрывающего тега), но так как в подавляющем большинстве случаев, с которыми я имел дело, его используют неуместно, то лучше пусть его сожгут вообще, нахуй.
Аноним 07/01/15 Срд 12:50:02 #71 №423030 
>>423028
Не, ящитаю ты неправ. XML должен существовать, чтобы на него как мухи на говно слетались разные идиоты от мира программирования. Сожгут XML - они ПРИДУТ ЗА ТОБОЙ
Аноним 07/01/15 Срд 15:08:50 #72 №423073 
>>422904
https://wiki.theory.org/YourLanguageSucks#XML_sucks_because

>>423030
+
Аноним 08/01/15 Чтв 06:27:13 #73 №423243 
>>420188
не "попасться()" а "съесть()"
Аноним 08/01/15 Чтв 20:23:11 #74 №423420 
>>423243
Вообще-то не съесть(), юноша, а клюнуть(). Действительно, тогда рыба будет унаследована от птицы (через Dependency Injection примесь)
Аноним 09/01/15 Птн 06:16:27 #75 №423575 
>>423420
Как может рыба по собственному желанию клюнуть? Он только хочет есть.
Аноним 09/01/15 Птн 12:07:13 #76 №423622 
>>422212
используй гист наконец
Аноним 09/01/15 Птн 12:10:08 #77 №423624 
>>423028
> XML
> удобен как язык разметки
сосёт у s-выражений с причмокиванием
Аноним 09/01/15 Птн 19:09:15 #78 №423760 
>>423622
Там регистрироваться надо, ник придумывать.
Аноним 09/01/15 Птн 20:58:10 #79 №423789 
>>421417
А вот всё это делает как раз рыбак. То есть рыбак наблюдает за удочкой (implements Runnable), а Рыба попадается на удочку в случайный момент времени (она может кружить вокруг удочки и покусывать приманку, может попасться на крючок, то есть она тоже implements Runnable).
Аноним 09/01/15 Птн 23:02:42 #80 №423863 
>>423760
Я могу тебе придумать ник.
moms_pineapple
Пароль сам придумаешь. Поставь прогу какую-нибудь, если не можешь.
Аноним 10/01/15 Суб 02:05:58 #81 №423913 
>>423789
у удочки, у разичных её частей, есть стейт
крючёк с червём, без червя, с рыбой, папловок прыгает/в покое и т.д.
Аноним 10/01/15 Суб 09:46:39 #82 №423942 
>>423789
Еще момент - покусывая приманку, рыба может её eventually съесть полностью, нужно этот момент обработать, чтобы она съела и при этом не попалась

>>423575
>Как может рыба по собственному желанию клюнуть? Он только хочет есть.
Так рыбак тоже только хочет есть, а удочка - иплементация его интерфейса Hungerable с методом findFood()
Аноним 10/01/15 Суб 18:02:54 #83 №424062 
>>423863
Мне не нравится этот ник.
Аноним 10/01/15 Суб 18:10:58 #84 №424066 
>>423863
пириводится как материнские арбузы?
comments powered by Disqus