<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>No member Function Declared</title>
		<link>http://www.allegro.cc/forums/view/586741</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Mon, 31 Jul 2006 18:46:34 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hello every one,</p><p>I am new to these forums, and am hoping some one can give me some quick advice. I have recently started programing C++ some i am just a noob, but i have a good feel for a lot of the basics. Recently i started wroking with allegro, testing out some random function, and on others advice started doing the PONG game just to get the hang of game logic.<br />I have my program split into three files so far the main: &quot;Allegro Pong.cpp&quot; a &quot;pongclasses.h&quot; and &quot;pongclasses.cpp&quot;</p><p>I am having a heck of a time when i compile, It is telling me that Certain member functions are not declared within the class, allthough they are declared exactly the same as the other member fucntions in the same class. Mainly it is my pad() member function that is supposed to move the players paddle.</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="c">//allegro pong.cpp</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;pongclasses.h&gt;</span></td></tr><tr><td class="number">4</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">5</td><td><span class="p">#include &lt;cstdlib&gt;</span></td></tr><tr><td class="number">6</td><td>&#160;</td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">9</td><td>&#160;</td></tr><tr><td class="number">10</td><td>    <a href="http://www.allegro.cc/manual/allegro_init" target="_blank"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>    <a href="http://www.allegro.cc/manual/install_keyboard" target="_blank"><span class="a">install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>    <a href="http://www.allegro.cc/manual/set_color_depth" target="_blank"><span class="a">set_color_depth</span></a><span class="k2">(</span><span class="n">16</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>    <a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span> GFX_AUTODETECT, <span class="n">640</span>, <span class="n">480</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>    </td></tr><tr><td class="number">15</td><td>    Player newPlayer<span class="k2">;</span> <span class="c">//initiate PLayer class</span></td></tr><tr><td class="number">16</td><td>           newPlayer.pX1 <span class="k3">=</span> <span class="n">20</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>           newPlayer.pX2 <span class="k3">=</span> <span class="n">70</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>           newPlayer.drawPaddle<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>           </td></tr><tr><td class="number">20</td><td>    ball thisBall<span class="k2">;</span>    <span class="c">// Initiate Ball class</span></td></tr><tr><td class="number">21</td><td>         thisBall.ballX <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>         thisBall.ballY <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>         thisBall.BTempX <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td>         thisBall.BTempY <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>         thisBall.dir <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td>         </td></tr><tr><td class="number">27</td><td>    <span class="k1">while</span><span class="k2">(</span> <span class="k3">!</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_ESC<span class="k2">]</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">28</td><td>           </td></tr><tr><td class="number">29</td><td>       </td></tr><tr><td class="number">30</td><td>        thisBall.moveCircle<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">31</td><td>        </td></tr><tr><td class="number">32</td><td>    <span class="k2">}</span>    </td></tr><tr><td class="number">33</td><td>    </td></tr><tr><td class="number">34</td><td>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">35</td><td>&#160;</td></tr><tr><td class="number">36</td><td><span class="k2">}</span></td></tr><tr><td class="number">37</td><td><a href="http://www.allegro.cc/manual/END_OF_MAIN" target="_blank"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr></tbody></table></div></div><p>

</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="c">//pongclasses.h</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="p">#ifndef H_PONGCLASSES</span></td></tr><tr><td class="number">4</td><td><span class="p">#define H_PONGCLASSES</span></td></tr><tr><td class="number">5</td><td>&#160;</td></tr><tr><td class="number">6</td><td>&#160;</td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td>&#160;</td></tr><tr><td class="number">9</td><td><span class="k1">class</span> Player</td></tr><tr><td class="number">10</td><td><span class="k2">{</span></td></tr><tr><td class="number">11</td><td>      public:</td></tr><tr><td class="number">12</td><td>       Player<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>      ~Player<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>      <span class="k1">void</span> pad<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>      <span class="k1">void</span> drawPaddle<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>      </td></tr><tr><td class="number">17</td><td>      </td></tr><tr><td class="number">18</td><td>      private:</td></tr><tr><td class="number">19</td><td>      <span class="k1">int</span> pX1, pX2, tempPX1, tempPX2<span class="k2">;</span></td></tr><tr><td class="number">20</td><td>      BUFFER <span class="k3">*</span>paddleBuffer<span class="k2">;</span></td></tr><tr><td class="number">21</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>&#160;</td></tr><tr><td class="number">23</td><td><span class="k1">class</span> Comp</td></tr><tr><td class="number">24</td><td><span class="k2">{</span></td></tr><tr><td class="number">25</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td><span class="k1">class</span> ball</td></tr><tr><td class="number">27</td><td><span class="k2">{</span></td></tr><tr><td class="number">28</td><td>      public:</td></tr><tr><td class="number">29</td><td>      <span class="k1">void</span> ball<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">30</td><td>      <span class="k1">void</span> ~ball<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">31</td><td>      <span class="k1">void</span> moveCircle<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td>      </td></tr><tr><td class="number">33</td><td>      private:</td></tr><tr><td class="number">34</td><td>      <span class="k1">int</span> ballX<span class="k2">;</span></td></tr><tr><td class="number">35</td><td>      <span class="k1">int</span> ballY<span class="k2">;</span></td></tr><tr><td class="number">36</td><td>      <span class="k1">int</span> BTempX<span class="k2">;</span></td></tr><tr><td class="number">37</td><td>      <span class="k1">int</span> BTempY<span class="k2">;</span></td></tr><tr><td class="number">38</td><td>      <span class="k1">int</span> dir<span class="k2">;</span></td></tr><tr><td class="number">39</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">40</td><td>&#160;</td></tr><tr><td class="number">41</td><td><span class="p">#endif</span></td></tr></tbody></table></div></div><p>

