<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>How to make balls coming from the top?</title>
		<link>http://www.allegro.cc/forums/view/591659</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Fri, 01 Jun 2007 19:55:52 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hey buddies, I have the following program that I made [college homework]</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;stdio.h&gt;</span></td></tr><tr><td class="number">2</td><td><span class="p">#include &lt;stdlib.h&gt;</span></td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">4</td><td>&#160;</td></tr><tr><td class="number">5</td><td><span class="p">#define RESOLUCAO_X         800</span></td></tr><tr><td class="number">6</td><td><span class="p">#define RESOLUCAO_Y         600</span></td></tr><tr><td class="number">7</td><td><span class="p">#define COR                16</span></td></tr><tr><td class="number">8</td><td><span class="p">#define RAIO             15</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> inicia<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td><span class="k1">void</span> abertura<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td><span class="k1">void</span> principal<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td><span class="k1">void</span> finaliza<span class="k2">(</span><span class="k1">void</span><span class="k2">)</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> main <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span></td></tr><tr><td class="number">16</td><td><span class="k2">{</span></td></tr><tr><td class="number">17</td><td>&#160;</td></tr><tr><td class="number">18</td><td>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>inicia<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">19</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">20</td><td>          finaliza<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>          <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><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">22</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">23</td><td>&#160;</td></tr><tr><td class="number">24</td><td>  principal<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>&#160;</td></tr><tr><td class="number">26</td><td>  finaliza<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">27</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">28</td><td>&#160;</td></tr><tr><td class="number">29</td><td><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/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><tr><td class="number">32</td><td>&#160;</td></tr><tr><td class="number">33</td><td><span class="k1">int</span> inicia <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span></td></tr><tr><td class="number">34</td><td><span class="k2">{</span></td></tr><tr><td class="number">35</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">36</td><td>&#160;</td></tr><tr><td class="number">37</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">38</td><td>  <a href="http://www.allegro.cc/manual/install_mouse" target="_blank"><span class="a">install_mouse</span></a><span class="k2">(</span><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/set_color_depth" target="_blank"><span class="a">set_color_depth</span></a><span class="k2">(</span>COR<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">41</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, RESOLUCAO_X, RESOLUCAO_Y, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">42</td><td>&#160;</td></tr><tr><td class="number">43</td><td>  <span class="k1">if</span> <span class="k2">(</span><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, RESOLUCAO_X, RESOLUCAO_Y, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span> <span class="k3">&lt;</span> <span class="n">0</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>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_631.html" target="_blank">puts</a><span class="k2">(</span><span class="s">"Erro no modo gráfico!"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">46</td><td>    <span class="k1">return</span> <span class="k2">(</span>FALSE<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">47</td><td>  <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="k1">return</span> <span class="k2">(</span>TRUE<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">50</td><td>&#160;</td></tr><tr><td class="number">51</td><td><span class="k2">}</span></td></tr><tr><td class="number">52</td><td>&#160;</td></tr><tr><td class="number">53</td><td><span class="k1">void</span> principal <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span></td></tr><tr><td class="number">54</td><td><span class="k2">{</span></td></tr><tr><td class="number">55</td><td>  <span class="k1">int</span> i<span class="k2">;</span></td></tr><tr><td class="number">56</td><td>&#160;</td></tr><tr><td class="number">57</td><td>  abertura<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">58</td><td>&#160;</td></tr><tr><td class="number">59</td><td>  <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>buffer<span class="k2">;</span></td></tr><tr><td class="number">60</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>RESOLUCAO_X, RESOLUCAO_Y<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">61</td><td>&#160;</td></tr><tr><td class="number">62</td><td>  <span class="k1">while</span> <span class="k2">(</span><span class="k3">!</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_ESC<span class="k2">]</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">63</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">64</td><td>    <span class="k1">for</span><span class="k2">(</span>i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> <span class="k3">!</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_ESC<span class="k2">]</span><span class="k2">)</span><span class="k2">;</span> i<span class="k3">=</span>i<span class="k3">+</span><span class="n">1</span><span class="k2">)</span></td></tr><tr><td class="number">65</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">66</td><td>      <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a><span class="k2">(</span>buffer, i, i, RAIO<span class="k3">+</span><span class="n">8</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">200</span>,<span class="n">0</span>,<span class="n">10</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">67</td><td>      <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a>, <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a>, RAIO, <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">120</span>,<span class="n">160</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">68</td><td>      <a href="http://www.allegro.cc/manual/textprintf_right_ex" target="_blank"><span class="a">textprintf_right_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="n">515</span>, <span class="n">10</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span>, <span class="n">0</span>,  <span class="s">"Posicao X: %3.0d  Posicao Y: %3.0d"</span>, <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a>, <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">69</td><td>      <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, buffer, <span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">70</td><td>      clear<span class="k2">(</span>buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">71</td><td>      <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a> <span class="k3">=</span><span class="k3">=</span> i<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a> <span class="k3">=</span><span class="k3">=</span> i<span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">72</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">73</td><td>        finaliza<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">74</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><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">75</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">76</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">77</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">78</td><td><span class="k2">}</span></td></tr><tr><td class="number">79</td><td>&#160;</td></tr><tr><td class="number">80</td><td><span class="k1">void</span> finaliza <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span></td></tr><tr><td class="number">81</td><td><span class="k2">{</span></td></tr><tr><td class="number">82</td><td>  <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/keypressed" target="_blank"><span class="a">keypressed</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">83</td><td>  <a href="http://www.allegro.cc/manual/allegro_exit" target="_blank"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">84</td><td><span class="k2">}</span></td></tr><tr><td class="number">85</td><td>&#160;</td></tr><tr><td class="number">86</td><td><span class="k1">void</span> abertura <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span></td></tr><tr><td class="number">87</td><td><span class="k2">{</span></td></tr><tr><td class="number">88</td><td>  <a href="http://www.allegro.cc/manual/textprintf_centre_ex" target="_blank"><span class="a">textprintf_centre_ex</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, RESOLUCAO_X<span class="k3">/</span><span class="n">2</span>, <span class="n">250</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="n">0</span>, <span class="s">"Aperte uma tecla para INICIAR"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">89</td><td>  <a href="http://www.allegro.cc/manual/textprintf_centre_ex" target="_blank"><span class="a">textprintf_centre_ex</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, RESOLUCAO_X<span class="k3">/</span><span class="n">2</span>, <span class="n">350</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="n">0</span>, <span class="s">"OBJETIVO: Acerte a bola AZUL em qualquer uma das bolas VERMELHAS"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">90</td><td>  <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/keypressed" target="_blank"><span class="a">keypressed</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">91</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>


