Простые приложения на С++

CRTP в игровых механиках

В мире разработки игр часто возникает необходимость создавать гибкие и производительные системы. Одним из мощных инструментов в C++ для достижения этой цели является CRTP — Curiously Recurring Template Pattern. Сегодня мы разберём, как CRTP может помочь в создании игровых механик, и реализуем простой пример с использованием библиотеки SFML.

Разработка игр на C++

Разработка игр на C++ — это увлекательный и сложный процесс, который требует понимания как самого языка программирования, так и основ игрового дизайна, математики и компьютерной графики. C++ является одним из самых популярных языков для создания игр благодаря своей производительности и гибкости. В этом введении мы рассмотрим основные этапы и концепции, которые помогут вам начать путь в разработке игр на C++.

Построение минимального дерева Штейнера в евклидовой плоскости

Даны три точки в евклидовой плоскости с координатами A(x1,y1), B(x2,y2) и C(x3​,y3​). Необходимо построить минимальное дерево, соединяющее эти точки с минимальной общей длиной рёбер.

Паттерны состояния (State) и стратегии (Strategy) в  играх на C++

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

Задача "Испытание автомата"

Компания Bookface, основанная в Ужляндии, где работает Степан, решила установить в своих офисах автоматы по продаже чая и кофе, чтобы программисты могли с пользой провести время во время перерывов. Стоимость стаканчика чая или кофе в автомате установлена равной пяти ужикам (местная валюта Ужляндии). Автоматы принимают монеты по 5 и 10 ужиков, а также купюры номиналом 10, 50 и 100 ужиков.

Диапазоны (Ranges) в C++20

Диапазоны (Ranges) в C++20 представляют собой мощное дополнение к стандартной библиотеке, которое упрощает работу с последовательностями данных, делая код более выразительным и читаемым. Они предоставляют новый способ обработки контейнеров и других последовательностей, используя ленивую (отложенную) оценку и модульный подход.

Простая нейросеть на С++

Этот код реализует простую нейронную сеть на C++ для решения задачи логической операции "И" с использованием алгоритма обратного распространения ошибки. Он демонстрирует основы нейронных сетей и обучает сеть с двумя входами, скрытым слоем из двух нейронов и одним выходом. Данную модель нейронной сети можно адаптировать для решения других задач с использованием разных данных и сетевых архитектур.

Файловый менеджер на С++

Разработка файлового менеджера на C++ - это отличный способ углубить свои знания в области программирования, особенно в работе с файловой системой, обработке пользовательского ввода и создании графического интерфейса (если планируется GUI-версия). Файловый менеджер, по сути, является инструментом для навигации по файловой системе компьютера, позволяющим выполнять различные операции с файлами и директориями: создание, удаление, копирование, перемещение, переименование, просмотр свойств и т.д.

Модули С++20

В стандарте C++20 модули представляют собой новый способ организации и использования кода, который пришел на смену традиционным включаемым заголовочным файлам. Модули предоставляют следующие преимущества:

Коррупция

С целью борьбы с теневой экономикой банк решил внедрить объединение N счетов фирмы в один. За одну операцию объединяются 2 счета и банк автоматически перечисляет на свой счет Р% от суммы объединения за выполнение операции и закрытие одного из счетов. Какая наибольшая сумма может остаться на счету фирмы?