<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Passing objects via functions</title>
		<link>http://www.allegro.cc/forums/view/615229</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sun, 29 Mar 2015 23:43:15 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Does anybody know if there is any way to pass instantiated objects of classes to functions either via pointer or reference, or some other way? I&#39;m really scratching my head on this one.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (agonvs)</author>
		<pubDate>Sun, 29 Mar 2015 10:59:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="k1">class</span> Object <span class="k2">{</span>
<span class="number">  2</span><span class="k1">int</span> m_var<span class="k2">;</span>
<span class="number">  3</span>public:
<span class="number">  4</span><span class="k1">void</span> func<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  5</span><span class="k2">}</span><span class="k2">;</span>
<span class="number">  6</span>
<span class="number">  7</span><span class="c">//by pointer</span>
<span class="number">  8</span><span class="k1">void</span> someFuncP<span class="k2">(</span>Object<span class="k3">*</span> obj<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  9</span>obj-&gt;func<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 10</span><span class="k2">}</span>
<span class="number"> 11</span>
<span class="number"> 12</span><span class="c">//by reference</span>
<span class="number"> 13</span><span class="k1">void</span> someFuncR<span class="k2">(</span>Object<span class="k3">&amp;</span> obj<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 14</span>obj.func<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 15</span><span class="k2">}</span>
<span class="number"> 16</span>
<span class="number"> 17</span><span class="k1">void</span> someFuncV<span class="k2">(</span>Object obj<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 18</span>obj.func<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 19</span><span class="k2">}</span>
<span class="number"> 20</span>
<span class="number"> 21</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 22</span><span class="k2">{</span>
<span class="number"> 23</span>   Object o<span class="k2">;</span>
<span class="number"> 24</span>   someFuncP<span class="k2">(</span><span class="k3">&amp;</span>o<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 25</span>   someFuncR<span class="k2">(</span>o<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 26</span>   someFuncV<span class="k2">(</span>o<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 27</span>   
<span class="number"> 28</span><span class="k2">}</span>
</div></div><p>

Here you have the 3 basic ways to pass an object to a function. The first way passes the pointer by value and then we dereference the pointer. In otherwords, it is like just passing the address of our object instance so we do not make a copy of it.</p><p>The second way actually passes it by reference, so we do not have to use -&gt; we can use it like any normal object, except the object you are referring to is o. No copy is made.</p><p>The last one is passed by value. This means an entire copy of o is made and then passed to the function. This is very inefficient and not recommended unless you are passing primitive types.</p><p>After that there is also const correctness. Because you may want to pass your object in such a way that the function can only read your object&#39;s data, not modify it. But that can be for another topic, it can be a bit tricky to get right.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Sun, 29 Mar 2015 18:30:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;ve tried all 3 methods but no matter what I do I can&#39;t get the class to recognize the object. The problem lies in line 28 in the following: </p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span><span class="p">#include"ball.h"</span>
<span class="number">   2</span><span class="p">#include"brick.h"</span>
<span class="number">   3</span>
<span class="number">   4</span><span class="k1">void</span> Ball::initialize<span class="k2">(</span><span class="k1">int</span> x, <span class="k1">int</span> y, <span class="k1">int</span> velX, <span class="k1">int</span> velY, <span class="k1">int</span> width, <span class="k1">int</span> height, <span class="k1">int</span> paddleX, <span class="k1">int</span> paddleY, <span class="k1">int</span> paddleWidth, <span class="k1">int</span> paddleHeight, <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> image, Brick<span class="k3">&amp;</span> brick<span class="k2">)</span>
<span class="number">   5</span><span class="k2">{</span>
<span class="number">   6</span>  mX <span class="k3">=</span> x<span class="k2">;</span>
<span class="number">   7</span>  mY <span class="k3">=</span> y<span class="k2">;</span>
<span class="number">   8</span>  mVelX <span class="k3">=</span> velX<span class="k2">;</span>
<span class="number">   9</span>  mVelY <span class="k3">=</span> velY<span class="k2">;</span>
<span class="number">  10</span>  mWidth <span class="k3">=</span> width<span class="k2">;</span>
<span class="number">  11</span>  mHeight <span class="k3">=</span> height<span class="k2">;</span>
<span class="number">  12</span>  mPaddleX <span class="k3">=</span> paddleX<span class="k2">;</span>
<span class="number">  13</span>  mPaddleY <span class="k3">=</span> paddleY<span class="k2">;</span>
<span class="number">  14</span>  mPaddleWidth <span class="k3">=</span> paddleWidth<span class="k2">;</span>
<span class="number">  15</span>  mPaddleHeight <span class="k3">=</span> paddleHeight<span class="k2">;</span>
<span class="number">  16</span>  mImage <span class="k3">=</span> image<span class="k2">;</span>
<span class="number">  17</span>  lives <span class="k3">=</span> <span class="n">3</span><span class="k2">;</span>
<span class="number">  18</span><span class="k2">}</span>
<span class="number">  19</span>
<span class="number">  20</span><span class="k1">void</span> Ball::update<span class="k2">(</span><span class="k1">int</span> paddleX, <span class="k1">int</span> paddleY<span class="k2">)</span>
<span class="number">  21</span><span class="k2">{</span>
<span class="number">  22</span>  mPaddleX <span class="k3">=</span> paddleX<span class="k2">;</span>
<span class="number">  23</span>  mPaddleY <span class="k3">=</span> paddleY<span class="k2">;</span>
<span class="number">  24</span>  <span class="k1">if</span><span class="k2">(</span>mY <span class="k3">+</span> <span class="n">16</span> <span class="k3">&gt;</span><span class="k3">=</span> mPaddleY<span class="k2">)</span>
<span class="number">  25</span>  <span class="k2">{</span>
<span class="number">  26</span>    <span class="k1">if</span> <span class="k2">(</span>mY <span class="k3">&gt;</span> <span class="n">719</span><span class="k2">)</span>
<span class="number">  27</span>    <span class="k2">{</span>
<span class="number">  28</span>      brick.breakBrick<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  29</span>      mX <span class="k3">=</span> mPaddleX <span class="k3">+</span><span class="n">56</span><span class="k2">;</span>
<span class="number">  30</span>      mY <span class="k3">=</span> <span class="n">671</span><span class="k2">;</span>
<span class="number">  31</span>      mVelX <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  32</span>      mVelY <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  33</span>      lives--<span class="k2">;</span>
<span class="number">  34</span>    <span class="k2">}</span>
<span class="number">  35</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span><span class="k2">(</span>mX <span class="k3">&gt;</span><span class="k3">=</span> mPaddleX<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mY <span class="k3">&gt;</span><span class="k3">=</span> mPaddleY <span class="k3">+</span> <span class="n">8</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mX <span class="k3">&lt;</span><span class="k3">=</span> mPaddleX <span class="k3">+</span> <span class="n">8</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mY <span class="k3">&lt;</span><span class="k3">=</span> mPaddleY <span class="k3">+</span> <span class="n">32</span><span class="k2">)</span><span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span><span class="k2">(</span>mX <span class="k3">+</span> <span class="n">16</span> <span class="k3">&gt;</span><span class="k3">=</span> mPaddleX<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mY <span class="k3">+</span> <span class="n">16</span> <span class="k3">&gt;</span><span class="k3">=</span> mPaddleY <span class="k3">+</span> <span class="n">8</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mX <span class="k3">+</span> <span class="n">16</span> <span class="k3">&lt;</span><span class="k3">=</span> mPaddleX <span class="k3">+</span> <span class="n">8</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mY <span class="k3">+</span> <span class="n">16</span> <span class="k3">&lt;</span><span class="k3">=</span> mPaddleY <span class="k3">+</span> <span class="n">32</span><span class="k2">)</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  36</span>    <span class="k2">{</span>
<span class="number">  37</span>      mX <span class="k3">=</span> mPaddleX <span class="k3">-</span> <span class="n">16</span><span class="k2">;</span>
<span class="number">  38</span>      mY <span class="k3">=</span> mPaddleY <span class="k3">+</span> <span class="n">8</span><span class="k2">;</span>
<span class="number">  39</span>      mVelX <span class="k3">=</span> <span class="k3">-</span><span class="n">8</span><span class="k2">;</span>
<span class="number">  40</span>      mVelY <span class="k3">=</span> <span class="n">4</span><span class="k2">;</span>
<span class="number">  41</span>    <span class="k2">}</span>
<span class="number">  42</span>    <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span><span class="k2">(</span>mX <span class="k3">&gt;</span><span class="k3">=</span> mPaddleX <span class="k3">+</span> <span class="n">120</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mY <span class="k3">&gt;</span><span class="k3">=</span> mPaddleY <span class="k3">+</span> <span class="n">8</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mX <span class="k3">&lt;</span><span class="k3">=</span> mPaddleX <span class="k3">+</span> <span class="n">128</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mY <span class="k3">&lt;</span><span class="k3">=</span> mPaddleY <span class="k3">+</span> <span class="n">32</span><span class="k2">)</span><span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span><span class="k2">(</span>mX <span class="k3">+</span> <span class="n">16</span> <span class="k3">&gt;</span><span class="k3">=</span> mPaddleX <span class="k3">+</span> <span class="n">120</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mY <span class="k3">+</span> <span class="n">16</span> <span class="k3">&gt;</span><span class="k3">=</span> mPaddleY <span class="k3">+</span> <span class="n">8</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mX <span class="k3">+</span> <span class="n">16</span> <span class="k3">&lt;</span><span class="k3">=</span> mPaddleX <span class="k3">+</span> <span class="n">128</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mY <span class="k3">+</span> <span class="n">16</span> <span class="k3">&lt;</span><span class="k3">=</span> mPaddleY <span class="k3">+</span> <span class="n">32</span><span class="k2">)</span><span class="k2">)</span><span class="k2">)</span> 
<span class="number">  43</span>    <span class="k2">{</span>
<span class="number">  44</span>      mX <span class="k3">=</span> mPaddleX <span class="k3">+</span> <span class="n">128</span><span class="k2">;</span>
<span class="number">  45</span>      mY <span class="k3">=</span> mPaddleY <span class="k3">+</span> <span class="n">8</span><span class="k2">;</span>
<span class="number">  46</span>      mVelX <span class="k3">=</span> <span class="n">8</span><span class="k2">;</span>
<span class="number">  47</span>      mVelY <span class="k3">=</span> <span class="n">4</span><span class="k2">;</span>
<span class="number">  48</span>    <span class="k2">}</span>
<span class="number">  49</span>    <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span><span class="k2">(</span>mX <span class="k3">&gt;</span><span class="k3">=</span> mPaddleX<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mY <span class="k3">&gt;</span><span class="k3">=</span> mPaddleY<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mX <span class="k3">&lt;</span><span class="k3">=</span> mPaddleX <span class="k3">+</span> <span class="n">128</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mY <span class="k3">&lt;</span><span class="k3">=</span> mPaddleY <span class="k3">+</span> <span class="n">8</span><span class="k2">)</span><span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span><span class="k2">(</span>mX <span class="k3">+</span> <span class="n">16</span> <span class="k3">&gt;</span><span class="k3">=</span> mPaddleX<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mY <span class="k3">+</span> <span class="n">16</span> <span class="k3">&gt;</span><span class="k3">=</span> mPaddleY<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mX <span class="k3">+</span> <span class="n">16</span> <span class="k3">&lt;</span><span class="k3">=</span> mPaddleX <span class="k3">+</span> <span class="n">128</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mY <span class="k3">+</span> <span class="n">8</span> <span class="k3">&lt;</span><span class="k3">=</span> mPaddleY <span class="k3">+</span> <span class="n">32</span><span class="k2">)</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  50</span>    <span class="k2">{</span>
<span class="number">  51</span>      <span class="k1">int</span> position <span class="k3">=</span> <span class="k2">(</span>mX <span class="k3">+</span> <span class="n">8</span><span class="k2">)</span> <span class="k3">-</span> mPaddleX<span class="k2">;</span>
<span class="number">  52</span>      <span class="k1">if</span> <span class="k2">(</span>position <span class="k3">&lt;</span> <span class="n">16</span><span class="k2">)</span>
<span class="number">  53</span>      <span class="k2">{</span>
<span class="number">  54</span>        mY <span class="k3">=</span> <span class="n">671</span><span class="k2">;</span>
<span class="number">  55</span>        mVelX <span class="k3">=</span> <span class="k3">-</span><span class="n">12</span><span class="k2">;</span>
<span class="number">  56</span>        mVelY <span class="k3">=</span> <span class="k3">-</span><span class="n">6</span><span class="k2">;</span>
<span class="number">  57</span>      <span class="k2">}</span>
<span class="number">  58</span>      <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>position <span class="k3">&lt;</span> <span class="n">32</span><span class="k2">)</span>
<span class="number">  59</span>      <span class="k2">{</span>
<span class="number">  60</span>        mY <span class="k3">=</span> <span class="n">671</span><span class="k2">;</span>
<span class="number">  61</span>        mVelX <span class="k3">=</span> <span class="k3">-</span><span class="n">8</span><span class="k2">;</span>
<span class="number">  62</span>        mVelY <span class="k3">=</span> <span class="k3">-</span><span class="n">8</span><span class="k2">;</span>
<span class="number">  63</span>      <span class="k2">}</span>
<span class="number">  64</span>      <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>position <span class="k3">&lt;</span> <span class="n">48</span><span class="k2">)</span>
<span class="number">  65</span>      <span class="k2">{</span>
<span class="number">  66</span>        mY <span class="k3">=</span> <span class="n">671</span><span class="k2">;</span>
<span class="number">  67</span>        mVelX <span class="k3">=</span> <span class="k3">-</span><span class="n">4</span><span class="k2">;</span>
<span class="number">  68</span>        mVelY <span class="k3">=</span> <span class="k3">-</span><span class="n">6</span><span class="k2">;</span>
<span class="number">  69</span>      <span class="k2">}</span>
<span class="number">  70</span>      <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>position <span class="k3">&lt;</span> <span class="n">64</span><span class="k2">)</span>
<span class="number">  71</span>      <span class="k2">{</span>
<span class="number">  72</span>        mY <span class="k3">=</span> <span class="n">671</span><span class="k2">;</span>
<span class="number">  73</span>        mVelX <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  74</span>        mVelY <span class="k3">=</span> <span class="k3">-</span><span class="n">4</span><span class="k2">;</span>
<span class="number">  75</span>      <span class="k2">}</span>
<span class="number">  76</span>      <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>position <span class="k3">=</span><span class="k3">=</span> <span class="n">64</span><span class="k2">)</span>
<span class="number">  77</span>      <span class="k2">{</span>
<span class="number">  78</span>        mY<span class="k3">=</span><span class="n">671</span><span class="k2">;</span>
<span class="number">  79</span>        mVelX <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  80</span>        mVelY <span class="k3">=</span> <span class="k3">-</span><span class="n">4</span><span class="k2">;</span>
<span class="number">  81</span>      <span class="k2">}</span>
<span class="number">  82</span>      <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>position <span class="k3">&lt;</span> <span class="n">80</span><span class="k2">)</span>
<span class="number">  83</span>      <span class="k2">{</span>
<span class="number">  84</span>        mY <span class="k3">=</span> <span class="n">671</span><span class="k2">;</span>
<span class="number">  85</span>        mVelX <span class="k3">=</span> <span class="n">2</span><span class="k2">;</span>
<span class="number">  86</span>        mVelY <span class="k3">=</span> <span class="k3">-</span><span class="n">4</span><span class="k2">;</span>
<span class="number">  87</span>      <span class="k2">}</span>
<span class="number">  88</span>      <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>position <span class="k3">&lt;</span> <span class="n">96</span><span class="k2">)</span>
<span class="number">  89</span>      <span class="k2">{</span>
<span class="number">  90</span>        mY <span class="k3">=</span> <span class="n">671</span><span class="k2">;</span>
<span class="number">  91</span>        mVelX <span class="k3">=</span> <span class="n">4</span><span class="k2">;</span>
<span class="number">  92</span>        mVelY <span class="k3">=</span> <span class="k3">-</span><span class="n">6</span><span class="k2">;</span>
<span class="number">  93</span>      <span class="k2">}</span>
<span class="number">  94</span>      <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>position <span class="k3">&lt;</span> <span class="n">112</span><span class="k2">)</span>
<span class="number">  95</span>      <span class="k2">{</span>
<span class="number">  96</span>        mY <span class="k3">=</span> <span class="n">671</span><span class="k2">;</span>
<span class="number">  97</span>        mVelX <span class="k3">=</span> <span class="n">8</span><span class="k2">;</span>
<span class="number">  98</span>        mVelY <span class="k3">=</span> <span class="k3">-</span><span class="n">8</span><span class="k2">;</span>
<span class="number">  99</span>      <span class="k2">}</span>
<span class="number"> 100</span>      <span class="k1">else</span>
<span class="number"> 101</span>      <span class="k2">{</span>
<span class="number"> 102</span>        mY <span class="k3">=</span> <span class="n">671</span><span class="k2">;</span>
<span class="number"> 103</span>        mVelX <span class="k3">=</span> <span class="n">12</span><span class="k2">;</span>
<span class="number"> 104</span>        mVelY <span class="k3">=</span> <span class="k3">-</span><span class="n">6</span><span class="k2">;</span>
<span class="number"> 105</span>      <span class="k2">}</span>
<span class="number"> 106</span>
<span class="number"> 107</span>    <span class="k2">}</span>
<span class="number"> 108</span>  <span class="k2">}</span>
<span class="number"> 109</span>  <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>mX <span class="k3">&lt;</span> <span class="n">0</span><span class="k2">)</span>
<span class="number"> 110</span>  <span class="k2">{</span>
<span class="number"> 111</span>    mX <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 112</span>    mVelX <span class="k3">=</span> <span class="k3">-</span>mVelX<span class="k2">;</span>
<span class="number"> 113</span>  <span class="k2">}</span>
<span class="number"> 114</span>  <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>mY <span class="k3">&lt;</span> <span class="n">0</span><span class="k2">)</span>
<span class="number"> 115</span>  <span class="k2">{</span>
<span class="number"> 116</span>    mY <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 117</span>    mVelY <span class="k3">=</span> <span class="k3">-</span>mVelY<span class="k2">;</span>
<span class="number"> 118</span>  <span class="k2">}</span>
<span class="number"> 119</span>  <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>mX <span class="k3">+</span> <span class="n">16</span> <span class="k3">&gt;</span> <span class="n">1279</span><span class="k2">)</span>
<span class="number"> 120</span>  <span class="k2">{</span>
<span class="number"> 121</span>    mX <span class="k3">=</span> <span class="n">1263</span><span class="k2">;</span>
<span class="number"> 122</span>    mVelX <span class="k3">=</span> <span class="k3">-</span>mVelX<span class="k2">;</span>
<span class="number"> 123</span>  <span class="k2">}</span>
<span class="number"> 124</span><span class="k2">}</span>
<span class="number"> 125</span>
<span class="number"> 126</span><span class="k1">void</span> Ball::render<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 127</span><span class="k2">{</span>
<span class="number"> 128</span>  <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>mImage, mX, mY, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 129</span>  mX <span class="k3">+</span><span class="k3">=</span> mVelX<span class="k2">;</span>
<span class="number"> 130</span>  mY <span class="k3">+</span><span class="k3">=</span> mVelY<span class="k2">;</span>
<span class="number"> 131</span><span class="k2">}</span>
</div></div><p>

