>>115910
Лучше твоей:
IShluha mamka = MamkaManager.GetMamkaByMessageId(115910);
mamka.CumInMouth(bigCock);
IShluha mamka = MamkaManager.GetMamkaByMessageId(115915);
mamka.CumInMouth(bigCock);
mamka.CumInMouth(bigCock);
mamka.CumInMouth(bigCock);
IShluha bitch = VaginaManager.GetRandomBitch();
for (int i = 0; i < niggers.length; i++)
{
IEbar nigger = niggers[i];
bitch.FuckinInAss(nigger);
bitch.CumInVagina(nigger);
}
IShluha mamka = new Mamka(bitch);
IDaun anonym = mamka.GiveBirthTo(115917);
Мамоебы, кто-нибудь ответит по теме?
>>115920
Третий раз читаю с нулевой, третий раз обсираюсь.
>>115920
bitch = Bitch.new;
5.times do
nigger = Nigger.new
fuck = nigger.fuck_with(bitch);
fuck.in_ass!
fuck.in_vagina! until fuck.can_cum
nigger.cum!
end
if bitch.is_pregnant?
mamka = bitch.to_mamka
sleep 9.months
anonym = mamka.make(:daun)
end
>>116066
fial
bitch = Bitch.new;
5.times do
nigger = Nigger.new
fuck = nigger.fuck_with(bitch);
fuck.in_ass!
fuck.in_vagina! until fuck.can_cum
nigger.cum!
end
if bitch.is_pregnant?
mamka = bitch.to_mamka
sleep 9.months
anonym = mamka.make(:daun)
end
Бамп
Бамп.
Бамп.
>>116086
Он походу спать ушёл. Бампну за него с последней страницы.
>>116086
Бамп.
Я от грусноты бпмпаю. /гд/ сегодня целый день какая-то гнойная мамоебская параша с форсреми на ободке.
>>115898
Палю годноту. Значит, создаёшь новый класс GameComponent. Описываешь в нём статические переменные, которые ссылаются на все важные объекты игры. Потом делаешь так, чтобы все игровые объекты наследовали от него. А дальше сам знаешь, что делать.
public class GameComponent
{
public static Game game;
public static Camera camera;
public static и_все_остальное...
}
>>116107
Таки это неправильно. В GameComponent накопится куча избыточного хлама для каждого конкретного класса. Лучше в каждый класс передавать ServiceManager и из него делать выборку только нужных глобальных данных и др. класов. Как в ОПе но через конструктор.
>>116109
И смысл так делать? Ведь один хуй все будут знать обо всех. Только при этом будет лишний костыль. Придётся засрать конструкторы, придётся ебать мозги с постоянным отслеживание нужных переменных. Есть базовый класс существ, там ты сохранил мир и ещё какую-нибудь хуйню, а в его наследнике требуются ещё другие классы, и вот опять нужно объявлять переменные, присваивать им значения.
Бамп
>>115898
>В одном из прошлых уроков я рассказывал про маленькую хитрость, которая, как оказалось, является паттерном Singleton
Проиграл и закрыл нахуй.
Талант отрыть в инете самое гавно блядь. Лучше бы
http://gameprogrammingpatterns.com/
почитал.
>>116107
>Главное чтобы удобно было.
Удобно только с первого взгляда. Логичнее было бы пропихивать Game в самик классы через Dependency Injection, без всякой статики.
Понятно, что в мамкиных проектах похуй, как писать, но надо стремиться к лучшему. Ведь ты потратишь на 5 минут больше, ебать как много, зато получишь нормальную расширяемую архитектуру.
Алсо
>>115898
>Допустим, юниту нужен доступ к миру, чтобы пройтись по другим юнитам.
У каждого юнита есть ссылка на мир, в котором он находится, которая ему передаётся при создании.
У мира есть ссылки на все юниты. Стандартный подход. Никакой глобальщины.
Game game = new Game();
game.add(new Unit());
всё.
class Unit
{
public Unit(Game game)
{
this.game = game;
this.game.soundManager.play("hooray");
}
}
>>116148
Это ничем не лучше вышеописанных способов. Почему? Да потому что все игровые объекты будут иметь доступ ко всему, что скрыто в классе Game и это никак не способствует "нормальной расширяемой архитектуре". Это типичный антипаттерн.
Другое дело, когда ты чётко разграничиваешь доступ к объектам. Если различные игровые сущности хранятся в игровом мире, то должны ли эти сущности выходить за его пределы? Нет. Сущности должны знать только о мире и о том, что находится в нём. Если ты хочешь внутри сущности проиграть звук или создать эффект, вызови его через мир, а мир уже решит, что с этим делать: world.playSound("croak");
>>116153
>Да потому что все игровые объекты будут иметь доступ ко всему, что скрыто в классе Game
Про доступ я ничего не говорил, скрывай что хочешь, на здоровье.
world.soundManager.play vs world.playSound - ну фиг знает, второе покрасивее, да.
Конференция аутистов итт. Сажа дебилам.
мимо-ассетоцарь
>>116107
>объекты наследовали от него
Нахуя наследовать то? Статика и так видна везде будет
>>116157
> скрывай что хочешь
Класс Game служит для обеспечения доступа к основным объектам игры, так ведь? Мир, камера, менеджер звуков, менеджер эффектов. Доступ к ним будет доступен отовсюду, куда передаётся объект класса Game.
> ну фиг знает, второе покрасивее, да.
Здесь разница не столько в семантике. Ты даёшь доступ к менеджеру звуков сущностям, а им об этом знать не нужно. Они должны воспроизводить звуки в мире, а не в каком-то менеджере. Более того, даже сам World не должен знать о существовании различных менеджеров. Можно передавать ему в конструктор конкретную реализацию интерфейса IWorldAccess, через которую будет осуществляться воспроизведение звуков, эффектов и тому подобное.
Вот интересная статья на эту тему: http://sergeyteplyakov.blogspot.se/2013/03/di-service-locator.html
>>116199
Как нахуя? Чтобы не писать всякое говно, типа Main.game или Main.instance.game. А просто писать game.
>>116267
Этот даунский вариант подходит только для плас-плас-параши.
>>116270
>плас-плас-параши.
Не нужна. Для дела есть шарп, для души - няшная и асм.
И да, на дефайнах в няшной можно в забавные макросы - правда, препроцессор все же слабоват.
>>116274
>сравниваешь
Wrong.
Крестопараша не нужна вообще, безо всяких сравнений.
>>116280
Верно.
>>116272
>шарп
Или анальное рабство, или обрезанное тормозное говно (кое где еще и устаревшее как говно мамонта). Гуд лак.
>>116287
Шта? Память освобождать надо в твоей няшной, за меня это делают умные указатели, контейнеры, и parentы.
>>116286
>анальное рабство
Лучше уж няшный микрософт чем омерзительные психически ущербные швабодковыродки. Чисто эстетически - да и глупо это "комьюнити" слишком, то есть совсем дебилы сплошь.
Почти как /зк, хаха.
>>116262
>Ты даёшь доступ к менеджеру звуков сущностям, а им об этом знать не нужно.
Ну, возможно, ты прав. Это уже мои личные предпочтения, мне никогда не доставляло видеть god object.
>Более того, даже сам World не должен знать о существовании различных менеджеров.
Обращаться через интерфейсы = знать. Очевидно, что конкретная реализация нам не нужна.
>>116294
Отличная аргументация.
Даунский вариант - дебил (то есть ты) решает проблемы через жопу и не знает ООП - а при том лезет именно в плюсы с решениями для няшной.
++ параша - святая истина. Впрочем, ты и близко не кодер и плюсов не знаешь, тебе не понять.
Какие злые здесь шкальники.
>>116317
>КУДАХ БАБАХ КУКАРЕКУ
Ясно.
Затопляй говном меня полностью. Полностью затопляй.
>>116319
Да ты охуел, няша. Ты деньги плати, говна он хочет.
>>116322
Какие деньги? Подождем шкальников-серунов. Они дадуд стране говна!
Я уже немного серьезно подумываю вайпнуть уютный /gd/ говном. Останавливает только догадка, что говно говном не смоешь. Все равно умным шкальникам взяться неоткуда, адекваты играют в рашен-партизанен, карочь все опять засрут и ваще это норма. Блядь, последней каплей итт и бухой зомби-даун недавно. Нахуй так жить?
>>116327
Почему тебе так припекло от треда?
>>116328
Тема норм, но после ковровой мамоебли знающие аноны врядли отпишутся. Обычно что-то знающие себя ценят/уважают и в говно не лезут, даже вербальное. Лучше бы этот тред утонул с парой ответов, зато без ущерба для анона.
>>116332
Но ведь это двач. Тут всякое может быть. Если ты не хочешь, чтобы твою мамку выебли, иди на какой-нибудь гд.ру. Там мамоёбов сразу банят.
>>116327
> серьезно подумываю вайпнуть уютный /gd/ говном
DO IT
>ты не хочешь, чтобы твою мамку выебли
Нахуй так жить?
Правила для неудачников. Успешные люди клали хуй на всякие там правила, паттерны и прочее. Они просто делают игры. Просто, блять, делай игру.
>>116296
>Проецирование, аргументация ад хоминем
Лол, ясно, понятно.
>>116341
> >#define game Main.instance.game
>умственно неполноценный защищает ВОТ ЭТО
Бедняжка. Плохо быть тобой, хуже уже нет.
>>116340
>Просто, блять, делай игру.
Для начала покажи свои игры, петушок.
inb4 нехочу небуду диванон игрыненужны
>>116353
Мамку ебал. Твою.
>>116349
Так ты же дебил, и это вполне себе медицинский факт и твое собственное признание.
Обсуждать с дебилом код смысла нет никакого, что и было указано.
Такие дела.
>>116359
Не угадал. Зомби-кун.
>>116357
>блабла тыдибил хурр дурр
Может уже обратно в /б уйдешь с такими методами спора?
>>116365
Маме это своей будешь показывать, понял? А здесь нормально общайся.
Если не прекратите засирать тред, я выебу ваших мамаш, так и знайте.
>>116388
Ты чо, сука, ты чо мразь блять? Вот такие пидоры, как ты, испортили тред.
>>116411
Ты казёл, казлина блять. Заебал уже. Не пиши здесь сука, только если есть что по теме сказать мудила скот.
>>116415
Заколебал уже говном своим тред засирать, выблядок гнилой, убей себя, хуесос.
Ну всё, вы огребаете.
IGod opThisPost = God.GetInstance();
List<IShluha> mamki = BoardManager.GetAllMoms("/gd/").Without(opThisPost);
for (int i = 0; i < mamki.length; i++)
{
IShluha mamka = mamki[i];
mamka.FuckAndCumOnFace(opThisPost);
if (mamka.Said("hochy dobavki"))
{
mamka.FuckAndCumOnFace(opThisPost);
}
for (int j = 0; j < mamka.relatives.length; j++)
{
IDaun relative = mamka.relatives[j];
relative.PissOnFace(opThisPost);
if (relative is IBatya)
{
(relative as IBatya).SayHim("ti lisiy pidor");
}
}
}
Театор одного семена.
Лучший тред в гд.
Бамп по теме.
Перечитываю этот тред перед сном.
>>115898
Хранить в глобальной переменной и не париться.
Петухи со своим ентерпрайзным ООП надоели.
>>118216
А если ЯП не поддерживает глобальных переменных?
>>118245
> я знаю множество языков но ни одного без глобальных переменных
Может ты путаешь глобальные переменные со статическими?
>>118272
Чем тебе публичная статическая переменная не глобальная?
>>118278
Ну смотри, если твоя мамка доступна везде и круглосуточно, то это глобальная переменная, но если твоя мамка доступна круглосуточно только по конкретному адресу, то это уже статическая переменная.
>>118283
И в том и в другом случае областью видимости твоей мамки является вся программа.
>>118283
>доступна везде и круглосуточно
Вы только посмотрите на этого дауна, а вызывать ты её как будешь, не по адресу что ли?
>>118291
ДАТЫШТО?!!! Глобальная переменная - это такая жуткая магия и она не хранится в памяти никогда. А если её завернуть в нейспейс, то она перестаёт работать сразу же.
Аноны, как вы организовываете взаимодействие игровых объектов? Допустим, юниту нужен доступ к миру, чтобы пройтись по другим юнитам, еще ему нужен доступ к звуковому менеджеру, чтобы воспроизвести звук выстрела, еще ему нужен доступ к частицам, чтобы создать эффект. Или, допустим, миру нужен доступ к объекту экрана, чтобы узнать текущую позицию и выводить только нужные тайлы на экран.
Я пока нашел только одну более-менее нормальную статью на эту тему: http://www.ant-karlov.ru/globalnoe-hranilicshe.html
Там в пример приводится некое глобальное хранилище:
Это нормальный подход? Какие у него подводные камни?