<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Collision Detection</title>
		<link>http://www.allegro.cc/forums/view/591420</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Thu, 31 May 2007 01:03:31 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi, Can anyone please read through the source code of my program here?:
</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;stdio.h&gt;</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td><span class="k1">int</span> x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span> <span class="c">/* sets the position of the + sign(x-axis) */</span></td></tr><tr><td class="number">5</td><td><span class="k1">int</span> y <span class="k3">=</span> <span class="n">260</span><span class="k2">;</span> <span class="c">/*(y-axis)*/</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> a <span class="k3">=</span> <span class="n">320</span><span class="k2">;</span> <span class="c">/* for the puck*/</span></td></tr><tr><td class="number">8</td><td><span class="k1">int</span> b <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td>&#160;</td></tr><tr><td class="number">10</td><td><span class="k1">int</span> c <span class="k3">=</span> <span class="n">520</span><span class="k2">;</span> <span class="c">/* playertwo*/</span></td></tr><tr><td class="number">11</td><td><span class="k1">int</span> d <span class="k3">=</span> <span class="n">260</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>&#160;</td></tr><tr><td class="number">13</td><td><span class="k1">void</span> playerone<span class="k2">(</span><span class="k1">int</span> x, <span class="k1">int</span> y, <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">14</td><td>    </td></tr><tr><td class="number">15</td><td>    <a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span> buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"+"</span>, x, y, <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">0</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">16</td><td>    <span class="c">/* makes a '+' sign and sets the colour as white and to start where x and y are set*/</span>  </td></tr><tr><td class="number">17</td><td>    <a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span> buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"+"</span>, x, y, <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">0</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">18</td><td>    <span class="c">/* create player one's cursor and make him red*/</span></td></tr><tr><td class="number">19</td><td><span class="k2">}</span></td></tr><tr><td class="number">20</td><td><span class="k1">void</span> playertwo<span class="k2">(</span><span class="k1">int</span> c, <span class="k1">int</span> d, <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">21</td><td>&#160;</td></tr><tr><td class="number">22</td><td>     <a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"+"</span>,c ,d , <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">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">23</td><td>     <span class="c">/* create player two's cursor and make him blue*/</span>  </td></tr><tr><td class="number">24</td><td>     <a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"+"</span>, c, d, <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">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">25</td><td><span class="k2">}</span></td></tr><tr><td class="number">26</td><td><span class="k1">int</span> main<span class="k2">(</span><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></td></tr><tr><td class="number">29</td><td>    </td></tr><tr><td class="number">30</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">31</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">32</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">33</td><td>    </td></tr><tr><td class="number">34</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">35</td><td>        </td></tr><tr><td class="number">36</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">37</td><td>        </td></tr><tr><td class="number">38</td><td>        <span class="c">//acquire_screen();</span></td></tr><tr><td class="number">39</td><td>    </td></tr><tr><td class="number">40</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="k3">=</span> NULL<span class="k2">;</span><span class="c">/* Declare a BITMAP called buffer.*/</span></td></tr><tr><td class="number">41</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> <span class="c">/*Create an empty bitmap the size of the screen*/</span></td></tr><tr><td class="number">42</td><td>        </td></tr><tr><td class="number">43</td><td>        playerone<span class="k2">(</span>x,y,buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">44</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_W<span class="k2">]</span><span class="k2">)</span> <span class="k3">-</span><span class="k3">-</span>y<span class="k2">;</span>  <span class="c">/*up when you press up*/</span></td></tr><tr><td class="number">45</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_S<span class="k2">]</span><span class="k2">)</span> <span class="k3">+</span><span class="k3">+</span>y<span class="k2">;</span>  <span class="c">/*down when you press down*/</span></td></tr><tr><td class="number">46</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_D<span class="k2">]</span><span class="k2">)</span> <span class="k3">+</span><span class="k3">+</span>x<span class="k2">;</span>  <span class="c">/*right when you press right*/</span></td></tr><tr><td class="number">47</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="k2">)</span> <span class="k3">-</span><span class="k3">-</span>x<span class="k2">;</span>  <span class="c">/*left when you press Left*/</span></td></tr><tr><td class="number">48</td><td>        playertwo<span class="k2">(</span>c,d,buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">49</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_UP<span class="k2">]</span><span class="k2">)</span> <span class="k3">-</span><span class="k3">-</span>d<span class="k2">;</span>      <span class="c">/*up when you press up*/</span></td></tr><tr><td class="number">50</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_DOWN<span class="k2">]</span><span class="k2">)</span> <span class="k3">+</span><span class="k3">+</span>d<span class="k2">;</span>    <span class="c">/*down when you press down*/</span></td></tr><tr><td class="number">51</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="k3">+</span><span class="k3">+</span>c<span class="k2">;</span>   <span class="c">/*right when you press right*/</span></td></tr><tr><td class="number">52</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="k3">-</span><span class="k3">-</span>c<span class="k2">;</span>    <span class="c">/*left when you press left*/</span></td></tr><tr><td class="number">53</td><td>        </td></tr><tr><td class="number">54</td><td>&#160;</td></tr><tr><td class="number">55</td><td>        </td></tr><tr><td class="number">56</td><td>        <span class="c">/* makes a '+' sign and sets the colour as white and to go where x and y are set*/</span></td></tr><tr><td class="number">57</td><td>        <a href="http://www.allegro.cc/manual/textout_centre_ex" target="_blank"><span class="a">textout_centre_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>,<span class="s">"Air Hockey"</span> , a, b, <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>, <span class="k3">-</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">58</td><td>        <span class="c">//release_screen();</span></td></tr><tr><td class="number">59</td><td>        </td></tr><tr><td class="number">60</td><td>        </td></tr><tr><td class="number">61</td><td>        <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a><span class="k2">(</span> buffer, <span class="n">140</span>, <span class="n">260</span>, <span class="n">5</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><span class="c">/* puck*/</span></td></tr><tr><td class="number">62</td><td>        <a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span> buffer, <span class="n">60</span>, <span class="n">120</span>, <span class="n">580</span>, <span class="n">400</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><span class="c">/*playing field*/</span></td></tr><tr><td class="number">63</td><td>        <a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span> buffer, <span class="n">40</span>, <span class="n">230</span>, <span class="n">60</span>, <span class="n">290</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">255</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>    <span class="c">/*player one's net to defend*/</span></td></tr><tr><td class="number">64</td><td>        <a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span> buffer, <span class="n">580</span>, <span class="n">230</span>, <span class="n">600</span>, <span class="n">290</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">255</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>   <span class="c">/*player two's net to defend*/</span></td></tr><tr><td class="number">65</td><td>        <a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">(</span> buffer, <span class="n">320</span>, <span class="n">120</span>, <span class="n">320</span>, <span class="n">400</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><span class="c">/*half way line*/</span></td></tr><tr><td class="number">66</td><td>        <a href="http://www.allegro.cc/manual/circle" target="_blank"><span class="a">circle</span></a><span class="k2">(</span>buffer, <span class="n">320</span>, <span class="n">260</span>, <span class="n">50</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><span class="c">/*center circle*/</span></td></tr><tr><td class="number">67</td><td>        <span class="c">/* makes the playing surface*/</span></td></tr><tr><td class="number">68</td><td>        <span class="c">/* notice that all this is being drawn to the buffer to stop flickering*/</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/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">640</span>,<span class="n">480</span><span class="k2">)</span><span class="k2">;</span><span class="c">/*Draw the buffer to the screen*/</span></td></tr><tr><td class="number">71</td><td>        </td></tr><tr><td class="number">72</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">12</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">73</td><td>        </td></tr><tr><td class="number">74</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">75</td><td>    </td></tr><tr><td class="number">76</td><td>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">77</td><td>    </td></tr><tr><td class="number">78</td><td><span class="k2">}</span></td></tr><tr><td class="number">79</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>

