У меня есть проект из университета, и он просит нас создать новый псевдоязык с использованием макросов с препроцессором.
Хотя есть одна команда, которую я просто не могу найти способ заставить ее работать.
Команда выглядит следующим образом:
DAMAGE DEFENDER 12
Я пробовал несколько вещи и, как я упоминаю в названии, если можно как-то поменять макросы, это может решить мою проблему.
DEFENDER = Player [1-turn], который является объектом класса игрока, и ход идет из От 0 до 1,
Я пытался реализовать функцию с использованием DAMAGE, но это невозможно, потому что в DEFENDER и числе нет запятой, плюс я не могу закрыть скобки после 12.
I попытался с перегрузкой оператора, и кажется, что он может работать, только если обмен возможен. Я думал о том, чтобы сделать макрос DAMAGE минусом (-) и сделать что-то подобное
Player[1-turn] - 12
Может быть, что-то еще, например, использовать MACRO при условии?
Например #define DEFENDER Player[1-turn] CONDITION_MACRO
#define CONDITION_MACRO -/+ (for damage or heal)
Но УЩЕРБ стоит первым в качестве ключевого слова. Также макрос DEFENDER используется в других макросах, таких как GET_HP (DEFENDER), поэтому полезно оставаться таким, но если у вас есть идеи, которые могут решить проблему в обоих случаях, я был бы очень признателен.