</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="c">//pongclasses.cpp</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">4</td><td><span class="p">#include &lt;pongclasses.h&gt;</span></td></tr><tr><td class="number">5</td><td>&#160;</td></tr><tr><td class="number">6</td><td><span class="c">//ball class</span></td></tr><tr><td class="number">7</td><td><span class="k1">void</span> ball::moveCircle<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">8</td><td>     BTempX <span class="k3">=</span> ballX<span class="k2">;</span></td></tr><tr><td class="number">9</td><td>     BTempY<span class="k3">=</span> ballY <span class="k2">;</span></td></tr><tr><td class="number">10</td><td>     <span class="c">//This will keep track of the circles direction</span></td></tr><tr><td class="number">11</td><td>            <span class="c">//1= up and left, 2 = down and left, 3 = up and right, 4 = down and right</span></td></tr><tr><td class="number">12</td><td>            </td></tr><tr><td class="number">13</td><td>    <span class="k1">if</span> <span class="k2">(</span>dir <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> ballX <span class="k3">!</span><span class="k3">=</span> <span class="n">20</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> ballY <span class="k3">!</span><span class="k3">=</span> <span class="n">20</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">14</td><td>     </td></tr><tr><td class="number">15</td><td>        <span class="k3">-</span><span class="k3">-</span>ballX<span class="k2">;</span></td></tr><tr><td class="number">16</td><td>        <span class="k3">-</span><span class="k3">-</span>ballY<span class="k2">;</span></td></tr><tr><td class="number">17</td><td>              </td></tr><tr><td class="number">18</td><td>    <span class="k2">}</span> <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>dir <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> ballX <span class="k3">!</span><span class="k3">=</span> <span class="n">20</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> ballY <span class="k3">!</span><span class="k3">=</span> <span class="n">460</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">19</td><td>&#160;</td></tr><tr><td class="number">20</td><td>        <span class="k3">-</span><span class="k3">-</span>ballX<span class="k2">;</span></td></tr><tr><td class="number">21</td><td>        <span class="k3">+</span><span class="k3">+</span>ballY<span class="k2">;</span></td></tr><tr><td class="number">22</td><td>&#160;</td></tr><tr><td class="number">23</td><td>    <span class="k2">}</span> <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>dir <span class="k3">=</span><span class="k3">=</span> <span class="n">3</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> ballX <span class="k3">!</span><span class="k3">=</span> <span class="n">620</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> ballY <span class="k3">!</span><span class="k3">=</span> <span class="n">20</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">24</td><td>&#160;</td></tr><tr><td class="number">25</td><td>        <span class="k3">+</span><span class="k3">+</span>ballX<span class="k2">;</span></td></tr><tr><td class="number">26</td><td>        <span class="k3">-</span><span class="k3">-</span>ballY<span class="k2">;</span></td></tr><tr><td class="number">27</td><td>&#160;</td></tr><tr><td class="number">28</td><td>    <span class="k2">}</span> <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>dir <span class="k3">=</span><span class="k3">=</span> <span class="n">4</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> ballX <span class="k3">!</span><span class="k3">=</span> <span class="n">620</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> ballY <span class="k3">!</span><span class="k3">=</span> <span class="n">460</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">29</td><td>&#160;</td></tr><tr><td class="number">30</td><td>        <span class="k3">+</span><span class="k3">+</span>ballX<span class="k2">;</span></td></tr><tr><td class="number">31</td><td>        <span class="k3">+</span><span class="k3">+</span>ballY<span class="k2">;</span></td></tr><tr><td class="number">32</td><td>&#160;</td></tr><tr><td class="number">33</td><td>    <span class="k2">}</span> <span class="k1">else</span> <span class="k2">{</span> </td></tr><tr><td class="number">34</td><td>&#160;</td></tr><tr><td class="number">35</td><td>        dir <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">4</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">36</td><td>&#160;</td></tr><tr><td class="number">37</td><td>    <span class="k2">}</span>    </td></tr><tr><td class="number">38</td><td>    </td></tr><tr><td class="number">39</td><td>    <a href="http://www.allegro.cc/manual/acquire_screen" target="_blank"><span class="a">acquire_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">40</td><td>    <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a> <span class="k2">(</span> <a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, BTempX, BTempY, <span class="n">10</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</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></td></tr><tr><td class="number">41</td><td>    <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a> <span class="k2">(</span> <a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, ballX, ballY, <span class="n">10</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span> <span class="n">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">42</td><td>    <a href="http://www.allegro.cc/manual/release_screen" target="_blank"><span class="a">release_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">43</td><td>    </td></tr><tr><td class="number">44</td><td>    <a href="http://www.allegro.cc/manual/rest" target="_blank"><span class="a">rest</span></a><span class="k2">(</span><span class="n">10</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">45</td><td>&#160;</td></tr><tr><td class="number">46</td><td><span class="k2">}</span> <span class="c">//end moveCircle()</span></td></tr><tr><td class="number">47</td><td>&#160;</td></tr><tr><td class="number">48</td><td><span class="c">//Player Class</span></td></tr><tr><td class="number">49</td><td><span class="k1">void</span> Player::pad<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">50</td><td><span class="k2">{</span></td></tr><tr><td class="number">51</td><td>     tempPX1 <span class="k3">=</span> pX1<span class="k2">;</span></td></tr><tr><td class="number">52</td><td>     tempPX2 <span class="k3">=</span> pX2<span class="k2">;</span></td></tr><tr><td class="number">53</td><td>     <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">54</td><td>          <span class="k3">-</span><span class="k3">-</span>pX1<span class="k2">;</span></td></tr><tr><td class="number">55</td><td>          <span class="k3">-</span><span class="k3">-</span>pX2<span class="k2">;</span>      <span class="k2">}</span></td></tr><tr><td class="number">56</td><td>     <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">57</td><td>         <span class="k3">+</span><span class="k3">+</span>pX1<span class="k2">;</span></td></tr><tr><td class="number">58</td><td>         <span class="k3">+</span><span class="k3">+</span>pX2<span class="k2">;</span>        <span class="k2">}</span></td></tr><tr><td class="number">59</td><td><span class="k2">}</span></td></tr><tr><td class="number">60</td><td>&#160;</td></tr><tr><td class="number">61</td><td><span class="k1">void</span> Player::drawPaddle<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">62</td><td><span class="k2">{</span>    </td></tr><tr><td class="number">63</td><td>      <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, tempPX1, <span class="n">10</span>, tempPX2, <span class="n">15</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</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></td></tr><tr><td class="number">64</td><td>      <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, pX1, <span class="n">10</span>, pX2, <span class="n">15</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">65</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>


