Start by looking in the ref section at arrays. That will get rid of the need to have a named var for each cylon eg cylon1, cylon2 ect become cylon
- ( where x is the number of the cylon.). You can get rid of the need for a function for each cylon by passing the cylon number as a parameter.
A struct takes this to the next level. Is all in the ref section.
The language is C/C++ and with a very few exceptions every thing from any of the C/C++ sites can be used.
The main exceptions are I/O (Streams/stdio) and String.