Sorry that It&#39;s a mess I&#39;m very new to it. I&#39;m trying to crate air hockey, but I&#39;m stuck at getting things to collide. Can i have suggestions please. NOTICE: My Playerone and Playertwo are not images they are text essentially. &#39;+&#39;</p><p>Thanks guys.;D
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (zavirax)</author>
		<pubDate>Thu, 17 May 2007 02:00:02 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Generally, when pasting source code its nice to encapsulate them in [code] tags.  Like so:
</p><pre>
&lt;code&gt;
void foobar(int);

int var = 5;

foobar(5 * 2);
&lt;/code&gt;
</pre><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Thu, 17 May 2007 06:31:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I said I was a noob. Thanks but how does this help my code????
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (zavirax)</author>
		<pubDate>Thu, 17 May 2007 23:42:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Because then people will actually read your code and possibly even try to help.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Fri, 18 May 2007 06:10:29 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Because then people will actually read your code and possibly even try to help.
</p></div></div><p>
He&#39;s right, I really don&#39;t want to read it myself.  Fix it up and I might take a look.  Yeah, I know, it&#39;s not really nice, but I just can&#39;t stand to look at that conglomeration above...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Onewing)</author>
		<pubDate>Fri, 18 May 2007 06:44:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>There&#39;s no point at the moment of doing any collision detection - you&#39;re writing the line &quot;Air Hockey&quot; where the puck should be, and drawing the puck at a fixed position.</p><p>Once you get round to the collision detection, have a search for bounding boxes.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (HardTranceFan)</author>
		<pubDate>Fri, 18 May 2007 07:06:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You should draw the puck at the end, after the rest of the playing field has been drawn. Make sure you are drawing stuff in the right order (z-ordering).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Fri, 18 May 2007 07:13:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>ok ill try to fix it up, Here&#39;s it now i know it&#39;s not perfect:
</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;stdio.h&gt;</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td><span class="k1">int</span> x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span> <span class="c">/* sets the position of the + sign(x-axis) */</span></td></tr><tr><td class="number">5</td><td><span class="k1">int</span> y <span class="k3">=</span> <span class="n">260</span><span class="k2">;</span> <span class="c">/*(y-axis)*/</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> a <span class="k3">=</span> <span class="n">140</span><span class="k2">;</span> <span class="c">/* for the puck*/</span></td></tr><tr><td class="number">8</td><td><span class="k1">int</span> b <span class="k3">=</span> <span class="n">250</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td><span class="k1">int</span> c <span class="k3">=</span> <span class="n">150</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td><span class="k1">int</span> d <span class="k3">=</span> <span class="n">260</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>&#160;</td></tr><tr><td class="number">12</td><td><span class="k1">int</span> e <span class="k3">=</span> <span class="n">520</span><span class="k2">;</span> <span class="c">/* playertwo*/</span></td></tr><tr><td class="number">13</td><td><span class="k1">int</span> f <span class="k3">=</span> <span class="n">290</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>&#160;</td></tr><tr><td class="number">15</td><td><span class="k1">int</span> outside_bb_left <span class="k3">=</span> <span class="n">60</span><span class="k2">;</span><span class="c">/* playing field boundong box*/</span></td></tr><tr><td class="number">16</td><td><span class="k1">int</span> outside_bb_up <span class="k3">=</span> <span class="n">120</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td><span class="k1">int</span> outside_bb_down <span class="k3">=</span> <span class="n">395</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td><span class="k1">int</span> outside_bb_right <span class="k3">=</span> <span class="n">575</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td><span class="k1">int</span> middle_line <span class="k3">=</span> <span class="n">316</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>&#160;</td></tr><tr><td class="number">21</td><td><span class="k1">int</span> puck_left<span class="k3">=</span>a<span class="k2">;</span><span class="c">/* puck bounding box*/</span></td></tr><tr><td class="number">22</td><td><span class="k1">int</span> puck_up<span class="k3">=</span>b<span class="k2">;</span></td></tr><tr><td class="number">23</td><td><span class="k1">int</span> puck_right<span class="k3">=</span>c<span class="k2">;</span></td></tr><tr><td class="number">24</td><td><span class="k1">int</span> puck_down<span class="k3">=</span>d<span class="k2">;</span></td></tr><tr><td class="number">25</td><td>&#160;</td></tr><tr><td class="number">26</td><td>&#160;</td></tr><tr><td class="number">27</td><td>&#160;</td></tr><tr><td class="number">28</td><td>&#160;</td></tr><tr><td class="number">29</td><td><span class="k1">void</span> puck<span class="k2">(</span><span class="k1">int</span> a, <span class="k1">int</span> b, <span class="k1">int</span> c, <span class="k1">int</span> d, <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">30</td><td>&#160;</td></tr><tr><td class="number">31</td><td><a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span> buffer, a , b,c ,d , <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">255</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span><span class="c">/* puck*/</span>   </td></tr><tr><td class="number">32</td><td>&#160;</td></tr><tr><td class="number">33</td><td><span class="k2">}</span></td></tr><tr><td class="number">34</td><td>&#160;</td></tr><tr><td class="number">35</td><td>&#160;</td></tr><tr><td class="number">36</td><td>&#160;</td></tr><tr><td class="number">37</td><td><span class="k1">void</span> playerone<span class="k2">(</span><span class="k1">int</span> x, <span class="k1">int</span> y, <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">38</td><td>&#160;</td></tr><tr><td class="number">39</td><td><a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span> buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"+"</span>, x, y, <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">0</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">40</td><td><span class="c">/* makes a '+' sign and sets the colour as white and to start where x and y are set*/</span>  </td></tr><tr><td class="number">41</td><td><a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span> buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"+"</span>, x, y, <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">0</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">42</td><td><span class="c">/* create player one's cursor and make him red*/</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="k1">void</span> playertwo<span class="k2">(</span><span class="k1">int</span> e, <span class="k1">int</span> f, <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">45</td><td>&#160;</td></tr><tr><td class="number">46</td><td><a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"+"</span>,e ,f , <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">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">47</td><td><span class="c">/* create player two's cursor and make him blue*/</span>  </td></tr><tr><td class="number">48</td><td><a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"+"</span>, e, f, <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">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">49</td><td><span class="k2">}</span></td></tr><tr><td class="number">50</td><td>&#160;</td></tr><tr><td class="number">51</td><td>&#160;</td></tr><tr><td class="number">52</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">53</td><td>&#160;</td></tr><tr><td class="number">54</td><td><span class="k2">{</span></td></tr><tr><td class="number">55</td><td>&#160;</td></tr><tr><td class="number">56</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">57</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">58</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">59</td><td>&#160;</td></tr><tr><td class="number">60</td><td><span class="c">/* makes a '+' sign and sets the colour as white and to go where x and y are set*/</span></td></tr><tr><td class="number">61</td><td>&#160;</td></tr><tr><td class="number">62</td><td>&#160;</td></tr><tr><td class="number">63</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">64</td><td>&#160;</td></tr><tr><td class="number">65</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">66</td><td>&#160;</td></tr><tr><td class="number">67</td><td>&#160;</td></tr><tr><td class="number">68</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="k3">=</span> NULL<span class="k2">;</span><span class="c">/* Declare a BITMAP called buffer.*/</span></td></tr><tr><td class="number">69</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> <span class="c">/*Create an empty bitmap the size of the screen*/</span></td></tr><tr><td class="number">70</td><td>&#160;</td></tr><tr><td class="number">71</td><td><a href="http://www.allegro.cc/manual/textout_centre_ex" target="_blank"><span class="a">textout_centre_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>,<span class="s">"Air Hockey"</span> , <span class="n">320</span>, <span class="n">100</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>, <span class="k3">-</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">72</td><td><span class="c">//release_screen();</span></td></tr><tr><td class="number">73</td><td>&#160;</td></tr><tr><td class="number">74</td><td><a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span> buffer, <span class="n">60</span>, <span class="n">120</span>, <span class="n">580</span>, <span class="n">400</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><span class="c">/*playing field*/</span></td></tr><tr><td class="number">75</td><td><a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span> buffer, <span class="n">40</span>, <span class="n">230</span>, <span class="n">60</span>, <span class="n">290</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">255</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>    <span class="c">/*player one's net to defend*/</span></td></tr><tr><td class="number">76</td><td><a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span> buffer, <span class="n">580</span>, <span class="n">230</span>, <span class="n">600</span>, <span class="n">290</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">255</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>   <span class="c">/*player two's net to defend*/</span></td></tr><tr><td class="number">77</td><td><a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">(</span> buffer, <span class="n">320</span>, <span class="n">120</span>, <span class="n">320</span>, <span class="n">400</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><span class="c">/*half way line*/</span></td></tr><tr><td class="number">78</td><td><a href="http://www.allegro.cc/manual/circle" target="_blank"><span class="a">circle</span></a><span class="k2">(</span>buffer, <span class="n">320</span>, <span class="n">260</span>, <span class="n">75</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><span class="c">/*center circle*/</span></td></tr><tr><td class="number">79</td><td><span class="c">/* makes the playing surface*/</span></td></tr><tr><td class="number">80</td><td><span class="c">/* notice that all this is being drawn to the buffer to stop flickering*/</span>   </td></tr><tr><td class="number">81</td><td>&#160;</td></tr><tr><td class="number">82</td><td>&#160;</td></tr><tr><td class="number">83</td><td>&#160;</td></tr><tr><td class="number">84</td><td>playerone<span class="k2">(</span>x,y,buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">85</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_W<span class="k2">]</span><span class="k2">)</span> <span class="k3">-</span><span class="k3">-</span>y<span class="k2">;</span>  <span class="c">/*up when you press up*/</span></td></tr><tr><td class="number">86</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_S<span class="k2">]</span><span class="k2">)</span> <span class="k3">+</span><span class="k3">+</span>y<span class="k2">;</span>  <span class="c">/*down when you press down*/</span></td></tr><tr><td class="number">87</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_D<span class="k2">]</span><span class="k2">)</span> <span class="k3">+</span><span class="k3">+</span>x<span class="k2">;</span>  <span class="c">/*right wehn you press right*/</span></td></tr><tr><td class="number">88</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="k2">)</span> <span class="k3">-</span><span class="k3">-</span>x<span class="k2">;</span>  <span class="c">/*left when you press ledft*/</span></td></tr><tr><td class="number">89</td><td>&#160;</td></tr><tr><td class="number">90</td><td><span class="c">/* stops playerone leaving the playing field*/</span></td></tr><tr><td class="number">91</td><td>&#160;</td></tr><tr><td class="number">92</td><td>&#160;</td></tr><tr><td class="number">93</td><td><span class="k1">if</span> <span class="k2">(</span>x<span class="k3">=</span><span class="k3">=</span>outside_bb_left<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">94</td><td>x<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>    </td></tr><tr><td class="number">95</td><td><span class="k2">}</span></td></tr><tr><td class="number">96</td><td>&#160;</td></tr><tr><td class="number">97</td><td><span class="k1">if</span> <span class="k2">(</span>y<span class="k3">=</span><span class="k3">=</span>outside_bb_up<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">98</td><td>y<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">99</td><td><span class="k2">}</span>                          </td></tr><tr><td class="number">100</td><td><span class="k1">if</span> <span class="k2">(</span>y<span class="k3">=</span><span class="k3">=</span>outside_bb_down<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">101</td><td>y--<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="k1">if</span> <span class="k2">(</span>x<span class="k3">=</span><span class="k3">=</span>middle_line<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">104</td><td>x--<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>&#160;</td></tr><tr><td class="number">107</td><td>&#160;</td></tr><tr><td class="number">108</td><td>&#160;</td></tr><tr><td class="number">109</td><td>&#160;</td></tr><tr><td class="number">110</td><td>&#160;</td></tr><tr><td class="number">111</td><td>&#160;</td></tr><tr><td class="number">112</td><td>playertwo<span class="k2">(</span>e,f,buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">113</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_UP<span class="k2">]</span><span class="k2">)</span> <span class="k3">-</span><span class="k3">-</span>f<span class="k2">;</span>      <span class="c">/*up when you press up*/</span></td></tr><tr><td class="number">114</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_DOWN<span class="k2">]</span><span class="k2">)</span> <span class="k3">+</span><span class="k3">+</span>f<span class="k2">;</span>    <span class="c">/*down when you press down*/</span></td></tr><tr><td class="number">115</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="k3">+</span><span class="k3">+</span>e<span class="k2">;</span>   <span class="c">/*right wehn you press right*/</span></td></tr><tr><td class="number">116</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="k3">-</span><span class="k3">-</span>e<span class="k2">;</span>    <span class="c">/*left when you press ledft*/</span></td></tr><tr><td class="number">117</td><td>&#160;</td></tr><tr><td class="number">118</td><td><span class="c">/* stops playertwo leaving the playing field*/</span></td></tr><tr><td class="number">119</td><td>&#160;</td></tr><tr><td class="number">120</td><td><span class="k1">if</span><span class="k2">(</span>e<span class="k3">=</span><span class="k3">=</span>middle_line<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">121</td><td>e<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">122</td><td><span class="k2">}</span></td></tr><tr><td class="number">123</td><td>&#160;</td></tr><tr><td class="number">124</td><td><span class="k1">if</span><span class="k2">(</span>f<span class="k3">=</span><span class="k3">=</span>outside_bb_up<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">125</td><td>f<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">126</td><td><span class="k2">}</span></td></tr><tr><td class="number">127</td><td>&#160;</td></tr><tr><td class="number">128</td><td><span class="k1">if</span><span class="k2">(</span>f<span class="k3">=</span><span class="k3">=</span>outside_bb_down<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">129</td><td>f--<span class="k2">;</span></td></tr><tr><td class="number">130</td><td><span class="k2">}</span></td></tr><tr><td class="number">131</td><td>&#160;</td></tr><tr><td class="number">132</td><td><span class="k1">if</span><span class="k2">(</span>e<span class="k3">=</span><span class="k3">=</span>outside_bb_right<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">133</td><td>e--<span class="k2">;</span>                     </td></tr><tr><td class="number">134</td><td><span class="k2">}</span></td></tr><tr><td class="number">135</td><td>&#160;</td></tr><tr><td class="number">136</td><td>&#160;</td></tr><tr><td class="number">137</td><td>&#160;</td></tr><tr><td class="number">138</td><td>&#160;</td></tr><tr><td class="number">139</td><td>&#160;</td></tr><tr><td class="number">140</td><td>puck<span class="k2">(</span>a,b,c,d,buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">141</td><td><span class="c">/* attempts tp make the puck move when hit*/</span></td></tr><tr><td class="number">142</td><td>&#160;</td></tr><tr><td class="number">143</td><td>&#160;</td></tr><tr><td class="number">144</td><td><span class="c">/* this makes sure the puck doesn't leave the playing field*/</span> </td></tr><tr><td class="number">145</td><td><span class="k1">if</span> <span class="k2">(</span>a<span class="k3">=</span><span class="k3">=</span>outside_bb_right<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">146</td><td>a--<span class="k2">;</span></td></tr><tr><td class="number">147</td><td><span class="k2">}</span>                             </td></tr><tr><td class="number">148</td><td>&#160;</td></tr><tr><td class="number">149</td><td><span class="k1">if</span> <span class="k2">(</span>b<span class="k3">=</span><span class="k3">=</span>outside_bb_left<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">150</td><td>a<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">151</td><td><span class="k2">}</span></td></tr><tr><td class="number">152</td><td>&#160;</td></tr><tr><td class="number">153</td><td><span class="k1">if</span> <span class="k2">(</span>c<span class="k3">=</span><span class="k3">=</span>outside_bb_up<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">154</td><td>b<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">155</td><td><span class="k2">}</span></td></tr><tr><td class="number">156</td><td>&#160;</td></tr><tr><td class="number">157</td><td><span class="k1">if</span> <span class="k2">(</span>d<span class="k3">=</span><span class="k3">=</span>outside_bb_down<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">158</td><td>b--<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>&#160;</td></tr><tr><td class="number">161</td><td>&#160;</td></tr><tr><td class="number">162</td><td><span class="k1">if</span> <span class="k2">(</span>x<span class="k3">=</span><span class="k3">=</span>a<span class="k3">&amp;</span><span class="k3">&amp;</span>x<span class="k3">&lt;</span>c<span class="k3">&amp;</span><span class="k3">&amp;</span>y<span class="k3">&lt;</span><span class="k3">=</span>b<span class="k3">&amp;</span><span class="k3">&amp;</span>y&gt;<span class="k3">=</span>d<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">163</td><td>a<span class="k3">+</span><span class="k3">+</span><span class="k3">&amp;</span><span class="k3">&amp;</span>c<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">164</td><td><span class="k2">}</span>             </td></tr><tr><td class="number">165</td><td><span class="k1">if</span> <span class="k2">(</span>x<span class="k3">&lt;</span><span class="k3">=</span>c<span class="k3">&amp;</span><span class="k3">&amp;</span>x&gt;a<span class="k3">&amp;</span><span class="k3">&amp;</span>y<span class="k3">&lt;</span><span class="k3">=</span>d<span class="k3">&amp;</span><span class="k3">&amp;</span>y&gt;b<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">166</td><td>a--<span class="k3">&amp;</span><span class="k3">&amp;</span>c--<span class="k2">;</span></td></tr><tr><td class="number">167</td><td><span class="k2">}</span>            </td></tr><tr><td class="number">168</td><td>&#160;</td></tr><tr><td class="number">169</td><td>&#160;</td></tr><tr><td class="number">170</td><td>&#160;</td></tr><tr><td class="number">171</td><td><a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">640</span>,<span class="n">480</span><span class="k2">)</span><span class="k2">;</span><span class="c">/*Draw the buffer to the screen*/</span></td></tr><tr><td class="number">172</td><td>&#160;</td></tr><tr><td class="number">173</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">12</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">174</td><td>&#160;</td></tr><tr><td class="number">175</td><td><span class="k2">}</span></td></tr><tr><td class="number">176</td><td>&#160;</td></tr><tr><td class="number">177</td><td><span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">178</td><td>&#160;</td></tr><tr><td class="number">179</td><td><span class="k2">}</span></td></tr><tr><td class="number">180</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>
i changed the puck to a square just for easiness. My problem now is getting it to move right( Haven&#39;t done the up and down...it should move right and left(it only goes left)) thanks guys
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (zavirax)</author>
		<pubDate>Thu, 24 May 2007 23:47:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Edit your post before someone sees it <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />. they&#39;ve told you already: USE CODE TAGS.</p><p>Here&#39;s how you do it(again):</p><p>crap, i can&#39;t make an example but many has already..</p><p>it will look like this:</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="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;stdio.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> x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span> <span class="c">/* sets the position of the + sign(x-axis) */</span></td></tr><tr><td class="number">6</td><td><span class="k1">int</span> y <span class="k3">=</span> <span class="n">260</span><span class="k2">;</span> <span class="c">/*(y-axis)*/</span></td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td><span class="k1">int</span> a <span class="k3">=</span> <span class="n">140</span><span class="k2">;</span> <span class="c">/* for the puck*/</span></td></tr><tr><td class="number">9</td><td><span class="k1">int</span> b <span class="k3">=</span> <span class="n">250</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td><span class="k1">int</span> c <span class="k3">=</span> <span class="n">150</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td><span class="k1">int</span> d <span class="k3">=</span> <span class="n">260</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>&#160;</td></tr><tr><td class="number">13</td><td><span class="k1">int</span> e <span class="k3">=</span> <span class="n">520</span><span class="k2">;</span> <span class="c">/* playertwo*/</span></td></tr><tr><td class="number">14</td><td><span class="k1">int</span> f <span class="k3">=</span> <span class="n">290</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>&#160;</td></tr><tr><td class="number">16</td><td><span class="k1">int</span> outside_bb_left <span class="k3">=</span> <span class="n">60</span><span class="k2">;</span><span class="c">/* playing field boundong box*/</span></td></tr><tr><td class="number">17</td><td><span class="k1">int</span> outside_bb_up <span class="k3">=</span> <span class="n">120</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td><span class="k1">int</span> outside_bb_down <span class="k3">=</span> <span class="n">395</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td><span class="k1">int</span> outside_bb_right <span class="k3">=</span> <span class="n">575</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td><span class="k1">int</span> middle_line <span class="k3">=</span> <span class="n">316</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">int</span> puck_left<span class="k3">=</span>a<span class="k2">;</span><span class="c">/* puck bounding box*/</span></td></tr><tr><td class="number">23</td><td><span class="k1">int</span> puck_up<span class="k3">=</span>b<span class="k2">;</span></td></tr><tr><td class="number">24</td><td><span class="k1">int</span> puck_right<span class="k3">=</span>c<span class="k2">;</span></td></tr><tr><td class="number">25</td><td><span class="k1">int</span> puck_down<span class="k3">=</span>d<span class="k2">;</span></td></tr><tr><td class="number">26</td><td>&#160;</td></tr><tr><td class="number">27</td><td>&#160;</td></tr><tr><td class="number">28</td><td>&#160;</td></tr><tr><td class="number">29</td><td>&#160;</td></tr><tr><td class="number">30</td><td><span class="k1">void</span> puck<span class="k2">(</span><span class="k1">int</span> a, <span class="k1">int</span> b, <span class="k1">int</span> c, <span class="k1">int</span> d, <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">31</td><td>&#160;</td></tr><tr><td class="number">32</td><td><a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span> buffer, a , b,c ,d , <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">255</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span><span class="c">/* puck*/</span></td></tr><tr><td class="number">33</td><td>&#160;</td></tr><tr><td class="number">34</td><td><span class="k2">}</span></td></tr><tr><td class="number">35</td><td>&#160;</td></tr><tr><td class="number">36</td><td>&#160;</td></tr><tr><td class="number">37</td><td>&#160;</td></tr><tr><td class="number">38</td><td><span class="k1">void</span> playerone<span class="k2">(</span><span class="k1">int</span> x, <span class="k1">int</span> y, <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">39</td><td>&#160;</td></tr><tr><td class="number">40</td><td><a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span> buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"+"</span>, x, y, <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">0</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">41</td><td><span class="c">/* makes a '+' sign and sets the colour as white and to start where x and y are set*/</span></td></tr><tr><td class="number">42</td><td><a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span> buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"+"</span>, x, y, <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">0</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">43</td><td><span class="c">/* create player one's cursor and make him red*/</span></td></tr><tr><td class="number">44</td><td><span class="k2">}</span></td></tr><tr><td class="number">45</td><td><span class="k1">void</span> playertwo<span class="k2">(</span><span class="k1">int</span> e, <span class="k1">int</span> f, <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">46</td><td>&#160;</td></tr><tr><td class="number">47</td><td><a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"+"</span>,e ,f , <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">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">48</td><td><span class="c">/* create player two's cursor and make him blue*/</span></td></tr><tr><td class="number">49</td><td><a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"+"</span>, e, f, <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">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">50</td><td><span class="k2">}</span></td></tr><tr><td class="number">51</td><td>&#160;</td></tr><tr><td class="number">52</td><td>&#160;</td></tr><tr><td class="number">53</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">54</td><td>&#160;</td></tr><tr><td class="number">55</td><td><span class="k2">{</span></td></tr><tr><td class="number">56</td><td>&#160;</td></tr><tr><td class="number">57</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">58</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">59</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">60</td><td>&#160;</td></tr><tr><td class="number">61</td><td><span class="c">/* makes a '+' sign and sets the colour as white and to go where x and y are set*/</span></td></tr><tr><td class="number">62</td><td>&#160;</td></tr><tr><td class="number">63</td><td>&#160;</td></tr><tr><td class="number">64</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">65</td><td>&#160;</td></tr><tr><td class="number">66</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">67</td><td>&#160;</td></tr><tr><td class="number">68</td><td>&#160;</td></tr><tr><td class="number">69</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="k3">=</span> NULL<span class="k2">;</span><span class="c">/* Declare a BITMAP called buffer.*/</span></td></tr><tr><td class="number">70</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> <span class="c">/*Create an empty bitmap the size of the screen*/</span></td></tr><tr><td class="number">71</td><td>&#160;</td></tr><tr><td class="number">72</td><td><a href="http://www.allegro.cc/manual/textout_centre_ex" target="_blank"><span class="a">textout_centre_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>,<span class="s">"Air Hockey"</span> , <span class="n">320</span>, <span class="n">100</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>, <span class="k3">-</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">73</td><td><span class="c">//release_screen();</span></td></tr><tr><td class="number">74</td><td>&#160;</td></tr><tr><td class="number">75</td><td><a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span> buffer, <span class="n">60</span>, <span class="n">120</span>, <span class="n">580</span>, <span class="n">400</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><span class="c">/*playing field*/</span></td></tr><tr><td class="number">76</td><td><a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span> buffer, <span class="n">40</span>, <span class="n">230</span>, <span class="n">60</span>, <span class="n">290</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">255</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">/*player one's net to defend*/</span></td></tr><tr><td class="number">77</td><td><a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span> buffer, <span class="n">580</span>, <span class="n">230</span>, <span class="n">600</span>, <span class="n">290</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">255</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">/*player two's net to defend*/</span></td></tr><tr><td class="number">78</td><td><a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">(</span> buffer, <span class="n">320</span>, <span class="n">120</span>, <span class="n">320</span>, <span class="n">400</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><span class="c">/*half way line*/</span></td></tr><tr><td class="number">79</td><td><a href="http://www.allegro.cc/manual/circle" target="_blank"><span class="a">circle</span></a><span class="k2">(</span>buffer, <span class="n">320</span>, <span class="n">260</span>, <span class="n">75</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><span class="c">/*center circle*/</span></td></tr><tr><td class="number">80</td><td><span class="c">/* makes the playing surface*/</span></td></tr><tr><td class="number">81</td><td><span class="c">/* notice that all this is being drawn to the buffer to stop flickering*/</span></td></tr><tr><td class="number">82</td><td>&#160;</td></tr><tr><td class="number">83</td><td>&#160;</td></tr><tr><td class="number">84</td><td>&#160;</td></tr><tr><td class="number">85</td><td>playerone<span class="k2">(</span>x,y,buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">86</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_W<span class="k2">]</span><span class="k2">)</span> <span class="k3">-</span><span class="k3">-</span>y<span class="k2">;</span> <span class="c">/*up when you press up*/</span></td></tr><tr><td class="number">87</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_S<span class="k2">]</span><span class="k2">)</span> <span class="k3">+</span><span class="k3">+</span>y<span class="k2">;</span> <span class="c">/*down when you press down*/</span></td></tr><tr><td class="number">88</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_D<span class="k2">]</span><span class="k2">)</span> <span class="k3">+</span><span class="k3">+</span>x<span class="k2">;</span> <span class="c">/*right wehn you press right*/</span></td></tr><tr><td class="number">89</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="k2">)</span> <span class="k3">-</span><span class="k3">-</span>x<span class="k2">;</span> <span class="c">/*left when you press ledft*/</span></td></tr><tr><td class="number">90</td><td>&#160;</td></tr><tr><td class="number">91</td><td><span class="c">/* stops playerone leaving the playing field*/</span></td></tr><tr><td class="number">92</td><td>&#160;</td></tr><tr><td class="number">93</td><td>&#160;</td></tr><tr><td class="number">94</td><td><span class="k1">if</span> <span class="k2">(</span>x<span class="k3">=</span><span class="k3">=</span>outside_bb_left<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">95</td><td>x<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">96</td><td><span class="k2">}</span></td></tr><tr><td class="number">97</td><td>&#160;</td></tr><tr><td class="number">98</td><td><span class="k1">if</span> <span class="k2">(</span>y<span class="k3">=</span><span class="k3">=</span>outside_bb_up<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">99</td><td>y<span class="k3">+</span><span class="k3">+</span><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>y<span class="k3">=</span><span class="k3">=</span>outside_bb_down<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">102</td><td>y--<span class="k2">;</span></td></tr><tr><td class="number">103</td><td><span class="k2">}</span></td></tr><tr><td class="number">104</td><td><span class="k1">if</span> <span class="k2">(</span>x<span class="k3">=</span><span class="k3">=</span>middle_line<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">105</td><td>x--<span class="k2">;</span></td></tr><tr><td class="number">106</td><td><span class="k2">}</span></td></tr><tr><td class="number">107</td><td>&#160;</td></tr><tr><td class="number">108</td><td>&#160;</td></tr><tr><td class="number">109</td><td>&#160;</td></tr><tr><td class="number">110</td><td>&#160;</td></tr><tr><td class="number">111</td><td>&#160;</td></tr><tr><td class="number">112</td><td>&#160;</td></tr><tr><td class="number">113</td><td>playertwo<span class="k2">(</span>e,f,buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">114</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_UP<span class="k2">]</span><span class="k2">)</span> <span class="k3">-</span><span class="k3">-</span>f<span class="k2">;</span> <span class="c">/*up when you press up*/</span></td></tr><tr><td class="number">115</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_DOWN<span class="k2">]</span><span class="k2">)</span> <span class="k3">+</span><span class="k3">+</span>f<span class="k2">;</span> <span class="c">/*down when you press down*/</span></td></tr><tr><td class="number">116</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="k3">+</span><span class="k3">+</span>e<span class="k2">;</span> <span class="c">/*right wehn you press right*/</span></td></tr><tr><td class="number">117</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="k3">-</span><span class="k3">-</span>e<span class="k2">;</span> <span class="c">/*left when you press ledft*/</span></td></tr><tr><td class="number">118</td><td>&#160;</td></tr><tr><td class="number">119</td><td><span class="c">/* stops playertwo leaving the playing field*/</span></td></tr><tr><td class="number">120</td><td>&#160;</td></tr><tr><td class="number">121</td><td><span class="k1">if</span><span class="k2">(</span>e<span class="k3">=</span><span class="k3">=</span>middle_line<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">122</td><td>e<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">123</td><td><span class="k2">}</span></td></tr><tr><td class="number">124</td><td>&#160;</td></tr><tr><td class="number">125</td><td><span class="k1">if</span><span class="k2">(</span>f<span class="k3">=</span><span class="k3">=</span>outside_bb_up<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">126</td><td>f<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">127</td><td><span class="k2">}</span></td></tr><tr><td class="number">128</td><td>&#160;</td></tr><tr><td class="number">129</td><td><span class="k1">if</span><span class="k2">(</span>f<span class="k3">=</span><span class="k3">=</span>outside_bb_down<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">130</td><td>f--<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>&#160;</td></tr><tr><td class="number">133</td><td><span class="k1">if</span><span class="k2">(</span>e<span class="k3">=</span><span class="k3">=</span>outside_bb_right<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">134</td><td>e--<span class="k2">;</span></td></tr><tr><td class="number">135</td><td><span class="k2">}</span></td></tr><tr><td class="number">136</td><td>&#160;</td></tr><tr><td class="number">137</td><td>&#160;</td></tr><tr><td class="number">138</td><td>&#160;</td></tr><tr><td class="number">139</td><td>&#160;</td></tr><tr><td class="number">140</td><td>&#160;</td></tr><tr><td class="number">141</td><td>puck<span class="k2">(</span>a,b,c,d,buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">142</td><td><span class="c">/* attempts tp make the puck move when hit*/</span></td></tr><tr><td class="number">143</td><td>&#160;</td></tr><tr><td class="number">144</td><td>&#160;</td></tr><tr><td class="number">145</td><td><span class="c">/* this makes sure the puck doesn't leave the playing field*/</span></td></tr><tr><td class="number">146</td><td><span class="k1">if</span> <span class="k2">(</span>a<span class="k3">=</span><span class="k3">=</span>outside_bb_right<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">147</td><td>a--<span class="k2">;</span></td></tr><tr><td class="number">148</td><td><span class="k2">}</span></td></tr><tr><td class="number">149</td><td>&#160;</td></tr><tr><td class="number">150</td><td><span class="k1">if</span> <span class="k2">(</span>b<span class="k3">=</span><span class="k3">=</span>outside_bb_left<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">151</td><td>a<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">152</td><td><span class="k2">}</span></td></tr><tr><td class="number">153</td><td>&#160;</td></tr><tr><td class="number">154</td><td><span class="k1">if</span> <span class="k2">(</span>c<span class="k3">=</span><span class="k3">=</span>outside_bb_up<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">155</td><td>b<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">156</td><td><span class="k2">}</span></td></tr><tr><td class="number">157</td><td>&#160;</td></tr><tr><td class="number">158</td><td><span class="k1">if</span> <span class="k2">(</span>d<span class="k3">=</span><span class="k3">=</span>outside_bb_down<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">159</td><td>b--<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>&#160;</td></tr><tr><td class="number">162</td><td>&#160;</td></tr><tr><td class="number">163</td><td><span class="k1">if</span> <span class="k2">(</span>x<span class="k3">=</span><span class="k3">=</span>a<span class="k3">&amp;</span><span class="k3">&amp;</span>x<span class="k3">&lt;</span>c<span class="k3">&amp;</span><span class="k3">&amp;</span>y<span class="k3">&lt;</span><span class="k3">=</span>b<span class="k3">&amp;</span><span class="k3">&amp;</span>y&gt;<span class="k3">=</span>d<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">164</td><td>a<span class="k3">+</span><span class="k3">+</span><span class="k3">&amp;</span><span class="k3">&amp;</span>c<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">165</td><td><span class="k2">}</span></td></tr><tr><td class="number">166</td><td><span class="k1">if</span> <span class="k2">(</span>x<span class="k3">&lt;</span><span class="k3">=</span>c<span class="k3">&amp;</span><span class="k3">&amp;</span>x&gt;a<span class="k3">&amp;</span><span class="k3">&amp;</span>y<span class="k3">&lt;</span><span class="k3">=</span>d<span class="k3">&amp;</span><span class="k3">&amp;</span>y&gt;b<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">167</td><td>a--<span class="k3">&amp;</span><span class="k3">&amp;</span>c--<span class="k2">;</span></td></tr><tr><td class="number">168</td><td><span class="k2">}</span></td></tr><tr><td class="number">169</td><td>&#160;</td></tr><tr><td class="number">170</td><td>&#160;</td></tr><tr><td class="number">171</td><td>&#160;</td></tr><tr><td class="number">172</td><td><a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">640</span>,<span class="n">480</span><span class="k2">)</span><span class="k2">;</span><span class="c">/*Draw the buffer to the screen*/</span></td></tr><tr><td class="number">173</td><td>&#160;</td></tr><tr><td class="number">174</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">12</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">175</td><td>&#160;</td></tr><tr><td class="number">176</td><td><span class="k2">}</span></td></tr><tr><td class="number">177</td><td>&#160;</td></tr><tr><td class="number">178</td><td><span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">179</td><td>&#160;</td></tr><tr><td class="number">180</td><td><span class="k2">}</span></td></tr><tr><td class="number">181</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>

Be happy
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Albin Engström)</author>
		<pubDate>Fri, 25 May 2007 01:16:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Use code tags, indent your code. Use braces for each and every code block, even if it&#39;s a single line.<br />Create a struct to hold your player data.<br />Create an array of this struct so you can easily add more players (and even more important: you don&#39;t have to duplicate your code).<br />Get rid of the &quot;;&quot; after END_OF_MAIN</p><p>Oh, and use speaking variable names.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (spellcaster)</author>
		<pubDate>Fri, 25 May 2007 01:50:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;ll say it too - there are posting protocols. Ignoring <a href="http://www.allegro.cc/forums/thread/591420/672756#target">this advice</a> is breaking one of them. Please update your post and use the <b>[</b><b>code]</b>...<b>[</b><b>/code]</b> tags.</p><p>I&#39;ll help this time, but no more  if you don&#39;t use tags.</p><p>1. Use meaningful variable names. It takes ages to work out and remember what a, b, c... x, y are all for. Use names like xPuck, yPuck, xPlayer1, yPlayer1, xPlayer2 etc. It makes the whole thing easier to understand. [edit]Or, as spellcaster pointed out, use structs with meaningful names[/edit]</p><p>2. The line (x==a&amp;&amp;x&lt;c&amp;&amp;y&lt;=b&amp;&amp;y&gt;=d) is wrong, and is why the puck won&#39;t go right. There is never a situation when the player position will be above <b>and</b> below the puck at the same time, and x==a is not the test condition you want to perform.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (HardTranceFan)</author>
		<pubDate>Fri, 25 May 2007 02:28:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>How do i do the code tags again?<br />Is it <span class="source-code">...</span> at the start and end respectively?<br />Also, I&#39;ll change the variables.<br />ALSO, I dont know how to do &#39;structs&#39;, sorry I&#39;m such a noob.<br />thanks for putting up with me</p><p>umm Let&#39;s try this: (if you can&#39;t read it tell me what to improve again...thanks for the help again)</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="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;stdio.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> p1_x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span> <span class="c">/* sets the position of the + sign(x-axis) */</span></td></tr><tr><td class="number">6</td><td><span class="k1">int</span> p1_y <span class="k3">=</span> <span class="n">260</span><span class="k2">;</span> <span class="c">/*(y-axis)*/</span></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">int</span> p2_x <span class="k3">=</span> <span class="n">520</span><span class="k2">;</span> <span class="c">/* playertwo*/</span></td></tr><tr><td class="number">10</td><td><span class="k1">int</span> p2_y <span class="k3">=</span> <span class="n">290</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>&#160;</td></tr><tr><td class="number">12</td><td><span class="k1">int</span> outside_bb_left <span class="k3">=</span> <span class="n">60</span><span class="k2">;</span><span class="c">/* playing field boundong box*/</span></td></tr><tr><td class="number">13</td><td><span class="k1">int</span> outside_bb_up <span class="k3">=</span> <span class="n">120</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td><span class="k1">int</span> outside_bb_down <span class="k3">=</span> <span class="n">395</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td><span class="k1">int</span> outside_bb_right <span class="k3">=</span> <span class="n">575</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td><span class="k1">int</span> middle_line <span class="k3">=</span> <span class="n">316</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>&#160;</td></tr><tr><td class="number">18</td><td><span class="k1">int</span> puck_left<span class="k3">=</span><span class="n">140</span><span class="k2">;</span><span class="c">/* puck bounding box*/</span></td></tr><tr><td class="number">19</td><td><span class="k1">int</span> puck_up<span class="k3">=</span><span class="n">250</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td><span class="k1">int</span> puck_right<span class="k3">=</span><span class="n">150</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td><span class="k1">int</span> puck_down<span class="k3">=</span><span class="n">260</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>&#160;</td></tr><tr><td class="number">23</td><td>&#160;</td></tr><tr><td class="number">24</td><td><span class="k1">void</span> puck<span class="k2">(</span><span class="k1">int</span> puck_left, <span class="k1">int</span> puck_up, <span class="k1">int</span> puck_right, <span class="k1">int</span> puck_down, <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">25</td><td>  </td></tr><tr><td class="number">26</td><td>  <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span> buffer, puck_left , puck_up, puck_right, puck_down, <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">255</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span><span class="c">/* puck*/</span></td></tr><tr><td class="number">27</td><td>  </td></tr><tr><td class="number">28</td><td><span class="k2">}</span></td></tr><tr><td class="number">29</td><td>&#160;</td></tr><tr><td class="number">30</td><td>&#160;</td></tr><tr><td class="number">31</td><td>&#160;</td></tr><tr><td class="number">32</td><td><span class="k1">void</span> playerone<span class="k2">(</span><span class="k1">int</span> p1_x, <span class="k1">int</span> p1_y, <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">33</td><td>  </td></tr><tr><td class="number">34</td><td>  <a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span> buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"+"</span>, p1_x, p1_y, <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">0</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">35</td><td>  <span class="c">/* makes a '+' sign and sets the colour as white and to start where x and y are set*/</span></td></tr><tr><td class="number">36</td><td>  <a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span> buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"+"</span>, p1_x, p1_y, <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">0</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">37</td><td>  <span class="c">/* create player one's cursor and make him red*/</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="k1">void</span> playertwo<span class="k2">(</span><span class="k1">int</span> p2_x, <span class="k1">int</span> p2_y, <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">40</td><td>  </td></tr><tr><td class="number">41</td><td>  <a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"+"</span>, p2_x,p2_y , <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">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">42</td><td>  <span class="c">/* create player two's cursor and make him blue*/</span></td></tr><tr><td class="number">43</td><td>  <a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"+"</span>, p2_x, p2_y, <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">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">44</td><td><span class="k2">}</span></td></tr><tr><td class="number">45</td><td>&#160;</td></tr><tr><td class="number">46</td><td>&#160;</td></tr><tr><td class="number">47</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">48</td><td>&#160;</td></tr><tr><td class="number">49</td><td><span class="k2">{</span></td></tr><tr><td class="number">50</td><td>  </td></tr><tr><td class="number">51</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">52</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">53</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">54</td><td>  </td></tr><tr><td class="number">55</td><td>  <span class="c">/* makes a '+' sign and sets the colour as white and to go where x and y are set*/</span></td></tr><tr><td class="number">56</td><td>  </td></tr><tr><td class="number">57</td><td>  </td></tr><tr><td class="number">58</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">59</td><td>    </td></tr><tr><td class="number">60</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">61</td><td>    </td></tr><tr><td class="number">62</td><td>    </td></tr><tr><td class="number">63</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="k3">=</span> NULL<span class="k2">;</span><span class="c">/* Declare a BITMAP called buffer.*/</span></td></tr><tr><td class="number">64</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> <span class="c">/*Create an empty bitmap the size of the screen*/</span></td></tr><tr><td class="number">65</td><td>    </td></tr><tr><td class="number">66</td><td>    <a href="http://www.allegro.cc/manual/textout_centre_ex" target="_blank"><span class="a">textout_centre_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>,<span class="s">"Air Hockey"</span> , <span class="n">320</span>, <span class="n">100</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>, <span class="k3">-</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">67</td><td>    </td></tr><tr><td class="number">68</td><td>    <a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span> buffer, <span class="n">60</span>, <span class="n">120</span>, <span class="n">580</span>, <span class="n">400</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><span class="c">/*playing field*/</span></td></tr><tr><td class="number">69</td><td>    <a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span> buffer, <span class="n">40</span>, <span class="n">230</span>, <span class="n">60</span>, <span class="n">290</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">255</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>    <span class="c">/*player one's net to defend*/</span></td></tr><tr><td class="number">70</td><td>    <a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span> buffer, <span class="n">580</span>, <span class="n">230</span>, <span class="n">600</span>, <span class="n">290</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">255</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>   <span class="c">/*player two's net to defend*/</span></td></tr><tr><td class="number">71</td><td>    <a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">(</span> buffer, <span class="n">320</span>, <span class="n">120</span>, <span class="n">320</span>, <span class="n">400</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><span class="c">/*half way line*/</span></td></tr><tr><td class="number">72</td><td>    <a href="http://www.allegro.cc/manual/circle" target="_blank"><span class="a">circle</span></a><span class="k2">(</span>buffer, <span class="n">320</span>, <span class="n">260</span>, <span class="n">75</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><span class="c">/*center circle*/</span></td></tr><tr><td class="number">73</td><td>    <span class="c">/* makes the playing surface*/</span></td></tr><tr><td class="number">74</td><td>    <span class="c">/* notice that all this is being drawn to the buffer to stop flickering*/</span></td></tr><tr><td class="number">75</td><td>    </td></tr><tr><td class="number">76</td><td>    </td></tr><tr><td class="number">77</td><td>    playerone<span class="k2">(</span>p1_x,p1_y,buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">78</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_W<span class="k2">]</span><span class="k2">)</span> <span class="k3">-</span><span class="k3">-</span>p1_y<span class="k2">;</span>  <span class="c">/*up when you press up*/</span></td></tr><tr><td class="number">79</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_S<span class="k2">]</span><span class="k2">)</span> <span class="k3">+</span><span class="k3">+</span>p1_y<span class="k2">;</span>  <span class="c">/*down when you press down*/</span></td></tr><tr><td class="number">80</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_D<span class="k2">]</span><span class="k2">)</span> <span class="k3">+</span><span class="k3">+</span>p1_x<span class="k2">;</span>  <span class="c">/*right wehn you press right*/</span></td></tr><tr><td class="number">81</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="k2">)</span> <span class="k3">-</span><span class="k3">-</span>p1_x<span class="k2">;</span>  <span class="c">/*left when you press ledft*/</span></td></tr><tr><td class="number">82</td><td>      </td></tr><tr><td class="number">83</td><td>    <span class="c">/* stops playerone leaving the playing field*/</span></td></tr><tr><td class="number">84</td><td>    </td></tr><tr><td class="number">85</td><td>    </td></tr><tr><td class="number">86</td><td>    <span class="k1">if</span> <span class="k2">(</span>p1_x<span class="k3">=</span><span class="k3">=</span>outside_bb_left<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">87</td><td>      p1_x<span class="k3">+</span><span class="k3">+</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="k1">if</span> <span class="k2">(</span>p1_y<span class="k3">=</span><span class="k3">=</span>outside_bb_up<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">90</td><td>      p1_y<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">91</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">92</td><td>    <span class="k1">if</span> <span class="k2">(</span>p1_y<span class="k3">=</span><span class="k3">=</span>outside_bb_down<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">93</td><td>      p1_y--<span class="k2">;</span></td></tr><tr><td class="number">94</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">95</td><td>    <span class="k1">if</span> <span class="k2">(</span>p1_x<span class="k3">=</span><span class="k3">=</span>middle_line<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">96</td><td>      p1_x--<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>    </td></tr><tr><td class="number">99</td><td>    </td></tr><tr><td class="number">100</td><td>    </td></tr><tr><td class="number">101</td><td>    </td></tr><tr><td class="number">102</td><td>    </td></tr><tr><td class="number">103</td><td>    </td></tr><tr><td class="number">104</td><td>    playertwo<span class="k2">(</span>p2_x,p2_y,buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">105</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_UP<span class="k2">]</span><span class="k2">)</span> p2_y--<span class="k2">;</span>      <span class="c">/*up when you press up*/</span></td></tr><tr><td class="number">106</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_DOWN<span class="k2">]</span><span class="k2">)</span> p2_y<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>    <span class="c">/*down when you press down*/</span></td></tr><tr><td class="number">107</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> p2_x<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>   <span class="c">/*right wehn you press right*/</span></td></tr><tr><td class="number">108</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> p2_x--<span class="k2">;</span>    <span class="c">/*left when you press ledft*/</span></td></tr><tr><td class="number">109</td><td>      </td></tr><tr><td class="number">110</td><td>    <span class="c">/* stops playertwo leaving the playing field*/</span></td></tr><tr><td class="number">111</td><td>    </td></tr><tr><td class="number">112</td><td>    <span class="k1">if</span><span class="k2">(</span>p2_x<span class="k3">=</span><span class="k3">=</span>middle_line<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">113</td><td>      p2_x<span class="k3">+</span><span class="k3">+</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>    </td></tr><tr><td class="number">116</td><td>    <span class="k1">if</span><span class="k2">(</span>p2_y<span class="k3">=</span><span class="k3">=</span>outside_bb_up<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">117</td><td>      p2_y<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">118</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">119</td><td>    </td></tr><tr><td class="number">120</td><td>    <span class="k1">if</span><span class="k2">(</span>p2_y<span class="k3">=</span><span class="k3">=</span>outside_bb_down<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">121</td><td>      p2_y--<span class="k2">;</span></td></tr><tr><td class="number">122</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">123</td><td>    </td></tr><tr><td class="number">124</td><td>    <span class="k1">if</span><span class="k2">(</span>p2_x<span class="k3">=</span><span class="k3">=</span>outside_bb_right<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">125</td><td>      p2_x--<span class="k2">;</span></td></tr><tr><td class="number">126</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">127</td><td>    </td></tr><tr><td class="number">128</td><td>    </td></tr><tr><td class="number">129</td><td>    </td></tr><tr><td class="number">130</td><td>    </td></tr><tr><td class="number">131</td><td>    </td></tr><tr><td class="number">132</td><td>    puck<span class="k2">(</span>puck_left,puck_up,puck_right,puck_down,buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">133</td><td>    <span class="c">/* attempts to make the puck move when hit*/</span></td></tr><tr><td class="number">134</td><td>    </td></tr><tr><td class="number">135</td><td>    </td></tr><tr><td class="number">136</td><td>    <span class="c">/* this makes sure the puck doesn't leave the playing field*/</span></td></tr><tr><td class="number">137</td><td>    <span class="k1">if</span> <span class="k2">(</span>puck_right<span class="k3">=</span><span class="k3">=</span>outside_bb_right<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">138</td><td>      puck_left--<span class="k3">&amp;</span><span class="k3">&amp;</span>puck_right--<span class="k2">;</span></td></tr><tr><td class="number">139</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">140</td><td>    </td></tr><tr><td class="number">141</td><td>    <span class="k1">if</span> <span class="k2">(</span>puck_left<span class="k3">=</span><span class="k3">=</span>outside_bb_left<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">142</td><td>      puck_left<span class="k3">+</span><span class="k3">+</span><span class="k3">&amp;</span><span class="k3">&amp;</span>puck_right<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">143</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">144</td><td>    </td></tr><tr><td class="number">145</td><td>    <span class="k1">if</span> <span class="k2">(</span>puck_up<span class="k3">=</span><span class="k3">=</span>outside_bb_up<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">146</td><td>      puck_up<span class="k3">+</span><span class="k3">+</span><span class="k3">&amp;</span><span class="k3">&amp;</span>puck_down<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">147</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">148</td><td>    </td></tr><tr><td class="number">149</td><td>    <span class="k1">if</span> <span class="k2">(</span>puck_down<span class="k3">=</span><span class="k3">=</span>outside_bb_down<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">150</td><td>      puck_up--<span class="k3">&amp;</span><span class="k3">&amp;</span>puck_down--<span class="k2">;</span></td></tr><tr><td class="number">151</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">152</td><td>    </td></tr><tr><td class="number">153</td><td>    </td></tr><tr><td class="number">154</td><td>    <span class="k1">if</span> <span class="k2">(</span>p1_x<span class="k3">=</span><span class="k3">=</span>puck_right<span class="k3">&amp;</span><span class="k3">&amp;</span>p1_y<span class="k3">&lt;</span><span class="k3">=</span>puck_up<span class="k3">&amp;</span><span class="k3">&amp;</span>p1_y&gt;<span class="k3">=</span>puck_down<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">155</td><td>      puck_left<span class="k3">+</span><span class="k3">+</span><span class="k3">&amp;</span><span class="k3">&amp;</span>puck_right<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">156</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">157</td><td>    <span class="k1">if</span> <span class="k2">(</span>p1_x<span class="k3">=</span><span class="k3">=</span>puck_left<span class="k3">&amp;</span><span class="k3">&amp;</span>p1_y<span class="k3">&lt;</span><span class="k3">=</span>puck_up<span class="k3">&amp;</span><span class="k3">&amp;</span>p1_y&gt;<span class="k3">=</span>puck_down<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">158</td><td>      puck_left--<span class="k3">&amp;</span><span class="k3">&amp;</span>puck_right--<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>    </td></tr><tr><td class="number">161</td><td>    </td></tr><tr><td class="number">162</td><td>    </td></tr><tr><td class="number">163</td><td>    <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">640</span>,<span class="n">480</span><span class="k2">)</span><span class="k2">;</span><span class="c">/*Draw the buffer to the screen*/</span></td></tr><tr><td class="number">164</td><td>    </td></tr><tr><td class="number">165</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">15</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">166</td><td>    </td></tr><tr><td class="number">167</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">168</td><td>  </td></tr><tr><td class="number">169</td><td>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">170</td><td>  </td></tr><tr><td class="number">171</td><td><span class="k2">}</span></td></tr><tr><td class="number">172</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></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (zavirax)</author>
		<pubDate>Fri, 25 May 2007 21:09:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>A much nicer view <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />.</p><p>btw, what&#39;s the problem?</p><p>ran your game but i don&#39;t know what should work and not..
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Albin Engström)</author>
		<pubDate>Fri, 25 May 2007 21:46:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well what It Is, Is that I cant get the puck to move the way i want so i don&#39;t know what i should do..can&#39;t find any help anywhere except here. By the way im on a deadline, this is a school course...I'm dumb!.:)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (zavirax)</author>
		<pubDate>Mon, 28 May 2007 21:28:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