Thanks you guys for taking the time to look at this mess i have made!<br />I would appreciate any suggestions or solutions as i am Stumped!:-[
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (joshua.tilson)</author>
		<pubDate>Sat, 29 Jul 2006 20:34:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Try this (may still have some errors):</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="c">//allegro pong.cpp</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;pongclasses.h&gt;</span></td></tr><tr><td class="number">4</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">5</td><td><span class="p">#include &lt;cstdlib&gt;</span></td></tr><tr><td class="number">6</td><td>&#160;</td></tr><tr><td class="number">7</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">8</td><td><span class="k2">{</span></td></tr><tr><td class="number">9</td><td>  <a href="http://www.allegro.cc/manual/allegro_init" target="_blank"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>  <a href="http://www.allegro.cc/manual/install_keyboard" target="_blank"><span class="a">install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>  <a href="http://www.allegro.cc/manual/set_color_depth" target="_blank"><span class="a">set_color_depth</span></a><span class="k2">(</span><span class="n">16</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>  <a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span> GFX_AUTODETECT, <span class="n">640</span>, <span class="n">480</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>&#160;</td></tr><tr><td class="number">14</td><td>  Player newPlayer<span class="k2">;</span> <span class="c">//initiate PLayer class</span></td></tr><tr><td class="number">15</td><td>  newPlayer.setPosition<span class="k2">(</span><span class="n">20</span>, <span class="n">70</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>drawPaddle<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>  Ball ball<span class="k2">;</span> <span class="c">// Initiate Ball class</span></td></tr><tr><td class="number">17</td><td>  ball.setPosition<span class="k2">(</span><span class="n">100</span>, <span class="n">100</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>setDirection<span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>&#160;</td></tr><tr><td class="number">19</td><td>  <span class="k1">while</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_ESC<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">20</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">21</td><td>    ball.moveCircle<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">23</td><td>&#160;</td></tr><tr><td class="number">24</td><td>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td><span class="k2">}</span></td></tr><tr><td class="number">26</td><td><a href="http://www.allegro.cc/manual/END_OF_MAIN" target="_blank"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr></tbody></table></div></div><p>

</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="c">//pongclasses.h</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="p">#ifndef H_PONGCLASSES</span></td></tr><tr><td class="number">4</td><td><span class="p">#define H_PONGCLASSES</span></td></tr><tr><td class="number">5</td><td>&#160;</td></tr><tr><td class="number">6</td><td>&#160;</td></tr><tr><td class="number">7</td><td><span class="k1">class</span> Player</td></tr><tr><td class="number">8</td><td><span class="k2">{</span></td></tr><tr><td class="number">9</td><td>public:</td></tr><tr><td class="number">10</td><td>  Player<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>  ~Player<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>  Player<span class="k3">*</span> pad<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>  Player<span class="k3">*</span> drawPaddle<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>  Player<span class="k3">*</span> setPosition<span class="k2">(</span><span class="k1">int</span> x1, <span class="k1">int</span> x2<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>  Player<span class="k3">*</span> getPosition<span class="k2">(</span><span class="k1">int</span><span class="k3">*</span> x1, <span class="k1">int</span><span class="k3">*</span> x2<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>  Player<span class="k3">*</span> setDirection<span class="k2">(</span><span class="k1">int</span> dir<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>private:</td></tr><tr><td class="number">18</td><td>  <span class="k1">int</span> X1, X2, tempX1, tempX2<span class="k2">;</span></td></tr><tr><td class="number">19</td><td>  BUFFER <span class="k3">*</span>paddleBuffer<span class="k2">;</span></td></tr><tr><td class="number">20</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>&#160;</td></tr><tr><td class="number">22</td><td><span class="k1">class</span> Comp</td></tr><tr><td class="number">23</td><td><span class="k2">{</span></td></tr><tr><td class="number">24</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>&#160;</td></tr><tr><td class="number">26</td><td><span class="k1">class</span> Ball</td></tr><tr><td class="number">27</td><td><span class="k2">{</span></td></tr><tr><td class="number">28</td><td>public:</td></tr><tr><td class="number">29</td><td>  Ball<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">30</td><td>  ~Ball<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">31</td><td>  Ball<span class="k3">*</span> moveCircle<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td>  Ball<span class="k3">*</span> setPosition<span class="k2">(</span><span class="k1">int</span> X, <span class="k1">int</span> Y<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">33</td><td>  Ball<span class="k3">*</span> getPosition<span class="k2">(</span><span class="k1">int</span><span class="k3">*</span> X, <span class="k1">int</span><span class="k3">*</span> Y<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">34</td><td>  Ball<span class="k3">*</span> setDirection<span class="k2">(</span><span class="k1">int</span> dir<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">35</td><td>private:</td></tr><tr><td class="number">36</td><td>  <span class="k1">int</span> x<span class="k2">;</span></td></tr><tr><td class="number">37</td><td>  <span class="k1">int</span> x<span class="k2">;</span></td></tr><tr><td class="number">38</td><td>  <span class="k1">int</span> tempX<span class="k2">;</span></td></tr><tr><td class="number">39</td><td>  <span class="k1">int</span> tempY<span class="k2">;</span></td></tr><tr><td class="number">40</td><td>  <span class="k1">int</span> dir<span class="k2">;</span></td></tr><tr><td class="number">41</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">42</td><td>&#160;</td></tr><tr><td class="number">43</td><td><span class="p">#endif</span></td></tr></tbody></table></div></div><p>

</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="c">//pongclasses.cpp</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">4</td><td><span class="p">#include &lt;pongclasses.h&gt;</span></td></tr><tr><td class="number">5</td><td>&#160;</td></tr><tr><td class="number">6</td><td><span class="c">//Ball class</span></td></tr><tr><td class="number">7</td><td>Ball::Ball<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">8</td><td><span class="k2">{</span></td></tr><tr><td class="number">9</td><td>  x <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>  y <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>  tempX <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>  tempY <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>  dir <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td><span class="k2">}</span></td></tr><tr><td class="number">15</td><td>&#160;</td></tr><tr><td class="number">16</td><td>Ball::~Ball<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">17</td><td><span class="k2">{</span></td></tr><tr><td class="number">18</td><td>  <span class="c">// TODO: cleanup stuff</span></td></tr><tr><td class="number">19</td><td><span class="k2">}</span></td></tr><tr><td class="number">20</td><td>&#160;</td></tr><tr><td class="number">21</td><td>Ball<span class="k3">*</span> Ball::moveCircle<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">22</td><td><span class="k2">{</span></td></tr><tr><td class="number">23</td><td>  tempX <span class="k3">=</span> X<span class="k2">;</span></td></tr><tr><td class="number">24</td><td>  tempY <span class="k3">=</span> y<span class="k2">;</span></td></tr><tr><td class="number">25</td><td>  <span class="c">//This will keep track of the circles direction</span></td></tr><tr><td class="number">26</td><td>  <span class="c">//1= up and left, 2 = down and left, 3 = up and right, 4 = down and right</span></td></tr><tr><td class="number">27</td><td>  <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>dir <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>x <span class="k3">&gt;</span> <span class="n">20</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>y <span class="k3">&gt;</span> <span class="n">20</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">28</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">29</td><td>    <span class="k3">-</span><span class="k3">-</span>x<span class="k2">;</span></td></tr><tr><td class="number">30</td><td>    <span class="k3">-</span><span class="k3">-</span>y<span class="k2">;</span></td></tr><tr><td class="number">31</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">32</td><td>  <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>dir <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>x <span class="k3">!</span><span class="k3">=</span> <span class="n">20</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>y <span class="k3">!</span><span class="k3">=</span> <span class="n">460</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">33</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">34</td><td>    <span class="k3">-</span><span class="k3">-</span>x<span class="k2">;</span></td></tr><tr><td class="number">35</td><td>    <span class="k3">+</span><span class="k3">+</span>y<span class="k2">;</span></td></tr><tr><td class="number">36</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">37</td><td>  <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>dir <span class="k3">=</span><span class="k3">=</span> <span class="n">3</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>x <span class="k3">!</span><span class="k3">=</span> <span class="n">620</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>y <span class="k3">!</span><span class="k3">=</span> <span class="n">20</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">38</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">39</td><td>    <span class="k3">+</span><span class="k3">+</span>x<span class="k2">;</span></td></tr><tr><td class="number">40</td><td>    <span class="k3">-</span><span class="k3">-</span>y<span class="k2">;</span></td></tr><tr><td class="number">41</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">42</td><td>  <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>dir <span class="k3">=</span><span class="k3">=</span> <span class="n">4</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>x <span class="k3">!</span><span class="k3">=</span> <span class="n">620</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>y <span class="k3">!</span><span class="k3">=</span> <span class="n">460</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">43</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">44</td><td>    <span class="k3">+</span><span class="k3">+</span>x<span class="k2">;</span></td></tr><tr><td class="number">45</td><td>    <span class="k3">+</span><span class="k3">+</span>y<span class="k2">;</span></td></tr><tr><td class="number">46</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">47</td><td>  <span class="k1">else</span></td></tr><tr><td class="number">48</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">49</td><td>    dir <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">4</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">50</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">51</td><td>  </td></tr><tr><td class="number">52</td><td>  <a href="http://www.allegro.cc/manual/acquire_screen" target="_blank"><span class="a">acquire_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">53</td><td>  <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a> <span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, BTempX, BTempY, <span class="n">10</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</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></td></tr><tr><td class="number">54</td><td>  <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a> <span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, x, y, <span class="n">10</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span> <span class="n">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">55</td><td>  <a href="http://www.allegro.cc/manual/release_screen" target="_blank"><span class="a">release_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">56</td><td>  <a href="http://www.allegro.cc/manual/rest" target="_blank"><span class="a">rest</span></a><span class="k2">(</span><span class="n">10</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">57</td><td>  <span class="k1">return</span> <span class="k1">this</span><span class="k2">;</span></td></tr><tr><td class="number">58</td><td><span class="k2">}</span> <span class="c">//end moveCircle()</span></td></tr><tr><td class="number">59</td><td>&#160;</td></tr><tr><td class="number">60</td><td>Ball<span class="k3">*</span> Ball::setPosition<span class="k2">(</span><span class="k1">int</span> x, <span class="k1">int</span> y<span class="k2">)</span></td></tr><tr><td class="number">61</td><td><span class="k2">{</span></td></tr><tr><td class="number">62</td><td>  this-&gt;x <span class="k3">=</span> x<span class="k2">;</span></td></tr><tr><td class="number">63</td><td>  this-&gt;y <span class="k3">=</span> y<span class="k2">;</span></td></tr><tr><td class="number">64</td><td>  <span class="k1">return</span> <span class="k1">this</span><span class="k2">;</span></td></tr><tr><td class="number">65</td><td><span class="k2">}</span></td></tr><tr><td class="number">66</td><td>&#160;</td></tr><tr><td class="number">67</td><td>Ball<span class="k3">*</span> Ball::getPosition<span class="k2">(</span><span class="k1">int</span><span class="k3">*</span> x, <span class="k1">int</span><span class="k3">*</span> y<span class="k2">)</span></td></tr><tr><td class="number">68</td><td><span class="k2">{</span></td></tr><tr><td class="number">69</td><td>  <span class="k3">*</span>x <span class="k3">=</span> this-&gt;x<span class="k2">;</span></td></tr><tr><td class="number">70</td><td>  <span class="k3">*</span>y <span class="k3">=</span> this-&gt;y<span class="k2">;</span></td></tr><tr><td class="number">71</td><td>  <span class="k1">return</span> <span class="k1">this</span><span class="k2">;</span></td></tr><tr><td class="number">72</td><td><span class="k2">}</span></td></tr><tr><td class="number">73</td><td>&#160;</td></tr><tr><td class="number">74</td><td>Ball<span class="k3">*</span> Ball::setDirection<span class="k2">(</span><span class="k1">int</span> dir<span class="k2">)</span></td></tr><tr><td class="number">75</td><td><span class="k2">{</span></td></tr><tr><td class="number">76</td><td>  this-&gt;dir <span class="k3">=</span> dir<span class="k2">;</span></td></tr><tr><td class="number">77</td><td>  <span class="k1">return</span> <span class="k1">this</span><span class="k2">;</span></td></tr><tr><td class="number">78</td><td><span class="k2">}</span></td></tr><tr><td class="number">79</td><td>&#160;</td></tr><tr><td class="number">80</td><td>&#160;</td></tr><tr><td class="number">81</td><td><span class="c">//Player Class</span></td></tr><tr><td class="number">82</td><td>Player::Player<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">83</td><td><span class="k2">{</span></td></tr><tr><td class="number">84</td><td>  <span class="c">// TODO: initialise stuff</span></td></tr><tr><td class="number">85</td><td><span class="k2">}</span></td></tr><tr><td class="number">86</td><td>&#160;</td></tr><tr><td class="number">87</td><td>Player::~Player<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">88</td><td><span class="k2">{</span></td></tr><tr><td class="number">89</td><td>  <span class="c">// TODO: cleanup</span></td></tr><tr><td class="number">90</td><td><span class="k2">}</span></td></tr><tr><td class="number">91</td><td>&#160;</td></tr><tr><td class="number">92</td><td>Player<span class="k3">*</span> Player::pad<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">93</td><td><span class="k2">{</span></td></tr><tr><td class="number">94</td><td>  tempX1 <span class="k3">=</span> X1<span class="k2">;</span></td></tr><tr><td class="number">95</td><td>  tempX2 <span class="k3">=</span> X2<span class="k2">;</span></td></tr><tr><td class="number">96</td><td>  <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">97</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">98</td><td>    <span class="k3">-</span><span class="k3">-</span>X1<span class="k2">;</span></td></tr><tr><td class="number">99</td><td>    <span class="k3">-</span><span class="k3">-</span>X2<span class="k2">;</span></td></tr><tr><td class="number">100</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">101</td><td>  <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">102</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">103</td><td>    <span class="k3">+</span><span class="k3">+</span>X1<span class="k2">;</span></td></tr><tr><td class="number">104</td><td>    <span class="k3">+</span><span class="k3">+</span>X2<span class="k2">;</span></td></tr><tr><td class="number">105</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">106</td><td>  <span class="k1">return</span> <span class="k1">this</span><span class="k2">;</span></td></tr><tr><td class="number">107</td><td><span class="k2">}</span></td></tr><tr><td class="number">108</td><td>&#160;</td></tr><tr><td class="number">109</td><td>Player<span class="k3">*</span> Player::drawPaddle<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">110</td><td><span class="k2">{</span></td></tr><tr><td class="number">111</td><td>  <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, tempX1, <span class="n">10</span>, tempX2, <span class="n">15</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</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></td></tr><tr><td class="number">112</td><td>  <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, X1, <span class="n">10</span>, X2, <span class="n">15</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">113</td><td>  <span class="k1">return</span> <span class="k1">this</span><span class="k2">;</span></td></tr><tr><td class="number">114</td><td><span class="k2">}</span></td></tr><tr><td class="number">115</td><td>&#160;</td></tr><tr><td class="number">116</td><td>Player<span class="k3">*</span> Player::setPosition<span class="k2">(</span><span class="k1">int</span> x1, <span class="k1">int</span> x2<span class="k2">)</span></td></tr><tr><td class="number">117</td><td><span class="k2">{</span></td></tr><tr><td class="number">118</td><td>  this-&gt;x1 <span class="k3">=</span> x1<span class="k2">;</span></td></tr><tr><td class="number">119</td><td>  this-&gt;x2 <span class="k3">=</span> x2<span class="k2">;</span></td></tr><tr><td class="number">120</td><td>  <span class="k1">return</span> <span class="k1">this</span><span class="k2">;</span></td></tr><tr><td class="number">121</td><td><span class="k2">}</span></td></tr><tr><td class="number">122</td><td>&#160;</td></tr><tr><td class="number">123</td><td>Player<span class="k3">*</span> Player::getPosition<span class="k2">(</span><span class="k1">int</span><span class="k3">*</span> x1, <span class="k1">int</span><span class="k3">*</span> x2<span class="k2">)</span></td></tr><tr><td class="number">124</td><td><span class="k2">{</span></td></tr><tr><td class="number">125</td><td>  <span class="k3">*</span>x1 <span class="k3">=</span> this-&gt;x1<span class="k2">;</span></td></tr><tr><td class="number">126</td><td>  <span class="k3">*</span>x2 <span class="k3">=</span> this-&gt;x2<span class="k2">;</span></td></tr><tr><td class="number">127</td><td>  <span class="k1">return</span> <span class="k1">this</span><span class="k2">;</span></td></tr><tr><td class="number">128</td><td><span class="k2">}</span></td></tr><tr><td class="number">129</td><td>&#160;</td></tr><tr><td class="number">130</td><td>Player<span class="k3">*</span> Player::setDirection<span class="k2">(</span><span class="k1">int</span> dir<span class="k2">)</span></td></tr><tr><td class="number">131</td><td><span class="k2">{</span></td></tr><tr><td class="number">132</td><td>  this-&gt;dir <span class="k3">=</span> dir<span class="k2">;</span></td></tr><tr><td class="number">133</td><td>  <span class="k1">return</span> <span class="k1">this</span><span class="k2">;</span></td></tr><tr><td class="number">134</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Steve++)</author>
		<pubDate>Sat, 29 Jul 2006 20:51:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ok i will change that, also I have put the DrawPaddle and pad member functions together, this seems to work for me... allthough it seems that any time i try to define more than one member function for a class it gives me the no member function declared.... Ghar!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (joshua.tilson)</author>
		<pubDate>Sat, 29 Jul 2006 20:53:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Instead of accessing and changing your Class Member Variables directly. Try using Accessor Functions. This makes sure your variables remain unchanged unless you specifically call the correct function within the class. It also allows you to carry out error checking.</p><p>For Example:
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td>&#160;</td></tr><tr><td class="number">2</td><td><span class="k1">class</span> Player</td></tr><tr><td class="number">3</td><td><span class="k2">{</span></td></tr><tr><td class="number">4</td><td>      public:</td></tr><tr><td class="number">5</td><td>            Player<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span> buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">6</td><td>            ~Player<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td>            <span class="c">// Accessor Functions</span></td></tr><tr><td class="number">9</td><td>            <span class="k1">int</span> GetX<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span> <span class="k1">return</span> m_X<span class="k2">;</span> <span class="k2">}</span></td></tr><tr><td class="number">10</td><td>            <span class="k1">int</span> GetY<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span> <span class="k1">return</span> m_Y<span class="k2">;</span> <span class="k2">}</span></td></tr><tr><td class="number">11</td><td>            <span class="k1">int</span> GetTempX<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span> <span class="k1">return</span> m_TempX<span class="k2">;</span> <span class="k2">}</span></td></tr><tr><td class="number">12</td><td>            <span class="k1">int</span> GetTempY<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span> <span class="k1">return</span> m_TempY<span class="k2">;</span> <span class="k2">}</span></td></tr><tr><td class="number">13</td><td>&#160;</td></tr><tr><td class="number">14</td><td>            <span class="c">// Other Functions</span></td></tr><tr><td class="number">15</td><td>            <span class="k1">void</span> MovePaddle<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Move Paddle</span></td></tr><tr><td class="number">16</td><td>            <span class="k1">void</span> DrawPaddle<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Draw Paddle to buffer</span></td></tr><tr><td class="number">17</td><td>      </td></tr><tr><td class="number">18</td><td>      private:</td></tr><tr><td class="number">19</td><td>              <span class="k1">int</span> m_X<span class="k2">;</span></td></tr><tr><td class="number">20</td><td>              <span class="k1">int</span> m_Y<span class="k2">;</span></td></tr><tr><td class="number">21</td><td>&#160;</td></tr><tr><td class="number">22</td><td>              BUFFER <span class="k3">*</span>m_pBuffer<span class="k2">;</span></td></tr><tr><td class="number">23</td><td><span class="k2">}</span><span class="k2">;</span></td></tr></tbody></table></div></div><p>

Err I hope that helps. I got distracted when writing this and forgot the point I was trying to make. Gtg now &gt;.&lt;
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Tomoso)</author>
		<pubDate>Sat, 29 Jul 2006 21:39:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>First post edited. Have a look.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Steve++)</author>
		<pubDate>Sat, 29 Jul 2006 21:45:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>thank you for the help guys!<br />It seems my main problem here is my compiler Dev-C++ will not allow me to set more that one member function per class.. Every time i add a new on and try to define it it will tell me that it has not been defined in the class... I am soo confused, and have not run into this type of thing before</p><p>thank you
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (joshua.tilson)</author>
		<pubDate>Sat, 29 Jul 2006 21:59:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>That is not the case. It sounds like you&#39;re misinterpreting compiler errors. Please copy and paste you compiler errors here so we can tell you what they really mean.</p><p>I&#39;m going to sleep now, so I&#39;ll let someone else do the honours.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Steve++)</author>
		<pubDate>Sat, 29 Jul 2006 22:37:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ok here is my compiler error:</p><p><span class="source-code"> <span class="n">69</span> G:\Dev-Cpp\pongclasses.cpp no `<span class="k1">int</span> Player::getPos<span class="k2">(</span><span class="k2">)</span><span class="s">' member function declared in class `Player'</span></span></p><p>this is just an eample, in my pongclasses.h I added <span class="source-code"> <span class="k1">int</span> getPos<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></span><br />and in allegroclasses.cpp i added <span class="source-code"> <span class="k1">int</span> Player::getPos90<span class="k2">{</span><span class="k2">}</span><span class="k2">;</span></span></p><p> not sure exactly whats goign on..<br />thanks for the help once again!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (joshua.tilson)</author>
		<pubDate>Sat, 29 Jul 2006 22:50:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>pongclasses.cpp is only 64 lines, so that isn&#39;t really helpful to me. Can you please post whatever code you have now and the error messages that the compiler is giving, so we can help you figure them out?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Steve++)</author>
		<pubDate>Sun, 30 Jul 2006 20:56:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Steve++ <br />hey thanks for the help, I tried soemthing different, I used all functions and put them all in one CPP and it is workign great now, I will worry more about the OOP in a later project i think... Or now that i know what code to use i could rewrite it... And it seems that if i post, and then have an update.. i cannot rpost unless osme one else has posted after me? wierd...</p><p>well here is the code i am using now. and I took the hint on the style of how to write it from <a href="http://www.cppgameprogramming.com/cgi/nav.cgi?page=index">http://www.cppgameprogramming.com/cgi/nav.cgi?page=index</a></p><p>here is my new code</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">2</td><td><span class="p">#include &lt;cstdlib&gt;</span></td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;time.h&gt;</span></td></tr><tr><td class="number">4</td><td>&#160;</td></tr><tr><td class="number">5</td><td><span class="k1">int</span> ballX,ballY, ballTempX, ballTempY<span class="k2">;</span></td></tr><tr><td class="number">6</td><td><span class="k1">int</span> pX1, pX2, pTempX1, pTempX2<span class="k2">;</span></td></tr><tr><td class="number">7</td><td><span class="k1">int</span> cX1, cX2, cTempX1, cTempX2<span class="k2">;</span></td></tr><tr><td class="number">8</td><td><span class="k1">int</span> dir<span class="k2">;</span></td></tr><tr><td class="number">9</td><td><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>buffer<span class="k2">;</span></td></tr><tr><td class="number">10</td><td>&#160;</td></tr><tr><td class="number">11</td><td><span class="k1">void</span> startNew<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">12</td><td>&#160;</td></tr><tr><td class="number">13</td><td>    <a href="http://www.allegro.cc/manual/clear_keybuf" target="_blank"><span class="a">clear_keybuf</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>    <a href="http://www.allegro.cc/manual/readkey" target="_blank"><span class="a">readkey</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>    <a href="http://www.allegro.cc/manual/clear_to_color" target="_blank"><span class="a">clear_to_color</span></a><span class="k2">(</span> buffer, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</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></td></tr><tr><td class="number">16</td><td>    ballX <span class="k3">=</span> <span class="n">320</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>    ballY <span class="k3">=</span> <span class="n">240</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>&#160;</td></tr><tr><td class="number">19</td><td>    <span class="c">//p1_x = 20;</span></td></tr><tr><td class="number">20</td><td>   <span class="c">// p1_y = 210;</span></td></tr><tr><td class="number">21</td><td>&#160;</td></tr><tr><td class="number">22</td><td>   <span class="c">// p2_x = 620;</span></td></tr><tr><td class="number">23</td><td>    <span class="c">//p2_y = 210;</span></td></tr><tr><td class="number">24</td><td>&#160;</td></tr><tr><td class="number">25</td><td><span class="k2">}</span>   </td></tr><tr><td class="number">26</td><td> </td></tr><tr><td class="number">27</td><td><span class="k1">void</span> moveBall<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">28</td><td><span class="k2">{</span></td></tr><tr><td class="number">29</td><td>     ballTempX <span class="k3">=</span> ballX<span class="k2">;</span></td></tr><tr><td class="number">30</td><td>     ballTempY<span class="k3">=</span> ballY <span class="k2">;</span></td></tr><tr><td class="number">31</td><td>             <span class="c">//This will keep track of the circles direction</span></td></tr><tr><td class="number">32</td><td>            <span class="c">//1= up and left, 2 = down and left, 3 = up and right, 4 = down and right</span></td></tr><tr><td class="number">33</td><td>            </td></tr><tr><td class="number">34</td><td>    <span class="k1">if</span> <span class="k2">(</span>dir <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> ballX <span class="k3">!</span><span class="k3">=</span> <span class="n">20</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">35</td><td>       <span class="k1">if</span><span class="k2">(</span> ballX <span class="k3">&gt;</span><span class="k3">=</span> pX1 <span class="k3">&amp;</span><span class="k3">&amp;</span> ballX <span class="k3">&lt;</span><span class="k3">=</span> pX2 <span class="k3">&amp;</span><span class="k3">&amp;</span> ballY <span class="k3">=</span><span class="k3">=</span> <span class="n">25</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">36</td><td>           dir <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">4</span> <span class="k3">+</span><span class="n">1</span><span class="k2">;</span><span class="k2">}</span></td></tr><tr><td class="number">37</td><td>           <span class="k1">else</span><span class="k2">{</span></td></tr><tr><td class="number">38</td><td>        <span class="k3">-</span><span class="k3">-</span>ballX<span class="k2">;</span></td></tr><tr><td class="number">39</td><td>        <span class="k3">-</span><span class="k3">-</span>ballY<span class="k2">;</span><span class="k2">}</span></td></tr><tr><td class="number">40</td><td>        </td></tr><tr><td class="number">41</td><td>    <span class="k2">}</span> <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>dir <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> ballX <span class="k3">!</span><span class="k3">=</span> <span class="n">20</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> ballY <span class="k3">=</span><span class="k3">=</span> <span class="n">455</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">42</td><td>           <span class="k1">if</span> <span class="k2">(</span>ballX <span class="k3">&gt;</span><span class="k3">=</span>cX1 <span class="k3">&amp;</span><span class="k3">&amp;</span> ballX <span class="k3">&lt;</span><span class="k3">=</span> cX2 <span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">43</td><td>                     dir <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">4</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">;</span><span class="k2">}</span></td></tr><tr><td class="number">44</td><td>           <span class="k1">else</span><span class="k2">{</span></td></tr><tr><td class="number">45</td><td>        <span class="k3">-</span><span class="k3">-</span>ballX<span class="k2">;</span></td></tr><tr><td class="number">46</td><td>        <span class="k3">+</span><span class="k3">+</span>ballY<span class="k2">;</span><span class="k2">}</span></td></tr><tr><td class="number">47</td><td>        </td></tr><tr><td class="number">48</td><td>&#160;</td></tr><tr><td class="number">49</td><td>    <span class="k2">}</span> <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>dir <span class="k3">=</span><span class="k3">=</span> <span class="n">3</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> ballX <span class="k3">!</span><span class="k3">=</span> <span class="n">620</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">50</td><td>           <span class="k1">if</span> <span class="k2">(</span> ballX <span class="k3">&gt;</span><span class="k3">=</span> pX1 <span class="k3">&amp;</span><span class="k3">&amp;</span> ballX <span class="k3">&lt;</span><span class="k3">=</span> pX2 <span class="k3">&amp;</span><span class="k3">&amp;</span> ballY <span class="k3">=</span><span class="k3">=</span> <span class="n">25</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">51</td><td>               dir <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">4</span> <span class="k3">+</span><span class="n">1</span><span class="k2">;</span><span class="k2">}</span></td></tr><tr><td class="number">52</td><td>            <span class="k1">else</span><span class="k2">{</span>    </td></tr><tr><td class="number">53</td><td>        <span class="k3">+</span><span class="k3">+</span>ballX<span class="k2">;</span></td></tr><tr><td class="number">54</td><td>        <span class="k3">-</span><span class="k3">-</span>ballY<span class="k2">;</span><span class="k2">}</span></td></tr><tr><td class="number">55</td><td>&#160;</td></tr><tr><td class="number">56</td><td>    <span class="k2">}</span> <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>dir <span class="k3">=</span><span class="k3">=</span> <span class="n">4</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> ballX <span class="k3">!</span><span class="k3">=</span> <span class="n">620</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">57</td><td>           <span class="k1">if</span><span class="k2">(</span>ballX <span class="k3">&gt;</span><span class="k3">=</span> cX1 <span class="k3">&amp;</span><span class="k3">&amp;</span> ballX <span class="k3">&lt;</span><span class="k3">=</span> cX2 <span class="k3">&amp;</span><span class="k3">&amp;</span> ballY <span class="k3">=</span><span class="k3">=</span> <span class="n">455</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">58</td><td>                    dir <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">4</span> <span class="k3">+</span><span class="n">1</span><span class="k2">;</span><span class="k2">}</span></td></tr><tr><td class="number">59</td><td>           <span class="k1">else</span><span class="k2">{</span>         </td></tr><tr><td class="number">60</td><td>        <span class="k3">+</span><span class="k3">+</span>ballX<span class="k2">;</span></td></tr><tr><td class="number">61</td><td>        <span class="k3">+</span><span class="k3">+</span>ballY<span class="k2">;</span><span class="k2">}</span></td></tr><tr><td class="number">62</td><td>     </td></tr><tr><td class="number">63</td><td>&#160;</td></tr><tr><td class="number">64</td><td>    <span class="k2">}</span> <span class="k1">else</span> <span class="k2">{</span> </td></tr><tr><td class="number">65</td><td>&#160;</td></tr><tr><td class="number">66</td><td>        dir <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">4</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">67</td><td>&#160;</td></tr><tr><td class="number">68</td><td>    <span class="k2">}</span>    </td></tr><tr><td class="number">69</td><td>    </td></tr><tr><td class="number">70</td><td>    <a href="http://www.allegro.cc/manual/acquire_screen" target="_blank"><span class="a">acquire_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">71</td><td>    <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a> <span class="k2">(</span> buffer, ballTempX, ballTempY, <span class="n">10</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</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></td></tr><tr><td class="number">72</td><td>    <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a> <span class="k2">(</span> buffer, ballX, ballY, <span class="n">10</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">255</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">255</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">73</td><td>    <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, buffer, <span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">74</td><td>    <a href="http://www.allegro.cc/manual/release_screen" target="_blank"><span class="a">release_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">75</td><td>    </td></tr><tr><td class="number">76</td><td>    <a href="http://www.allegro.cc/manual/rest" target="_blank"><span class="a">rest</span></a><span class="k2">(</span><span class="n">5</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">77</td><td><span class="k2">}</span> <span class="c">//end moveCircle()</span></td></tr><tr><td class="number">78</td><td>&#160;</td></tr><tr><td class="number">79</td><td><span class="k1">void</span> drawPlayer<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>    </td></tr><tr><td class="number">80</td><td>     pTempX1 <span class="k3">=</span> pX1<span class="k2">;</span></td></tr><tr><td class="number">81</td><td>     pTempX2 <span class="k3">=</span> pX2<span class="k2">;</span></td></tr><tr><td class="number">82</td><td>     <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> pX1 <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">83</td><td>          <span class="k3">-</span><span class="k3">-</span>pX1<span class="k2">;</span></td></tr><tr><td class="number">84</td><td>          <span class="k3">-</span><span class="k3">-</span>pX2<span class="k2">;</span>      <span class="k2">}</span></td></tr><tr><td class="number">85</td><td>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> pX2 <span class="k3">&lt;</span> <span class="n">640</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">86</td><td>         <span class="k3">+</span><span class="k3">+</span>pX1<span class="k2">;</span></td></tr><tr><td class="number">87</td><td>         <span class="k3">+</span><span class="k3">+</span>pX2<span class="k2">;</span>        <span class="k2">}</span></td></tr><tr><td class="number">88</td><td>      <a href="http://www.allegro.cc/manual/acquire_screen" target="_blank"><span class="a">acquire_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">89</td><td>      <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span>buffer, pTempX1, <span class="n">10</span>, pTempX2, <span class="n">15</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</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></td></tr><tr><td class="number">90</td><td>      <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span>buffer, pX1, <span class="n">10</span>, pX2, <span class="n">15</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">255</span>,<a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">255</span>,<a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">91</td><td>      <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, buffer, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">92</td><td>      <a href="http://www.allegro.cc/manual/release_screen" target="_blank"><span class="a">release_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">93</td><td>     </td></tr><tr><td class="number">94</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">95</td><td>&#160;</td></tr><tr><td class="number">96</td><td><span class="k1">void</span> drawComp<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">97</td><td><span class="k2">{</span></td></tr><tr><td class="number">98</td><td>     cTempX1 <span class="k3">=</span> cX1<span class="k2">;</span></td></tr><tr><td class="number">99</td><td>     cTempX2 <span class="k3">=</span> cX2<span class="k2">;</span></td></tr><tr><td class="number">100</td><td>     <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_A<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> cX1 <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">101</td><td>          <span class="k3">-</span><span class="k3">-</span>cX1<span class="k2">;</span></td></tr><tr><td class="number">102</td><td>          <span class="k3">-</span><span class="k3">-</span>cX2<span class="k2">;</span>      <span class="k2">}</span></td></tr><tr><td class="number">103</td><td>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_D<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> cX2 <span class="k3">&lt;</span> <span class="n">640</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">104</td><td>         <span class="k3">+</span><span class="k3">+</span>cX1<span class="k2">;</span></td></tr><tr><td class="number">105</td><td>         <span class="k3">+</span><span class="k3">+</span>cX2<span class="k2">;</span>        <span class="k2">}</span></td></tr><tr><td class="number">106</td><td>      <a href="http://www.allegro.cc/manual/acquire_screen" target="_blank"><span class="a">acquire_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">107</td><td>      <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span>buffer, cTempX1, <span class="n">470</span>, cTempX2, <span class="n">465</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</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></td></tr><tr><td class="number">108</td><td>      <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span>buffer, cX1, <span class="n">470</span>, cX2, <span class="n">465</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">255</span>,<a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">255</span>,<a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">109</td><td>      <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, buffer, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">110</td><td>      <a href="http://www.allegro.cc/manual/release_screen" target="_blank"><span class="a">release_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">111</td><td>      </td></tr><tr><td class="number">112</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">113</td><td>    </td></tr><tr><td class="number">114</td><td><span class="k1">void</span> setupGame<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">115</td><td><span class="k2">{</span></td></tr><tr><td class="number">116</td><td>    pX1 <span class="k3">=</span> <span class="n">210</span><span class="k2">;</span></td></tr><tr><td class="number">117</td><td>    pX2 <span class="k3">=</span> <span class="n">280</span><span class="k2">;</span></td></tr><tr><td class="number">118</td><td>    cX1 <span class="k3">=</span> <span class="n">210</span><span class="k2">;</span></td></tr><tr><td class="number">119</td><td>    cX2 <span class="k3">=</span> <span class="n">280</span><span class="k2">;</span></td></tr><tr><td class="number">120</td><td>    ballX <span class="k3">=</span> <span class="n">320</span><span class="k2">;</span></td></tr><tr><td class="number">121</td><td>    ballY <span class="k3">=</span> <span class="n">240</span><span class="k2">;</span></td></tr><tr><td class="number">122</td><td>    ballTempX <span class="k3">=</span> <span class="n">320</span><span class="k2">;</span></td></tr><tr><td class="number">123</td><td>    ballTempY <span class="k3">=</span> <span class="n">240</span><span class="k2">;</span></td></tr><tr><td class="number">124</td><td>    dir <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">4</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">;</span> </td></tr><tr><td class="number">125</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">126</td><td>&#160;</td></tr><tr><td class="number">127</td><td><span class="k1">void</span> checkWin<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">128</td><td><span class="k2">{</span></td></tr><tr><td class="number">129</td><td>     <span class="k1">if</span> <span class="k2">(</span>ballY <span class="k3">&lt;</span> <span class="n">0</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">130</td><td>     <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a> <span class="k2">(</span> buffer, ballTempX, ballTempY, <span class="n">10</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</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></td></tr><tr><td class="number">131</td><td>     <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, buffer, <span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">132</td><td>     <a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"PLayer2 Wins!"</span>, <span class="n">320</span>,<span class="n">240</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">0</span>,<span class="n">255</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</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></td></tr><tr><td class="number">133</td><td>     startNew<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span><span class="k2">}</span></td></tr><tr><td class="number">134</td><td>     <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>ballY <span class="k3">&gt;</span> <span class="n">480</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">135</td><td>          <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a> <span class="k2">(</span> buffer, ballTempX, ballTempY, <span class="n">10</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</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></td></tr><tr><td class="number">136</td><td>          <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, buffer, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">137</td><td>          <a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"Player1 Wins!"</span>, <span class="n">320</span>, <span class="n">240</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">0</span>,<span class="n">255</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</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></td></tr><tr><td class="number">138</td><td>          startNew<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span><span class="k2">}</span></td></tr><tr><td class="number">139</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">140</td><td>     </td></tr><tr><td class="number">141</td><td>&#160;</td></tr><tr><td class="number">142</td><td>&#160;</td></tr><tr><td class="number">143</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">144</td><td><span class="k2">{</span></td></tr><tr><td class="number">145</td><td>    <a href="http://www.allegro.cc/manual/allegro_init" target="_blank"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">146</td><td>    <a href="http://www.allegro.cc/manual/install_keyboard" target="_blank"><span class="a">install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">147</td><td>    <a href="http://www.allegro.cc/manual/set_color_depth" target="_blank"><span class="a">set_color_depth</span></a><span class="k2">(</span><span class="n">16</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">148</td><td>    <a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_AUTODETECT_WINDOWED, <span class="n">640</span>, <span class="n">480</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">149</td><td>    buffer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/create_bitmap" target="_blank"><span class="a">create_bitmap</span></a><span class="k2">(</span><span class="n">640</span>, <span class="n">480</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">150</td><td>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_739.html" target="_blank">srand</a><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a><span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">151</td><td>    setupGame<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">152</td><td>    drawPlayer<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">153</td><td>    <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_ESC<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">154</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">155</td><td>          moveBall<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">156</td><td>          drawPlayer<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">157</td><td>          drawComp<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">158</td><td>          checkWin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">159</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">160</td><td><span class="k2">}</span></td></tr><tr><td class="number">161</td><td><a href="http://www.allegro.cc/manual/END_OF_MAIN" target="_blank"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr></tbody></table></div></div><p>