*** My doubt is in the &quot;Void Principal&quot; part of the program! [take a look, please]<br />They want us to have a blue ball moved by the mouse cursor [ok, i did that]... and at the same time they want red balls coming from the TOP of the screen [ONE by ONE] going to different directions! The program will finish when we hit the blue ball in one of the red balls... that&#39;s when my doubt starts! I created a FOR command for the red ball... but this For command never stops, so, the next red ball never comes! I&#39;d like a help of you to make the next balls come from the top of the screen... and if u also could take a look at what I did in the IF command I opened to make the program finishes when the red ball is hit by the blue one! I think it&#39;s not right at all! Please, help me!!!</p><p>Thank u so much!!! <img src="http://www.allegro.cc/forums/smileys/embarassed.gif" alt=":-[" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (vilafranca)</author>
		<pubDate>Thu, 31 May 2007 05:02:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Use code tags [CODE][/CODE](tags must be in lower case). Also, it would be nice if you translate your variables and functions names to English.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Paul whoknows)</author>
		<pubDate>Thu, 31 May 2007 05:13:02 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hey Paul, thanks for your help!<br />But I&#39;m very new to allegro, so I don&#39;t understand this tags =/</p><p>Could u explain that to me, or someone else?!<br /><img src="http://www.allegro.cc/forums/smileys/embarassed.gif" alt=":-[" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (vilafranca)</author>
		<pubDate>Thu, 31 May 2007 05:15:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>in the text box where you reply to posts, click the help button.  It&#39;ll show you there a tag for source code.  You should edit your first post and use the code tags.  It makes it easier to read <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mark Oates)</author>
		<pubDate>Thu, 31 May 2007 05:18:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ok, I edited it <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>Now, could u help meeeeee?! <img src="http://www.allegro.cc/forums/smileys/undecided.gif" alt=":-/" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (vilafranca)</author>
		<pubDate>Thu, 31 May 2007 05:21:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Remove the while (!(key[KEY_ESC]) in principal(). Does that work?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Paul whoknows)</author>
		<pubDate>Thu, 31 May 2007 05:28:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="k1">void</span> principal <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span></td></tr><tr><td class="number">2</td><td><span class="k2">{</span></td></tr><tr><td class="number">3</td><td>  <span class="k1">int</span> i<span class="k2">;</span></td></tr><tr><td class="number">4</td><td>&#160;</td></tr><tr><td class="number">5</td><td>  abertura<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">6</td><td>&#160;</td></tr><tr><td class="number">7</td><td>  <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>buffer<span class="k2">;</span></td></tr><tr><td class="number">8</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>RESOLUCAO_X, RESOLUCAO_Y<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td>&#160;</td></tr><tr><td class="number">10</td><td>  <span class="k1">while</span> <span class="k2">(</span><span class="k3">!</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_ESC<span class="k2">]</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">11</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">12</td><td>    <span class="k1">for</span><span class="k2">(</span>i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> <span class="k3">!</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_ESC<span class="k2">]</span><span class="k2">)</span><span class="k2">;</span> i<span class="k3">=</span>i<span class="k3">+</span><span class="n">1</span><span class="k2">)</span></td></tr><tr><td class="number">13</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">14</td><td>      <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a><span class="k2">(</span>buffer, i, i, RAIO<span class="k3">+</span><span class="n">8</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">200</span>,<span class="n">0</span>,<span class="n">10</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>      <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a>, <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a>, RAIO, <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">120</span>,<span class="n">160</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>      <a href="http://www.allegro.cc/manual/textprintf_right_ex" target="_blank"><span class="a">textprintf_right_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="n">515</span>, <span class="n">10</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span>, <span class="n">0</span>,  <span class="s">"Posicao X: %3.0d  Posicao Y: %3.0d"</span>, <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a>, <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>      <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, buffer, <span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>      clear<span class="k2">(</span>buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>      <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a> <span class="k3">=</span><span class="k3">=</span> i<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a> <span class="k3">=</span><span class="k3">=</span> i<span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">20</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">21</td><td>        finaliza<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><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">23</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">24</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">25</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">26</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>This is the code in question. It is called your &quot;main loop&quot;. If you look at what&#39;s happening, it&#39;s not at all what you need to be happening.</p><p>The while part is good. You want your code to run until the escape key is pressed. In other words, while the escape key is not pressed. That&#39;s fine. Inside the loop, You need to separate your code into logic and drawing.</p><p>First, make a list of what you need to keep track of. In this case, it&#39;s the ball&#39;s position. Store these variables outside of the loop:</p><div class="source-code snippet"><div class="inner"><pre><span class="c">// ...</span>
<span class="k1">int</span> ball_x, ball_y<span class="k2">;</span>
<span class="k1">while</span><span class="k2">(</span><span class="k3">!</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_ESC<span class="k2">]</span><span class="k2">)</span><span class="k2">)</span>
<span class="k2">{</span>
    <span class="c">// Logic:</span>
    <span class="c">// Drawing:</span>
<span class="k2">}</span>
</pre></div></div><p>