...I&#39;m dumb!:)
</p></div></div><p>

A happy one.::)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Paul whoknows)</author>
		<pubDate>Mon, 28 May 2007 23:00:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Well what It Is, Is that I cant get the puck to move the way i want so i don&#39;t know what i should do..can&#39;t find any help anywhere except here. By the way im on a deadline, this is a school course...I&#39;m dumb!:)
</p></div></div><p>
Here is an allegro <a href="http://www.talula.demon.co.uk/allegro/docs.html">pong tutorial</a>, which you can adapt to 4 way movement and collision detection.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (HardTranceFan)</author>
		<pubDate>Tue, 29 May 2007 02:02:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Sorry but, Im not sure what i should do with it...is there nothing you would suggest for my code?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (zavirax)</author>
		<pubDate>Tue, 29 May 2007 20:02:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I suggest you don&#39;t create the buffer in the main loop and not destroy it. That is a massive memory leak.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Three Harris)</author>
		<pubDate>Tue, 29 May 2007 22:42:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
but I&#39;m stuck at getting things to collide
</p></div></div><p>
 <br />Just use this:</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">inline</span> <span class="k1">bool</span> collide<span class="k2">(</span><span class="k1">int</span> x1, <span class="k1">int</span> y1, <span class="k1">int</span> x2, <span class="k1">int</span> y2, <span class="k1">int</span> xx1, <span class="k1">int</span> yy1, <span class="k1">int</span> xx2, <span class="k1">int</span> yy2<span class="k2">)</span>