Now i did use his examples of how he did it, but i wrote my own code... <br />tell me what you guys think.. Still gotta fix some things, like COmputer AI (no clue!) and the ball seems to bounce way to randomly, i need to figure out  a way that if the ball is bouncing down and hits a wall it continues bouncing down, right now it will be bouncing down, hit a wall and start bouncing up! Gah i kow its because of the rand() function that i use...</p><p>thanks guys
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (joshua.tilson)</author>
		<pubDate>Sun, 30 Jul 2006 22:53:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Instead of using a single direction value, use x and y direction values. Better still, use deltas. Call them dx and dy. They will represent the number of pixels to move in the x and y directions per frame. Then you can just switch the sign of dx when the x extremities are reached and the same for dy and y. The following code does this, but also adds something a little more complex. It allows for increments greater than one. For example, if dx = 8, then x is travelling to the right, eight pixels per frame. In this same example, if x is six pixels away from a wall, it will move six pixels to the right, then two to the left. It has the same effect as looping single increments eight times, but without the inefficiency. Observe:</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="k1">if</span> <span class="k2">(</span>dx <span class="k3">&lt;</span> <span class="n">0</span><span class="k2">)</span></td></tr><tr><td class="number">2</td><td><span class="k2">{</span></td></tr><tr><td class="number">3</td><td>  <span class="k1">if</span> <span class="k2">(</span>x <span class="k3">+</span> dx <span class="k3">&gt;</span><span class="k3">=</span> MIN_BALL_X<span class="k2">)</span></td></tr><tr><td class="number">4</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">5</td><td>    x <span class="k3">+</span><span class="k3">=</span> dx<span class="k2">;</span></td></tr><tr><td class="number">6</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">7</td><td>  <span class="k1">else</span></td></tr><tr><td class="number">8</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">9</td><td>    x <span class="k3">=</span> <span class="n">2</span> <span class="k3">*</span> MIN_BALL_X <span class="k3">-</span> dx <span class="k3">-</span> x<span class="k2">;</span></td></tr><tr><td class="number">10</td><td>    dx <span class="k3">=</span> <span class="k3">-</span>dx<span class="k2">;</span></td></tr><tr><td class="number">11</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">12</td><td><span class="k2">}</span></td></tr><tr><td class="number">13</td><td><span class="k1">else</span> <span class="c">// dx &gt; 0</span></td></tr><tr><td class="number">14</td><td><span class="k2">{</span></td></tr><tr><td class="number">15</td><td>  <span class="k1">if</span> <span class="k2">(</span>x <span class="k3">+</span> dx <span class="k3">&lt;</span><span class="k3">=</span> MAX_BALL_X<span class="k2">)</span></td></tr><tr><td class="number">16</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">17</td><td>    x <span class="k3">+</span><span class="k3">=</span> dx<span class="k2">;</span></td></tr><tr><td class="number">18</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">19</td><td>  <span class="k1">else</span></td></tr><tr><td class="number">20</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">21</td><td>    x <span class="k3">=</span> <span class="n">2</span> <span class="k3">*</span> MAX_BALL_X <span class="k3">-</span> dx <span class="k3">-</span> x<span class="k2">;</span></td></tr><tr><td class="number">22</td><td>    dx <span class="k3">=</span> <span class="k3">-</span>dx<span class="k2">;</span></td></tr><tr><td class="number">23</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">24</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

