<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Player Movement Problem</title>
		<link>http://www.allegro.cc/forums/view/466585</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Fri, 04 Mar 2005 08:42:03 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>i am new to game problem with allegro and i cannot get my object to move without seeing the objects remain as a move. Here is my code</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="k1">volatile</span> <span class="k1">long</span> speed_counter <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">4</td><td>&#160;</td></tr><tr><td class="number">5</td><td><span class="k1">void</span> increment_speed_counter<span class="k2">(</span><span class="k2">)</span> </td></tr><tr><td class="number">6</td><td><span class="k2">{</span></td></tr><tr><td class="number">7</td><td>  speed_counter<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span> </td></tr><tr><td class="number">8</td><td><span class="k2">}</span></td></tr><tr><td class="number">9</td><td><a href="http://www.allegro.cc/manual/END_OF_FUNCTION" target="_blank"><span class="a">END_OF_FUNCTION</span></a><span class="k2">(</span>increment_speed_counter<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>      </td></tr><tr><td class="number">11</td><td><span class="k1">int</span> start<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">12</td><td><span class="k2">{</span></td></tr><tr><td class="number">13</td><td>    <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">14</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">15</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, <span class="n">320</span>, <span class="n">240</span>, <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">16</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">17</td><td>       textout<span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"Sorry your comuter does not support 320 x 240."</span>, <span class="n">0</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">18</td><td>    <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>    </td></tr><tr><td class="number">21</td><td><span class="k1">void</span> game<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>     <span class="k1">int</span> x, y<span class="k2">;</span></td></tr><tr><td class="number">24</td><td>     x <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>     y <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td>     <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>smallship<span class="k2">;</span></td></tr><tr><td class="number">27</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">28</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><a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a>, <a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">29</td><td>     smallship <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bitmap" target="_blank"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="s">"airplane.bmp"</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">30</td><td>     <a href="http://www.allegro.cc/manual/install_timer" target="_blank"><span class="a">install_timer</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/LOCK_VARIABLE" target="_blank"><span class="a">LOCK_VARIABLE</span></a><span class="k2">(</span>speed_counter<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td>     <a href="http://www.allegro.cc/manual/LOCK_FUNCTION" target="_blank"><span class="a">LOCK_FUNCTION</span></a><span class="k2">(</span>increment_speed_counter<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">33</td><td>     <a href="http://www.allegro.cc/manual/install_int_ex" target="_blank"><span class="a">install_int_ex</span></a><span class="k2">(</span>increment_speed_counter, BPS_TO_TIMER<span class="k2">(</span><span class="n">60</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></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></td></tr><tr><td class="number">35</td><td>     <span class="k2">{</span></td></tr><tr><td class="number">36</td><td>     <span class="k1">while</span> <span class="k2">(</span>speed_counter <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span> </td></tr><tr><td class="number">37</td><td>     <span class="k2">{</span></td></tr><tr><td class="number">38</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></td></tr><tr><td class="number">39</td><td>     y <span class="k3">=</span> y <span class="k3">-</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">40</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></td></tr><tr><td class="number">41</td><td>     y <span class="k3">=</span> y <span class="k3">+</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">42</td><td>     <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">43</td><td>     x <span class="k3">=</span> x <span class="k3">-</span> <span class="n">1</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_RIGHT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">45</td><td>     x <span class="k3">=</span> x <span class="k3">+</span> <span class="n">1</span><span class="k2">;</span>  </td></tr><tr><td class="number">46</td><td>     speed_counter--<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>     <a href="http://www.allegro.cc/manual/acquire_screen" target="_blank"><span class="a">acquire_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">49</td><td>     <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span>buffer, smallship, x, y<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">50</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">320</span>,<span class="n">240</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">51</td><td>     <a href="http://www.allegro.cc/manual/release_screen" target="_blank"><span class="a">release_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>               </td></tr><tr><td class="number">52</td><td><span class="k2">}</span>    </td></tr><tr><td class="number">53</td><td><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="k1">void</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">56</td><td><span class="k2">{</span></td></tr><tr><td class="number">57</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">58</td><td><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="k1">int</span> main<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span></td></tr><tr><td class="number">61</td><td><span class="k2">{</span></td></tr><tr><td class="number">62</td><td>    start<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">63</td><td>    game<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">64</td><td>    <span class="k1">return</span> <span class="n">0</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/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>

Can anyone tell me how i can fix this code. Thank you in advance.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (edwin velasquez)</author>
		<pubDate>Fri, 04 Mar 2005 05:06:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Call<span class="source-code"><a href="http://www.allegro.cc/manual/clear_bitmap" target="_blank"><span class="a">clear_bitmap</span></a><span class="k2">(</span>buffer<span class="k2">)</span><span class="k2">;</span></span>after blitting it to the screen. Also, you shouldn&#39;t acquire the screen while you&#39;re not drawing to it. Since you&#39;re only blitting to the screen, Allegro will take care of it fine for you.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kitty Cat)</author>
		<pubDate>Fri, 04 Mar 2005 05:13:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>thx i got it to work.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (edwin velasquez)</author>
		<pubDate>Fri, 04 Mar 2005 05:18:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>just a quick note: you do know that you can use the simple math operations like y+=1; right? or if you&#39;re doing increments by 1, use y++; or y--; It works exactly the same, just saves ya a little time in coding. Good luck with the game! <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Ceagon Xylas)</author>
		<pubDate>Fri, 04 Mar 2005 08:42:03 +0000</pubDate>
	</item>
</rss>
