TrustedUser
2,147
edits
m (Text replacement - "<source lang=" to "<syntaxhighlight lang=") |
m (Text replacement - "</source>" to "</syntaxhighlight>") |
||
Line 3: | Line 3: | ||
'''Defines''', in [[AGIWiki/AGI|AGI]] [[AGIWiki/Logic|logic]], allow you to provide a proper name for the [[AGIWiki/Variable|variables]], [[AGIWiki/Flag|flags]], [[AGIWiki/Animated object|objects]] and other data in the game. This significantly improves the readability of the code. | '''Defines''', in [[AGIWiki/AGI|AGI]] [[AGIWiki/Logic|logic]], allow you to provide a proper name for the [[AGIWiki/Variable|variables]], [[AGIWiki/Flag|flags]], [[AGIWiki/Animated object|objects]] and other data in the game. This significantly improves the readability of the code. | ||
To create a define name, use the <syntaxhighlight lang="cpp">#define</ | To create a define name, use the <syntaxhighlight lang="cpp">#define</syntaxhighlight> command. The name of the define is given, followed by the define value: | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
#define ego o0 | #define ego o0 | ||
#define roomDescription "This is a large hall with tall pillars down each side." | #define roomDescription "This is a large hall with tall pillars down each side." | ||
</ | </syntaxhighlight> | ||
Then the define name can be used in place of the define value: | Then the define name can be used in place of the define value: | ||
Line 13: | Line 13: | ||
draw(ego); | draw(ego); | ||
print(roomDescription); | print(roomDescription); | ||
</ | </syntaxhighlight> | ||
'''Note:''' The rules for defines vary depending on the compiler. The following discussion applies to the [[AGIWiki/AGI Studio|AGI Studio]] compiler. | '''Note:''' The rules for defines vary depending on the compiler. The following discussion applies to the [[AGIWiki/AGI Studio|AGI Studio]] compiler. | ||
Line 36: | Line 36: | ||
} | } | ||
</ | </syntaxhighlight> | ||
The same code, using defines, might appear like the following: | The same code, using defines, might appear like the following: | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
Line 52: | Line 52: | ||
show.pic(); | show.pic(); | ||
} | } | ||
</ | </syntaxhighlight> | ||
The AGI Studio compiler allows you to place the <code><nowiki>#define</nowiki></code> commands in a separate file and then use those defines in multiple logics without having to redefine them all again. See [[AGIWiki/Includes|includes]] for more details. | The AGI Studio compiler allows you to place the <code><nowiki>#define</nowiki></code> commands in a separate file and then use those defines in multiple logics without having to redefine them all again. See [[AGIWiki/Includes|includes]] for more details. | ||