Formulae such as <i>x = 2 * MAX_BALL_X - dx - x</i> may seem strange. This one, for example is derived from <i>x = MAX_BALL_X - (dx - (MAX_BALL_X - x))</i>, which may be more descriptive to you.</p><p>That takes care of x. To calculate y, you will need a similar structure as the code above, but of course with the addition of collision testing with the player object (assuming the player(s) move(s) horizontally).</p><p>Hope this helps.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Steve++)</author>
		<pubDate>Sun, 30 Jul 2006 23:55:29 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hey Steve!</p><p>Aweosme, thanks fo the help. Havent got much into Matha nd programming yet, finding out im goignt o have to study up, know any good tutorials or reading on programming math? Umm I did the X and did one very similar to it for Y, i have not got the colision deticiton goiung yet, still puzzling on that one.</p><p>I have run into something wierd with this code though, when the ball hits the wall either X-0 or Y-0 it just runns along the top or side of the screen.. trying to find what causes that as well.<br />But over all this is a huge help! also gives me something to figure out on my own right? thanks for the shove in the right direction!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (joshua.tilson)</author>
		<pubDate>Mon, 31 Jul 2006 00:51:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Oops... try this:</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="k1">if</span> <span class="k2">(</span>dx <span class="k3">&lt;</span> <span class="n">0</span><span class="k2">)</span></td></tr><tr><td class="number">2</td><td><span class="k2">{</span></td></tr><tr><td class="number">3</td><td>  <span class="k1">if</span> <span class="k2">(</span>x <span class="k3">+</span> dx <span class="k3">&gt;</span> MIN_BALL_X<span class="k2">)</span></td></tr><tr><td class="number">4</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">5</td><td>    x <span class="k3">+</span><span class="k3">=</span> dx<span class="k2">;</span></td></tr><tr><td class="number">6</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">7</td><td>  <span class="k1">else</span></td></tr><tr><td class="number">8</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">9</td><td>    x <span class="k3">=</span> <span class="n">2</span> <span class="k3">*</span> MIN_BALL_X <span class="k3">-</span> dx <span class="k3">-</span> x<span class="k2">;</span></td></tr><tr><td class="number">10</td><td>    dx <span class="k3">=</span> <span class="k3">-</span>dx<span class="k2">;</span></td></tr><tr><td class="number">11</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">12</td><td><span class="k2">}</span></td></tr><tr><td class="number">13</td><td><span class="k1">else</span> <span class="c">// dx &gt; 0</span></td></tr><tr><td class="number">14</td><td><span class="k2">{</span></td></tr><tr><td class="number">15</td><td>  <span class="k1">if</span> <span class="k2">(</span>x <span class="k3">+</span> dx <span class="k3">&lt;</span> MAX_BALL_X<span class="k2">)</span></td></tr><tr><td class="number">16</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">17</td><td>    x <span class="k3">+</span><span class="k3">=</span> dx<span class="k2">;</span></td></tr><tr><td class="number">18</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">19</td><td>  <span class="k1">else</span></td></tr><tr><td class="number">20</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">21</td><td>    x <span class="k3">=</span> <span class="n">2</span> <span class="k3">*</span> MAX_BALL_X <span class="k3">-</span> dx <span class="k3">-</span> x<span class="k2">;</span></td></tr><tr><td class="number">22</td><td>    dx <span class="k3">=</span> <span class="k3">-</span>dx<span class="k2">;</span></td></tr><tr><td class="number">23</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">24</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

