Open main menu

Difference between revisions of "AGIWiki/Defines"

45 bytes added ,  15:17, 25 October 2018
m
Text replacement - "</source>" to "</syntaxhighlight>"
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</source> command. The name of the define is given, followed by the define value:
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."
</source>
</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);
</source>
</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:


  }
  }
</source>
</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();
  }
  }
</source>
</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.


TrustedUser
2,147

edits