2015-11-19 1 views
0

Я создаю игровой проект, который позволяет пользователю выбирать размер игры (2x2, 3x3, 4x4 и т. Д.) С помощью меню. В настоящее время переменная размера игры объявляется в #define aka constant. Должен ли я превращать переменную размера игры в глобальную? Если да, то как?Изменить #define значение в меню на языке программирования C

Пожалуйста, дайте мне несколько советов о том, как это сделать. Я все еще новичок на языке программирования C.

+1

Макрос (токен '# define') - это просто текст, который будет заменен на код перед компиляцией. Он становится непреложным буквальным значением. Однако я подозреваю, что, поскольку это макрос, он используется таким образом, который не легко конвертируется в переменную, которая находится в памяти и может быть изменена. Вы задаете слишком широкий вопрос, чтобы ответить на SO. Поскольку это зависит от фактического кода, на который вы ссылаетесь (чего у нас нет), и вашего отсутствия базовых знаний в области программирования (которые вы должны приобрести, прежде чем выполнять эту задачу). – StoryTeller

ответ

1

Если объявлено через#define, то это не переменная, это буквальная константа! Объявите ваш gameSize как (глобальной) переменной (вне любой функции), например:

int gameSize; 

Тогда через некоторое взаимодействие ("какого рода меню GUI Текстология ?, в любом случае ...?) Пусть изменить пользователь его , пример:

+1

У меня возникает соблазн спуститься вниз. Этот ответ (a) способствует использованию глобальных переменных (b) устанавливает OP на быстрой дорожке, чтобы получить ошибку компилятора, когда их статические массивы не могут быть созданы с помощью глобальной переменной размера. – StoryTeller

+0

Под графическим меню. Он был объявлен как «define gameSize 3». Это относится к 3х3 игр. Я хотел бы изменить значение gameSize в основном методе. – Milky

+0

В GUI, трюк должен иметь обратный вызов в вашем коде, который используется для изменения значения размера игры, повторной инициализации игрового поля и т. Д. И подключения к некоторому элементу GUI, который позволяет вам выбрать значение. –