Then, in the logic section, move the ball by changing ball_x and ball_y. Also check if the player has moved the mouse over the ball in this section. And finally, in the drawing section, draw the player&#39;s ball using mouse_x and mouse_y and draw the ball using the stored ball_x and ball_y.</p><p>I hope that all makes sense. Don&#39;t worry if the ball zooms off-screen faster than you can hover over it. You&#39;ll need to get into timers to fix that issue.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Thu, 31 May 2007 05:34:42 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Actually, there&#39;s no error when I compile the program!<br />The only problem is... since I made this FOR command for the red ball moves on the screen</p><div class="source-code snippet"><div class="inner"><pre>    <span class="k1">for</span><span class="k2">(</span>i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> <span class="k3">!</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_ESC<span class="k2">]</span><span class="k2">)</span><span class="k2">;</span> i<span class="k3">=</span>i<span class="k3">+</span><span class="n">1</span><span class="k2">)</span>
    <span class="k2">{</span>
      <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a><span class="k2">(</span>buffer, i, i, RAIO<span class="k3">+</span><span class="n">8</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">200</span>,<span class="n">0</span>,<span class="n">10</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
      <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a>, <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a>, RAIO, <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">120</span>,<span class="n">160</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
      <a href="http://www.allegro.cc/manual/textprintf_right_ex" target="_blank"><span class="a">textprintf_right_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="n">515</span>, <span class="n">10</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span>, <span class="n">0</span>,  <span class="s">"Posicao X: %3.0d  Posicao Y: %3.0d"</span>, <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a>, <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a><span class="k2">)</span><span class="k2">;</span>
      <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, buffer, <span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
      clear<span class="k2">(</span>buffer<span class="k2">)</span><span class="k2">;</span>
      <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a> <span class="k3">=</span><span class="k3">=</span> i<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a> <span class="k3">=</span><span class="k3">=</span> i<span class="k2">)</span><span class="k2">)</span>
      <span class="k2">{</span>
        finaliza<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
        <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="k3">-</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
      <span class="k2">}</span>
    <span class="k2">}</span>