Stupid error <img src="http://www.allegro.cc/forums/smileys/rolleyes.gif" alt="::)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Steve++)</author>
		<pubDate>Mon, 31 Jul 2006 01:02:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>In general &quot;they&quot; say to trust your gut instinct, or in the case of school your first instinvct on the answer is usually right. I had looked at the &gt;= and &lt;= and thought about changing that..</p><p>Thank you so much for the help! Once i get this part down im going to try to add soem GUI to allow the player to choose wheter to start a 2 player, 1 player vs compuer or quit.. </p><p>I have been looking into some GUIs for allegro.. I have heard that the built in gui is awfull, is that true?</p><p>and what of ones like Guichan, or the unuglification gui?</p><p>Oh well imight just try the built in one, doesnt need to be pretty this is all for practice in game programming logic and theory.</p><p>thanks again for the help!</p><p>P.S</p><p>I got it working with the colision detection and everything, man was that part easy I'm dumb!!</p><p>check it out:</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span> <span class="k2">(</span>dy <span class="k3">&lt;</span> <span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> ballX <span class="k3">&gt;</span><span class="k3">=</span> pX1 <span class="k3">&amp;</span><span class="k3">&amp;</span> ballX <span class="k3">&lt;</span><span class="k3">=</span> pX2 <span class="k3">&amp;</span><span class="k3">&amp;</span> ballY <span class="k3">=</span><span class="k3">=</span> <span class="n">25</span><span class="k2">)</span>
   <span class="k2">{</span> dy <span class="k3">=</span> <span class="k3">-</span>dy<span class="k2">;</span><span class="k2">}</span>