Here is the main.cpp code:</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span> <span class="p">#include&lt;allegro5/allegro.h&gt;</span>
<span class="number">   2</span>   <span class="p">#include&lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">   3</span>   <span class="p">#include&lt;allegro5/allegro_image.h&gt;</span>
<span class="number">   4</span>   <span class="p">#include&lt;allegro5/allegro_audio.h&gt;</span>
<span class="number">   5</span>   <span class="p">#include&lt;allegro5/allegro_acodec.h&gt;</span>
<span class="number">   6</span>   <span class="p">#include&lt;iostream&gt;</span>
<span class="number">   7</span>   <span class="p">#include"globals.h"</span>
<span class="number">   8</span>   <span class="p">#include"paddle.h"</span>
<span class="number">   9</span>   <span class="p">#include"ball.h"</span>
<span class="number">  10</span><span class="p">#include"brick.h"</span>
<span class="number">  11</span><span class="p">#include"entity.h"</span>
<span class="number">  12</span>   <span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span>
<span class="number">  13</span>  
<span class="number">  14</span>   <span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="number">  15</span>   <span class="k2">{</span>
<span class="number">  16</span>    <span class="k1">float</span> gameTime <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  17</span>    <span class="k1">int</span> frames <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  18</span>    <span class="k1">int</span> gameFPS <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  19</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_init"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  20</span>      cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"Couldn't initialize Allegro."</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> cout<span class="k2">;</span>
<span class="number">  21</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_install_joystick"><span class="a">al_install_joystick</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  22</span>      cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"Couldn't install joystick."</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> endl<span class="k2">;</span>
<span class="number">  23</span>    <a href="http://www.allegro.cc/manual/al_init_image_addon"><span class="a">al_init_image_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  24</span>    <a href="http://www.allegro.cc/manual/al_init_primitives_addon"><span class="a">al_init_primitives_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  25</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  26</span>    display <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_display"><span class="a">al_create_display</span></a><span class="k2">(</span><span class="n">1280</span>,<span class="n">720</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>    <a href="http://www.allegro.cc/manual/al_install_audio"><span class="a">al_install_audio</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  28</span>    <a href="http://www.allegro.cc/manual/al_init_acodec_addon"><span class="a">al_init_acodec_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  29</span>    <a href="http://www.allegro.cc/manual/al_reserve_samples"><span class="a">al_reserve_samples</span></a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  30</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_SAMPLE"><span class="a">ALLEGRO_SAMPLE</span></a><span class="k3">*</span> sample <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  31</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_SAMPLE_INSTANCE"><span class="a">ALLEGRO_SAMPLE_INSTANCE</span></a><span class="k3">*</span> instance <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  32</span>    sample<span class="k3">=</span><a href="http://www.allegro.cc/manual/al_load_sample"><span class="a">al_load_sample</span></a><span class="k2">(</span><span class="s">"The Heat Is On.ogg"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  33</span>    instance <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_sample_instance"><span class="a">al_create_sample_instance</span></a><span class="k2">(</span>sample<span class="k2">)</span><span class="k2">;</span>
<span class="number">  34</span>    <a href="http://www.allegro.cc/manual/al_attach_sample_instance_to_mixer"><span class="a">al_attach_sample_instance_to_mixer</span></a><span class="k2">(</span>instance, <a href="http://www.allegro.cc/manual/al_get_default_mixer"><span class="a">al_get_default_mixer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  35</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>event_queue <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  36</span>    event_queue <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>event_queue<span class="k2">)</span>
<span class="number">  38</span>      cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"al_create_event_queue failed."</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> endl<span class="k2">;</span>
<span class="number">  39</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> <span class="k3">*</span>timer<span class="k2">;</span>
<span class="number">  40</span>    timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span><span class="k3">/</span><span class="n">60</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  41</span>    <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue, <a href="http://www.allegro.cc/manual/al_get_timer_event_source"><span class="a">al_get_timer_event_source</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> 
<span class="number">  42</span>    gameTime <span class="k3">=</span> al_current_time<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  43</span>    <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue, <a href="http://www.allegro.cc/manual/al_get_joystick_event_source"><span class="a">al_get_joystick_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_JOYSTICK"><span class="a">ALLEGRO_JOYSTICK</span></a><span class="k3">*</span> <a href="http://www.allegro.cc/manual/joy"><span class="a">joy</span></a> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_joystick"><span class="a">al_get_joystick</span></a><span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_JOYSTICK_STATE"><span class="a">ALLEGRO_JOYSTICK_STATE</span></a> jst<span class="k2">;</span>
<span class="number">  46</span>    <span class="c">//~ buttons button;</span>
<span class="number">  47</span>    direction dir <span class="k3">=</span> NONE<span class="k2">;</span>
<span class="number">  48</span>    <span class="k1">bool</span> render <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  49</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>image <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  50</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>image2 <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  51</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>image3 <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  52</span>  image <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"batonspritesheet.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  53</span>  image2 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"chromeball.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  54</span>  image3 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"brick.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>    <span class="k1">const</span> <span class="k1">int</span> arraySize <span class="k3">=</span> <span class="n">3</span><span class="k2">;</span>
<span class="number">  56</span>    <span class="k1">bool</span> alive <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  57</span>    Paddle paddle<span class="k2">;</span>
<span class="number">  58</span>    Brick brickPtr<span class="k2">;</span>
<span class="number">  59</span>  brickPtr.Initialize<span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,image3<span class="k2">)</span><span class="k2">;</span>
<span class="number">  60</span>  Ball ball<span class="k2">;</span>
<span class="number">  61</span>  
<span class="number">  62</span>  paddle.initialize<span class="k2">(</span><span class="n">576</span>, <span class="n">687</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">128</span>, <span class="n">32</span>, image<span class="k2">)</span><span class="k2">;</span>
<span class="number">  63</span>  ball.initialize<span class="k2">(</span><span class="n">632</span>,<span class="n">671</span>,<span class="n">0</span>,<span class="k3">-</span><span class="n">1</span>,<span class="n">16</span>,<span class="n">16</span>,paddle.getX<span class="k2">(</span><span class="k2">)</span>,paddle.getY<span class="k2">(</span><span class="k2">)</span>,<span class="n">128</span>,<span class="n">32</span>,image2,<span class="k3">&amp;</span>brickPtr<span class="k2">)</span><span class="k2">;</span>
<span class="number">  64</span>    <span class="k1">int</span> mX, mY<span class="k2">;</span>
<span class="number">  65</span>  <a href="http://www.allegro.cc/manual/al_set_sample_instance_playmode"><span class="a">al_set_sample_instance_playmode</span></a><span class="k2">(</span>instance, ALLEGRO_PLAYMODE_LOOP<span class="k2">)</span><span class="k2">;</span>
<span class="number">  66</span>  <a href="http://www.allegro.cc/manual/al_play_sample_instance"><span class="a">al_play_sample_instance</span></a><span class="k2">(</span>instance<span class="k2">)</span><span class="k2">;</span>
<span class="number">  67</span>  <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number">  68</span>    
<span class="number">  69</span>  <span class="k1">while</span><span class="k2">(</span>alive<span class="k2">)</span>
<span class="number">  70</span>    <span class="k2">{</span>
<span class="number">  71</span>      <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> ev<span class="k2">;</span>
<span class="number">  72</span>      <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>event_queue, <span class="k3">&amp;</span>ev<span class="k2">)</span><span class="k2">;</span>
<span class="number">  73</span>      <a href="http://www.allegro.cc/manual/al_get_joystick_state"><span class="a">al_get_joystick_state</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/joy"><span class="a">joy</span></a>, <span class="k3">&amp;</span>jst<span class="k2">)</span><span class="k2">;</span>
<span class="number">  74</span>      <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_JOYSTICK_AXIS<span class="k2">)</span>
<span class="number">  75</span>      <span class="k2">{</span>
<span class="number">  76</span>        <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>jst.stick<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>jst.stick<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  77</span>          dir <span class="k3">=</span> NONE<span class="k2">;</span>
<span class="number">  78</span>        <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>jst.stick<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>jst.stick<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  79</span>          dir <span class="k3">=</span> RIGHT<span class="k2">;</span>
<span class="number">  80</span>        <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>jst.stick<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="k3">-</span><span class="n">1</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>jst.stick<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  81</span>          dir <span class="k3">=</span> LEFT<span class="k2">;</span>
<span class="number">  82</span>      <span class="k2">}</span>
<span class="number">  83</span>      <span class="c">//~ if (ev.type == ALLEGRO_EVENT_JOYSTICK_BUTTON_DOWN)</span>
<span class="number">  84</span>        <span class="c">//~ if (jst.button[9])</span>
<span class="number">  85</span>          <span class="c">//~ button = NINE;</span>
<span class="number">  86</span>  <span class="c">//update</span>
<span class="number">  87</span>      <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_TIMER<span class="k2">)</span>
<span class="number">  88</span>      <span class="k2">{</span>
<span class="number">  89</span>        render <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  90</span>        paddle.update<span class="k2">(</span>dir<span class="k2">)</span><span class="k2">;</span>
<span class="number">  91</span>    ball.update<span class="k2">(</span>paddle.getX<span class="k2">(</span><span class="k2">)</span>,paddle.getY<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  92</span>        brickPtr.update<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  93</span>    mX<span class="k3">=</span>ball.getX<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  94</span>    mY<span class="k3">=</span>ball.getY<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  95</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span><span class="k2">(</span>mX <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mY <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mX <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">128</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mY <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">32</span><span class="k2">)</span><span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span><span class="k2">(</span>mX <span class="k3">+</span> <span class="n">16</span> <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mY <span class="k3">+</span> <span class="n">16</span> <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mX <span class="k3">+</span> <span class="n">16</span> <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">128</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>mY <span class="k3">+</span> <span class="n">8</span> <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">32</span><span class="k2">)</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  96</span>    <span class="k2">{</span>
<span class="number">  97</span>      brickPtr.breakBrick<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  98</span>    <span class="k2">}</span>
<span class="number">  99</span>    frames<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 100</span>        <span class="k1">if</span> <span class="k2">(</span>al_current_time<span class="k2">(</span><span class="k2">)</span> <span class="k3">-</span> gameTime <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 101</span>        <span class="k2">{</span>
<span class="number"> 102</span>          gameTime <span class="k3">=</span> al_current_time<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 103</span>          gameFPS <span class="k3">=</span> frames<span class="k2">;</span>
<span class="number"> 104</span>          frames <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 105</span>        <span class="k2">}</span>
<span class="number"> 106</span>      <span class="k2">}</span>
<span class="number"> 107</span>  <span class="c">//render</span>
<span class="number"> 108</span>      <span class="k1">if</span> <span class="k2">(</span>render <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>event_queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 109</span>      <span class="k2">{</span>
<span class="number"> 110</span>        <span class="c">//~ al_set_target_bitmap(al_get_backbuffer(display));</span>
<span class="number"> 111</span>        <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb_f"><span class="a">al_map_rgb_f</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 112</span>        paddle.render<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 113</span>    brickPtr.render<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 114</span>    ball.render<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 115</span>        <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 116</span>      <span class="k2">}</span>
<span class="number"> 117</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>ball.getLives<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 118</span>      alive <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 119</span>    <span class="k1">if</span> <span class="k2">(</span>jst.button<span class="k2">[</span><span class="n">9</span><span class="k2">]</span><span class="k2">)</span>
<span class="number"> 120</span>        alive <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 121</span>    <span class="k2">}</span>
<span class="number"> 122</span>    <span class="c">//~ al_destroy_bitmap(image);</span>
<span class="number"> 123</span>    <a href="http://www.allegro.cc/manual/al_destroy_timer"><span class="a">al_destroy_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 124</span>    <a href="http://www.allegro.cc/manual/al_destroy_event_queue"><span class="a">al_destroy_event_queue</span></a><span class="k2">(</span>event_queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 125</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 126</span>   <span class="k2">}</span>
</div></div><p>

Thoughts?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (agonvs)</author>
		<pubDate>Sun, 29 Mar 2015 20:08:02 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Does Ball have a Brick ?</p><p>What does Ball.h look like?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Sun, 29 Mar 2015 23:27:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Danger! Using reference member variables is a somewhat advanced usage. Typically you would do so using a constructor, not a public &quot;initialize&quot; method. A smart pointer might be a better option. They could come in handy for C allocations as well, such as your Allegro 5 objects. Of course, you need to crawl before you walk. I recommend that you put this project on hold and get a grip on the C++ language. Start a new code file to experiment with. Simple, short programs to just figure out the syntax. C++ is one of the most difficult languages to learn and write for. It seriously takes years just to figure out how little you know. If you try to take on too much at once you&#39;ll run into wall after wall and burn out. Take it slow. It&#39;s exhausting to just think of how to help you at this point...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (bamccaig)</author>
		<pubDate>Sun, 29 Mar 2015 23:43:15 +0000</pubDate>
	</item>
</rss>