</pre></div></div><p>


When the red ball disappears of the screen, it must appear a new one! But this for command seems never stop, so, when i create another for command for another red ball, it doesn&#39;t work, cos the 1st FOR is still running... so the next ball never comes... that&#39;s the problem! what do i do? is there a way to do these balls coming one by one without using FOR?!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (vilafranca)</author>
		<pubDate>Thu, 31 May 2007 05:35:09 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Try this:</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">2</td><td><span class="k1">while</span> <span class="k2">(</span><span class="k3">!</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_ESC<span class="k2">]</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">3</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">4</td><td>    i<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">5</td><td>    <span class="k1">if</span><span class="k2">(</span>i <span class="k3">&gt;</span> <span class="n">640</span><span class="k2">)</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> </td></tr><tr><td class="number">6</td><td>    <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a> <span class="k3">=</span><span class="k3">=</span> i<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a> <span class="k3">=</span><span class="k3">=</span> i<span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">7</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">8</td><td>      finaliza<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><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">10</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">11</td><td>    clear<span class="k2">(</span>buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>    <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a><span class="k2">(</span>buffer, i, i, RAIO<span class="k3">+</span><span class="n">8</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">200</span>,<span class="n">0</span>,<span class="n">10</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>    <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a>, <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a>, RAIO, <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">120</span>,<span class="n">160</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>    <a href="http://www.allegro.cc/manual/textprintf_right_ex" target="_blank"><span class="a">textprintf_right_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="n">515</span>, <span class="n">10</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span>, <span class="n">0</span>,  <span class="s">"Posicao X: %3.0d  Posicao Y: %3.0d"</span>, <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a>, <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>    <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, buffer, <span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>    </td></tr><tr><td class="number">17</td><td>  <span class="k2">}</span></td></tr></tbody></table></div></div><p>

However, this:
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a> <span class="k3">=</span><span class="k3">=</span> i<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a> <span class="k3">=</span><span class="k3">=</span> i<span class="k2">)</span><span class="k2">)</span>
    <span class="k2">{</span>
      finaliza<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
      <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="k3">-</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
    <span class="k2">}</span>
</pre></div></div><p>

won&#39;t work as a collision detection.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Paul whoknows)</author>
		<pubDate>Thu, 31 May 2007 06:04:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Doesn&#39;t work Paul!<br />Actually, there&#39;s no error... but this code just makes the same ball coming always in the same direction... and the right thing should be the ball coming in a direction... when it disappears of the screen, another ball comes in another direction... and it goes till we hit one of them with the blue ball [which is the mouse cursor]</p><p>My gosh, I have no IDEA how to do that...</p><p><img src="http://www.allegro.cc/forums/smileys/cry.gif" alt=":&#39;(" /> <img src="http://www.allegro.cc/forums/smileys/cry.gif" alt=":&#39;(" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (vilafranca)</author>
		<pubDate>Thu, 31 May 2007 06:22:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
