Емать конечно переводчики ломаются на простой живой японской азбуке Хирагана
なつだね!- "Вот и лето, да?", "Лето началось, не так ли?"
Простейшая японская фраза, читается как:
"Natsu Da Ne !"
- Natsu (なつ) - Лето. Обычное японское слово. Оно еще как-то иероглифами записывается, но я не знаю их :(
(шучу, погуглил: 夏)
- Da (だ) - Более неформально-разговорный аналог глагола Desu (です), который можно перевести как "есть" или "быть". Те, кто в инглише, сразу увидят схожесть с "am", "is" или "are" - та же песня (но без родов, лиц и множества, прям красота)
- Ne (ね) - Частица согласия, добавляя в конце хвостик "да?", "правда?", "не так ли?"
И да, не удивляйтесь что глагол в конце - порядок слов у них специфический. В то время как у нас, у европейцев и у американцев, принята схема S-V-O - Субьект-Действие-Обьект, например: Я (субъект) читаю (действие) книгу (объект)
В Японском языке это S-O-V, и глагол всегда стоит в конце, завершая предложение. Например "читаю книгу" - hon o yomu (ほんをよむ): hon (книга, ほん ) o (частица, を) yomu (читаю, よむ)
なつだね!- "Вот и лето, да?", "Лето началось, не так ли?"
Простейшая японская фраза, читается как:
"Natsu Da Ne !"
- Natsu (なつ) - Лето. Обычное японское слово. Оно еще как-то иероглифами записывается, но я не знаю их :(
(шучу, погуглил: 夏)
- Da (だ) - Более неформально-разговорный аналог глагола Desu (です), который можно перевести как "есть" или "быть". Те, кто в инглише, сразу увидят схожесть с "am", "is" или "are" - та же песня (но без родов, лиц и множества, прям красота)
- Ne (ね) - Частица согласия, добавляя в конце хвостик "да?", "правда?", "не так ли?"
И да, не удивляйтесь что глагол в конце - порядок слов у них специфический. В то время как у нас, у европейцев и у американцев, принята схема S-V-O - Субьект-Действие-Обьект, например: Я (субъект) читаю (действие) книгу (объект)
В Японском языке это S-O-V, и глагол всегда стоит в конце, завершая предложение. Например "читаю книгу" - hon o yomu (ほんをよむ): hon (книга, ほん ) o (частица, を) yomu (читаю, よむ)
❤1🤯1
Сегодня, пока сидел на физике (ОГЭ) и ждал лабораторку, пришла интересная мысль:
Есть же в компиляторостроении такая штука как AST - Абстрактно Синтаксическое Дерево. Которая интерпретирует ваш сложный код в простые для компьютера узлы
И я подумал - а сколько этих узлов бывает?
Для лучшего контраста представим что узел - это маленькая, сантиметровая, монетка. Соберем эти монеты вдоль, друг за другом, и что мы получим (цифры подбирал примерные):
- Linux - 1.25 млрд узлов, 12.5 тысячи километров. Практически как расстояние от Москвы до Владивостока, или, высота где заканчивается атмосфера и начинаются орбиты многих искусственных спутников
- Qt6 - 2 млрд узлов, 20 тысяч километров. Почти что длина экватора Земли (40.075 км)
- LLVM/Clang - 2.7 млрд узлов, 27 тысяч километров. Сложите 2 наши Земли вместе - и расстояние между крайними точками (двум диаметрам) будет ~25.5 тысяч километров
- UE5 - 8 млрд узлов... 80 тысяч километров... Четверть расстояния до Луны...
И это все помещается в наш 64-битный компьютер, вот думайте....
P.S. Я взял в расчет ВСЮ кодовую базу проектов, что естественно неверно. Ведь компилятор строит дерево для каждого .cpp файла (единицы трансляции), создает промежуточный файл, и затем удаляет дерево из оперативки. Так-то в одном .cpp файле может быть от силы 100 тысяч узлов, и учитывая размер узла +-64 байта, это дает нам +-6 МБ. Не так уж и много
Есть же в компиляторостроении такая штука как AST - Абстрактно Синтаксическое Дерево. Которая интерпретирует ваш сложный код в простые для компьютера узлы
И я подумал - а сколько этих узлов бывает?
Для лучшего контраста представим что узел - это маленькая, сантиметровая, монетка. Соберем эти монеты вдоль, друг за другом, и что мы получим (цифры подбирал примерные):
- Linux - 1.25 млрд узлов, 12.5 тысячи километров. Практически как расстояние от Москвы до Владивостока, или, высота где заканчивается атмосфера и начинаются орбиты многих искусственных спутников
- Qt6 - 2 млрд узлов, 20 тысяч километров. Почти что длина экватора Земли (40.075 км)
- LLVM/Clang - 2.7 млрд узлов, 27 тысяч километров. Сложите 2 наши Земли вместе - и расстояние между крайними точками (двум диаметрам) будет ~25.5 тысяч километров
- UE5 - 8 млрд узлов... 80 тысяч километров... Четверть расстояния до Луны...
И это все помещается в наш 64-битный компьютер, вот думайте....
P.S. Я взял в расчет ВСЮ кодовую базу проектов, что естественно неверно. Ведь компилятор строит дерево для каждого .cpp файла (единицы трансляции), создает промежуточный файл, и затем удаляет дерево из оперативки. Так-то в одном .cpp файле может быть от силы 100 тысяч узлов, и учитывая размер узла +-64 байта, это дает нам +-6 МБ. Не так уж и много
❤1🔥1
Ничего не обычного, просто 19 способ инициализировать переменную в C++
it's simple
UPD: Кому интересно почитать: тык
it's simple
UPD: Кому интересно почитать: тык
😎1
Примеры работы с PSE SDK
Завершая и замораживая Portal Solver Editor SDK, не могу не поделиться первыми примерами работы с ним
Объясню кратко каждый шаг:
1) Создаем команду на создание элемента, и выбираем ему класс "дверь"
2) Каждый элемент имеет по 8 32-битных регистров для данных. Их спецификация расписана в PSE > Concept > Elements. В данном случае в регистре "1" находится цвет двери при активации. Туда мы записываем красный цвет
3) И затем отправляем команду чтобы установиться State = 1. Что такое State? Главная нить судьбы, связующая между элементами. Например я нажал на кнопку -> кнопка сгенерировала событие с State = 1 -> Дверь приняла этот State и открылась. Все просто. И хоть State является 8 битным числом, большинство элементов интерпретируют свою активацию при State не равном нулю, то есть, та же условная дверь откроется при State != 0
В посте также прикреплю вырезки из спецификации SDK (в которой большинство вещей уже прописаны мною)
На этом все я думаю? Не знаю, держите v flower на удачу
Завершая и замораживая Portal Solver Editor SDK, не могу не поделиться первыми примерами работы с ним
Объясню кратко каждый шаг:
1) Создаем команду на создание элемента, и выбираем ему класс "дверь"
2) Каждый элемент имеет по 8 32-битных регистров для данных. Их спецификация расписана в PSE > Concept > Elements. В данном случае в регистре "1" находится цвет двери при активации. Туда мы записываем красный цвет
3) И затем отправляем команду чтобы установиться State = 1. Что такое State? Главная нить судьбы, связующая между элементами. Например я нажал на кнопку -> кнопка сгенерировала событие с State = 1 -> Дверь приняла этот State и открылась. Все просто. И хоть State является 8 битным числом, большинство элементов интерпретируют свою активацию при State не равном нулю, то есть, та же условная дверь откроется при State != 0
В посте также прикреплю вырезки из спецификации SDK (в которой большинство вещей уже прописаны мною)
На этом все я думаю? Не знаю, держите v flower на удачу
💘4
PSE SDK - Что такое State и почему это "нить судьбы"
Давайте начистоту: В Portal: Solver есть куча элементов, и они должны постоянно общаться друг с другом: игрок нажал на кнопку - дверь открылась, активировал солвер-кнопку - дропнули кубик. И чтобы жестко не завязывать каждый элемент друг с другом, была разработана универсальная единая сущность: State (состояние)
State - это, в кой то степени, универсальный язык, на котором разговаривают все элементы в игре. В игре (и в редакторе) он как провод от одного элемента к другому. И по этому проводу бегает всего-навсего одно маленькое число типа int8 (8-битное целое число, то есть байт)
Но, большинство элементов бинарны по своей природе, то есть, имеют лишь 2 состояние (открыт/закрыт) - и тогда было создано одно простое правило: Для таких элементов активность будет считаться при State не равном 0. А источники (кнопки) наоборот, отправляют State равной 1 при активации, и 0 при деактивации
Вот такой мини-Kismet из UE3 получился
Надеюсь стало понятнее, ха
Давайте начистоту: В Portal: Solver есть куча элементов, и они должны постоянно общаться друг с другом: игрок нажал на кнопку - дверь открылась, активировал солвер-кнопку - дропнули кубик. И чтобы жестко не завязывать каждый элемент друг с другом, была разработана универсальная единая сущность: State (состояние)
State - это, в кой то степени, универсальный язык, на котором разговаривают все элементы в игре. В игре (и в редакторе) он как провод от одного элемента к другому. И по этому проводу бегает всего-навсего одно маленькое число типа int8 (8-битное целое число, то есть байт)
Но, большинство элементов бинарны по своей природе, то есть, имеют лишь 2 состояние (открыт/закрыт) - и тогда было создано одно простое правило: Для таких элементов активность будет считаться при State не равном 0. А источники (кнопки) наоборот, отправляют State равной 1 при активации, и 0 при деактивации
Вот такой мини-Kismet из UE3 получился
Надеюсь стало понятнее, ха
❤1🔥1🤩1