<span class="k1">if</span> <span class="k2">(</span>dy <span class="k3">&gt;</span> <span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> ballX <span class="k3">&gt;</span><span class="k3">=</span> cX1 <span class="k3">&amp;</span><span class="k3">&amp;</span> ballX <span class="k3">&lt;</span><span class="k3">=</span> cX2 <span class="k3">&amp;</span><span class="k3">&amp;</span> ballY <span class="k3">=</span><span class="k3">=</span> <span class="n">455</span><span class="k2">)</span>
   <span class="k2">{</span> dy <span class="k3">=</span> <span class="k3">-</span>dy<span class="k2">;</span><span class="k2">}</span>
</pre></div></div><p>

I added that right above yourr dx and dy code!<br />It works perfectly!</p><p>I nominate you for noob helper of the year!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (joshua.tilson)</author>
		<pubDate>Mon, 31 Jul 2006 01:09:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>If you&#39;re just going to have a menu where the player can choose 1 or 2 player game and stuff like that, you probably won&#39;t need to use a gui at all. Just code some buttons, they&#39;ll look nicer, and will probably be easier than learning a gui lib, since you won&#39;t need most of it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kauhiz)</author>
		<pubDate>Mon, 31 Jul 2006 01:23:29 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The Allegro GUI is a &#39;perfect&#39; system once you understand it. By perfect, I mean that it does exactly what it&#39;s supposed to do and nothing more, and it is quite compact. It is perfect for a C programmer, but a bit ugly if you&#39;re used to an object oriented GUI interface. Luckily there are some helper functions that show various sorts of dialogue boxes. I&#39;d look into that first, because it will most likely save you having to use a gui API (be it Allegro&#39;s or some other add-on).</p><p>Good to hear you got it all working. I&#39;ve never actually written pong myself, but I&#39;ve done plenty of balls-bouncing-off-walls stuff.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