<span class="k2">{</span>
     <span class="k1">if</span> <span class="k2">(</span>x2 <span class="k3">&lt;</span><span class="k3">=</span> xx1<span class="k2">)</span> <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
     <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>x1 <span class="k3">&gt;</span><span class="k3">=</span> xx2<span class="k2">)</span> <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
     <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>y2 <span class="k3">&lt;</span><span class="k3">=</span> yy1<span class="k2">)</span> <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
     <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>y1 <span class="k3">&gt;</span><span class="k3">=</span> yy2<span class="k2">)</span> <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
     <span class="k1">else</span> <span class="k1">return</span> <span class="k1">true</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Paul whoknows)</author>
		<pubDate>Wed, 30 May 2007 00:01:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Sorry but, I<b>&#39;</b>m not sure what i should do with it...
</p></div></div><p>
Sorry, my bad - the page I linked to and my suggestions didn&#39;t match (there is a link to the pong tutorial down that page if you looked). Here is the correct link to <a href="http://alleg.sourceforge.net/docs/how_to_make_a_pong_game.en.html">the pong tutorial</a>.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (HardTranceFan)</author>
		<pubDate>Wed, 30 May 2007 01:43:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah I already found It on there, don&#39;t worry about It.</p><p>btw how would i use that boolean expression thing, could you show in my code please. thanks</p><p>Here&#39;s my code so far i can push around...any ideas how to make it slide so i only have to hit it not push ... also how would i get it rebound of the sides ... also how can i make a hole in the outside of the field so that it can go in the goal... and also ... however i think i know how, how can make a scoreboard?</p><p>lots of questions hehe sorry to be such a stupid person.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (zavirax)</author>
		<pubDate>Thu, 31 May 2007 01:03:31 +0000</pubDate>
	</item>
</rss>