but this code just makes the same ball coming always in the same direction
</p></div></div><p>

Yes of course, what did you expect? I posted that just to &#39;stop&#39; your neverending for(). If you want balls in different directions you should use vectors, something like this:</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">double</span> theta <span class="k3">=</span> angle<span class="k2">;</span>
x <span class="k3">=</span>  x_start_position <span class="k3">+</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_113.html" target="_blank">cos</a><span class="k2">(</span>theta<span class="k2">)</span> <span class="k3">*</span> distance<span class="k2">;</span>
y <span class="k3">=</span>  y_start_position <span class="k3">+</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_728.html" target="_blank">sin</a><span class="k2">(</span>theta<span class="k2">)</span> <span class="k3">*</span> distance<span class="k2">;</span>
distance<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Paul whoknows)</author>
		<pubDate>Thu, 31 May 2007 06:47:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hey buddies, I fixed some part of the program!<br />Now, the next red ball is coming... I made something to finish the FOR command, so it can stop now for the following red ball appears on the screen! <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" /></p><p>The matter now is... the program must finish when the blue ball [mouse cursor] hits the red ball! I made this instruction for it:</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a> <span class="k3">=</span><span class="k3">=</span> i<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a> <span class="k3">=</span><span class="k3">=</span> j<span class="k2">)</span><span class="k2">)</span>
      <span class="k2">{</span>
        finaliza<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="c">/* calls the end of the program */</span>
        <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="k3">-</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
      <span class="k2">}</span>
</pre></div></div><p>


But this command will only work if the mouse cursor hits EXACTLY the center of the red ball (coordinates i,j), which is not pretty good! the best thing to do is to finish the program if the blue ball hits ANY part of the red ball, not exactly the center, cos it makes more difficult to hit it! </p><p>Any help to fix it, please?! <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (vilafranca)</author>
		<pubDate>Thu, 31 May 2007 08:24:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Put a bounding box in each ball, do the collision detection between both boxes using this function: </p><pre>
x1,y1             
   +----+
   |RED |
   |BALL|
   +----+x2,y2
xx1,yy1             
   +----+
   |BLUE|
   |BALL|
   +----+xx2,yy2
</pre><p>

</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>Thu, 31 May 2007 08:37:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>@paul: That&#39;s just stupid. Why would you use bounding box collision detection for detecting collisions between circles? Use circle/circle collision detection for that instead:</p><p>1. calculate distance between the centre of red ball and blue ball<br />2. if the calculated distance is smaller than the sum of the balls&#39; radii, there was a collision</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">float</span> x1, y1, r1<span class="k2">;</span>
<span class="k1">float</span> x2, y2, r2,

<span class="k1">float</span> dx <span class="k3">=</span> x2 <span class="k3">-</span> x1<span class="k2">;</span>
<span class="k1">float</span> dy <span class="k3">=</span> y2 <span class="k3">-</span> y1<span class="k2">;</span>

<span class="k1">float</span> d <span class="k3">=</span> dx<span class="k3">*</span>dx <span class="k3">+</span> dy<span class="k3">*</span>dy<span class="k2">;</span>

