The main reason you find our C++ examples in the style of agk:
rint("hello") rather than CDisplay display : display.Print ( CString("hello") ) is that we wanted a direct mapping between Tier 1 (BASIC) and Tier 2 (C++) so you could learn one and instantly code in the other if you chose to do so. As stated earlier, if we used a class structure, it would not migrate easily back to BASIC. One of our goals with AppGameKit is to make it easy for the beginner, and in doing so make it faster for more experienced users to code quickly. As mentioned, it really is down to how you prefer code. I have spent half my life using BASIC in one form or another, so it comes naturally for me to code quickly in that style. Some users come from a heavy object oriented background, and classes provide an equally powerful way to get code running quickly. If you 'really really really' wanted to use classes though, there are some hidden depths to Tier 2 AppGameKit where you can use internal classes that sit just below the agk:: calls. We discourage their use as they make migrating code back and forth more difficult, but if you are dead set on using object orientation, all the classes are there for you to discover. For an insight into this hidden undocumented world of AppGameKit classes, check out the wrapper.h file, and the following classes:
friend class cSprite;
friend class cImage;
friend class Physics;
friend class cNetCon;
friend class AGKSocket;
friend class AGKPacket;
friend class cFile;
friend class cMusicMgr;
friend class cSpriteMgr;
friend class cParticleEmitter;
friend class cSoundMgr;
friend class cVirtualButton;
friend class cVirtualJoystick;
Again, for those not entirely familiar with classes or who want a rapid response language, stick to the documentation as it will reward you ten fold as we migrate our engine to stranger territories of Java/Script, C# and other wonderful languages
I drink tea, and in my spare time I write software.