2024-06-14 00:00
В мае реализовал текстовый интерфейс игры «Память» на Python. В C++ перевёл инструментом.
Реализация логического игрового цикла привела к появлению контроллера, управляющего контекстом. Создание контроллера на Python прошло без происшествий, а вот с версией для C++ пришлось помучиться. Мучения были вызваны тем, что контроллер использует std::any из C++17, а инструмент ограничен C++11 с целью поддержки OpenWrt.
Что касается объёма кода, то картина получилась следующей (в строках):
В процентах выглядит это так:
Язык | Всего строк кода | Портируемого | Непортируемого |
---|---|---|---|
Python | 1275 (100%) | 925 (72%) | 350 (28%) |
C++ | 1511 (100%) | 946 (62%) | 565 (38%) |
Выходит, что разработка версии игры «Память» на языке С++ оказалась на 62% строк кода дешевле, чем была бы без использования инструмента. Цифры приятные.
Сам текстовый интерфейс игры «Память» на текущий момент выглядит следующим образом:
В июне сделаю простейший графический интерфейс для версии Python.