<span class="k1">if</span> <span class="k2">(</span>d <span class="k3">&lt;</span><span class="k3">=</span> <span class="k2">(</span>r1<span class="k3">+</span>r2<span class="k2">)</span><span class="k3">*</span><span class="k2">(</span>r1<span class="k3">+</span>r2<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
   <span class="c">// collision!</span>
<span class="k2">}</span>
</pre></div></div><p>

@vilafranca: Do EXACTLY what CGamesPlay tells you to do and get completely and totally rid of your for loop!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (miran)</author>
		<pubDate>Thu, 31 May 2007 11:31:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
That&#39;s just stupid. Why would you use bounding box collision detection for detecting collisions between circles?
</p></div></div><p>

Box collision is easier to understand than circle/cirlcle collision, that&#39;s why I showed him the b. box collision function. Also, I think he does not need so much precision in his program.<br />However, Miran&#39;s code is the best way to solve this problem, obviously.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Paul whoknows)</author>
		<pubDate>Thu, 31 May 2007 12:30:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Box collision is easier to understand than circle/cirlcle collision, that&#39;s why I showed him the b. box collision function. Also, I think he does not need so much precision in his program.
</p></div></div><p>
Uhm, maybe that&#39;s just me, but circle-circle collision is the simplest, easiest, most basic type of collision test there is.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (miran)</author>
		<pubDate>Thu, 31 May 2007 12:45:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No, it&#39;s me too. Even when you go into bouncing reaction, the circle-circle thing is not very difficult. You can define a line from one circle to the other (middle points), you can find out the collision point on this line, you can define the tangential line through this point. Now you have an imaginary wall that both circles collide against. And so on.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Johan Halmén)</author>
		<pubDate>Thu, 31 May 2007 12:58:02 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Uhm, maybe that&#39;s just me, but circle-circle collision is the simplest, easiest, most basic type of collision test there is.
</p></div></div><p>
Damn! you got me.&gt;:( I just wanted to draw some ASCII boxes! are you happy now? <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Paul whoknows)</author>
		<pubDate>Thu, 31 May 2007 12:58:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yes.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Johan Halmén)</author>
		<pubDate>Thu, 31 May 2007 12:59:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Try this:
</p></div></div><p>Hmm, give a man a fish, teach a man to fish...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Thu, 31 May 2007 17:20:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Hmm, give a man a fish, teach a man to fish...
</p></div></div><p>
My thought exactly.<br />Break the problem down into sub-problems until you reach something you can&#39;t divide any further. If you can solve it, do so. If you can&#39;t, come back here.</p><p>Here are a few things to google / forum-search:<br />- main loop<br />- collision detection<br />- separate logic and drawing<br />and more generally:<br />- game programming</p><p>Set up a main loop. This should do logic and drawing.<br />Logic needs to:<br />- update player position<br />- update ball position<br />- check if ball hits player -&gt; end game<br />- check if ball is outside screen -&gt; reset ball coordinates and speed<br />Drawing is just drawing.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Tobias Dammers)</author>
		<pubDate>Thu, 31 May 2007 17:27:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Try this:
</p></div></div><p>
Hmm, give a man a fish, teach a man to fish...
</p></div></div><p>

A fish is better than nothing. Also, learning to fish takes some time, meanwhile, he needs something to eat.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Paul whoknows)</author>
		<pubDate>Fri, 01 Jun 2007 00:38:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Hey buddies, I have the following program that I made [college homework]
</p></div></div><p>...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Fri, 01 Jun 2007 00:52:33 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>That reads: OMG WTF PLZ DO MY HOMEWORK 4 ME LOLZ
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Tobias Dammers)</author>
		<pubDate>Fri, 01 Jun 2007 01:19:20 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No Tobias, I didn&#39;t ask anyone to DO my homework... I just asked for HELP!<br />That&#39;s different, ok? <img src="http://www.allegro.cc/forums/smileys/angry.gif" alt="&gt;:(" /></p><p>Anyway, I wanna thank everyone who came here to gimme a help!<br />I made some changes and now the program&#39;s workin&#39; perfectly!</p><p>Thank u guys... <img src="http://www.allegro.cc/forums/smileys/cool.gif" alt="8-)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (vilafranca)</author>
		<pubDate>Fri, 01 Jun 2007 07:35:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You could post the code here, so we can comment on it and let you know if we see anything wrong with it (bad practices, wastes of resources, memory leaks, etc).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Fri, 01 Jun 2007 17:25:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Don&#39;t take the folks around here too seriously.<br />They are not used to people actually coding something instead of just posting here and discussing how somebody should code <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (spellcaster)</author>
		<pubDate>Fri, 01 Jun 2007 18:23:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
They are not used to people actually coding something instead of just posting here and discussing how somebody should code
</p></div></div><p>

That, and there have been quite a few requests by people to do their programming assignments in the last few months.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Fri, 01 Jun 2007 19:55:52 +0000</pubDate>
	</item>
</rss>