I nominate you for noob helper of the year!
</p></div></div><p>Sigged <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Steve++)</author>
		<pubDate>Mon, 31 Jul 2006 01:25:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well hey pong seemed long the logical place to start, I mean start at the beginning and work up right? Next i will writer Zork I'm dumb! yeah right. <br />You have beena lot of help thank you steve++.. I am looking into the allegro gui right now... hope to make this a fully functioning game!</p><p>well Im off for some good old fashioned learnin!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (joshua.tilson)</author>
		<pubDate>Mon, 31 Jul 2006 01:27:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah, pong is a good place to start, but at the time I was 13 and I thought it was beneath me.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Steve++)</author>
		<pubDate>Mon, 31 Jul 2006 01:33:30 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well lucky for me i waited about 12 years longer than you to start coding.. Oh wait not lucky me damnit! Why couldn&#39;t i do this earlier?<br />I know i have started along a long and hard road, but i am willing to go every step of the way, sometimes you just need a shove in the right direction is all.</p><p>Wish me luck on the GUI, i will post here periodically with updates on whats goign on with this rinky dink project of mine!</p><p>thanks again!</p><p>Hey on a side note, I am looking at the Allegro GUI tutorial at <a href="http://agdn.netfirms.com/main/gui/dialogs.html">http://agdn.netfirms.com/main/gui/dialogs.html</a></p><p>and i have taken their color builder code to try and see how things work, only the call to update_color doesnt work, is that depreciated or what? wha is used now instead of that?</p><p>oh well least with that out it works other than changing the olor, trying to figure this bit out now!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (joshua.tilson)</author>
		<pubDate>Mon, 31 Jul 2006 01:38:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Slightly offtopic, but I noticed that you &lt;included.h&gt; your own files, as opposed to &quot;including.h&quot; them.  Can anyone explain the difference to me? I&#39;ve always used &lt; &gt; for libraries, and &quot; &quot; for my own files.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jakerohs)</author>
		<pubDate>Mon, 31 Jul 2006 09:30:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Josh, that tutorial is quite old, so there may be some things in there that have been deprecated.</p><p>Jake, the difference is that &quot;including&quot; them searches in the same directory as the file that&#39;s &quot;including&quot; them, whereas &lt;including&gt; them looks in the compiler&#39;s include directory.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Steve++)</author>
		<pubDate>Mon, 31 Jul 2006 13:44:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>joshua.tilson,</p><p>I have attached the code for a simple program that creates a skeleton class with more than one member function and then uses it. Try compiling it to see if you get the same error (it compiled perfectly for me).</p><p>I&#39;m guessing you may have the same problem since when I tested your code, while it threw up a ton of errors, none of them was the error you got.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
And it seems that if i post, and then have an update.. i cannot rpost unless osme one else has posted after me? wierd...
</p></div></div><p>

ML designed the forum this way deliberately. If you&#39;ve ever come across forums where people post ten posts in a row, each updating the last one, you&#39;ll appreciate why. If you want to add new material to a post, edit it and enclose the new material in [update][/update] or [edit][/edit] (or something similar). These aren&#39;t real forum tags, but they let others know that you&#39;ve added new material.</p><div class="quote_container"><div class="title">Jake Rohs said:</div><div class="quote"><p>
Slightly offtopic, but I noticed that you &lt;included.h&gt; your own files, as opposed to &quot;including.h&quot; them. Can anyone explain the difference to me?
</p></div></div><p>

The compiler determines where to look for the file being included by checking if it&#39;s name is enclosed in &quot;&quot; or &lt;&gt;.  Exactly where the compiler looks in each case is compiler specific, not language specific.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Mon, 31 Jul 2006 13:48:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Josh, you can also press &quot;Send to Top&quot;, which bumps your thread to the top of the list and highlights it, but use that feature sparingly - only when you edit a post significantly and think that people may be interested in the changes.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Steve++)</author>
		<pubDate>Mon, 31 Jul 2006 13:58:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Steve++ said:</div><div class="quote"><p>
 Josh, that tutorial is quite old, so there may be some things in there that have been deprecated.
</p></div></div><p>

Is there anything newer i can take a look at?</p><div class="quote_container"><div class="title">Kauhiz said:</div><div class="quote"><p>
 Josh, that tutorial is quite old, so there may be some things in there that have been deprecated.
</p></div></div><p>

not sure where ot start on this either, A kick in the right direction would be great!</p><div class="quote_container"><div class="title">LennyLen said:</div><div class="quote"><p>
 I have attached the code for a simple program that creates a skeleton class with more than one member function and then uses it. Try compiling it to see if you get the same error
</p></div></div><p>

I got it and compiled it and it worked fine! course I am on my work computer now and not at home. I have never encountered that problem before done a few simple classes with many member functions and never had that happen... probably a simple typo or somehting oh well!</p><p>once again, thanks for the help and advice every one!</p><p>Josh
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (joshua.tilson)</author>
		<pubDate>Mon, 31 Jul 2006 18:39:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
I have never encountered that problem before done a few simple classes with many member functions and never had that happen... probably a simple typo or somehting oh well!
</p></div></div><p>

The fact that I can compile the same code without that error would indicate otherwise.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Mon, 31 Jul 2006 18:46:34 +0000</pubDate>
	</item>
</rss>
