<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Different Speeds</title>
		<link>http://www.allegro.cc/forums/view/591310</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Thu, 10 May 2007 01:25:31 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>OK, there is a game I am working on. It has some falling enemies, and if you right click some bullets appear. The bullets don&#39;t fall that fast. Well, they aren&#39;t supposed to. They fall at two different speeds on different machines. One at normal, one at craaaaaaaaazy fast. On both computers, the zombies fall at the same speed. Here is the (relevant) 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="c">//this is part of game() which is called in main()</span></td></tr><tr><td class="number">2</td><td><span class="k1">while</span><span class="k2">(</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="k3">&amp;</span><span class="k3">&amp;</span><span class="k2">(</span>halive<span class="k2">)</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">3</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><span class="k2">{</span></td></tr><tr><td class="number">4</td><td>    <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> BULLET_MAX<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">5</td><td>      <span class="k1">if</span><span class="k2">(</span>bullets<span class="k3">&lt;</span>i&gt;.active<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">6</td><td>        bullets<span class="k3">&lt;</span>i&gt;.move_bullet<span class="k2">(</span><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>    <span class="k2">}</span></td></tr><tr><td class="number">9</td><td>    <span class="c">/*===the end==========================*/</span></td></tr><tr><td class="number">10</td><td>    speed_counter--<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="c">/*###=====#=======#=====##############*/</span></td></tr><tr><td class="number">13</td><td>  <span class="c">/*##=START=DRAWING=STUFF=#############*/</span></td></tr><tr><td class="number">14</td><td>  <span class="c">/*###=====#=======#=====##############*/</span></td></tr><tr><td class="number">15</td><td>        <span class="c">//draw stuff...</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="c">//######################################</span></td></tr><tr><td class="number">19</td><td><span class="c">//this is in a header</span></td></tr><tr><td class="number">20</td><td><span class="k1">class</span> bullet<span class="k2">{</span></td></tr><tr><td class="number">21</td><td>public:</td></tr><tr><td class="number">22</td><td>  <span class="k1">float</span> x, y<span class="k2">;</span></td></tr><tr><td class="number">23</td><td>  <span class="k1">float</span> speedx, speedy<span class="k2">;</span></td></tr><tr><td class="number">24</td><td>  <span class="k1">int</span> active<span class="k2">;</span></td></tr><tr><td class="number">25</td><td>  <span class="k1">void</span> init_bullet<span class="k2">(</span><span class="k1">float</span> dx, <span class="k1">float</span> dy, <span class="k1">int</span> cur_x, <span class="k1">int</span> cur_y<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">26</td><td>    active <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">27</td><td>    x <span class="k3">=</span> cur_x<span class="k2">;</span></td></tr><tr><td class="number">28</td><td>    y <span class="k3">=</span> cur_y<span class="k2">;</span></td></tr><tr><td class="number">29</td><td>    speedx <span class="k3">=</span> dx<span class="k2">;</span></td></tr><tr><td class="number">30</td><td>    speedy <span class="k3">=</span> dy<span class="k2">;</span></td></tr><tr><td class="number">31</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">32</td><td>  <span class="k1">void</span> move_bullet<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">33</td><td>    speedy <span class="k3">+</span><span class="k3">=</span> <span class="n">0</span>.<span class="n">01</span><span class="k2">;</span></td></tr><tr><td class="number">34</td><td>    <span class="k1">if</span><span class="k2">(</span>speedy <span class="k3">&gt;</span> <span class="n">3</span><span class="k2">)</span></td></tr><tr><td class="number">35</td><td>      speedy <span class="k3">=</span> <span class="n">3</span><span class="k2">;</span></td></tr><tr><td class="number">36</td><td>    x <span class="k3">+</span><span class="k3">=</span> speedx<span class="k2">;</span></td></tr><tr><td class="number">37</td><td>    y <span class="k3">+</span><span class="k3">=</span> speedy<span class="k2">;</span></td></tr><tr><td class="number">38</td><td>    <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>x <span class="k3">&lt;</span> <span class="n">0</span><span class="k2">)</span><span class="k3">|</span><span class="k3">|</span><span class="k2">(</span>x <span class="k3">&gt;</span> <span class="n">480</span><span class="k2">)</span><span class="k3">|</span><span class="k3">|</span><span class="k2">(</span>y <span class="k3">&lt;</span> <span class="n">0</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">39</td><td>      active <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">40</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">41</td><td>  <span class="k1">void</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_519.html" target="_blank">kill</a><span class="k2">(</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">42</td><td>    x <span class="k3">=</span> y <span class="k3">=</span> <span class="k3">-</span><span class="n">50</span><span class="k2">;</span></td></tr><tr><td class="number">43</td><td>    active <span class="k3">=</span> speedx <span class="k3">=</span> speedy <span class="k3">=</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><span class="k2">}</span><span class="k2">;</span></td></tr></tbody></table></div></div><p>

Anyone know what is wrong?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SkaxCo)</author>
		<pubDate>Tue, 08 May 2007 01:08:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>i think you need to post more code,<br />for example, your timing and timing-initialization code.<br />also post the section moving the zombies.</p><p><s>make sure the zombies isn&#39;t moved inside the drawing loop, if you have any...</s> ignore that for now.</p><p>also, set up a summary of you game loop.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Albin Engström)</author>
		<pubDate>Tue, 08 May 2007 01:27:19 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I see no timer logic.  Computers run at different speeds, so it&#39;s no surprise that incrementing/decrementing variables occurs at different rates across computers.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Onewing)</author>
		<pubDate>Tue, 08 May 2007 01:43:21 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hnggg...my code is long. Lets see...
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span><span class="k1">int</span> game<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">   2</span>  zombo <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_datafile" target="_blank"><span class="a">load_datafile</span></a><span class="k2">(</span><span class="s">"ZomOn.dat"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   3</span>  <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/mouse_b" target="_blank"><span class="a">mouse_b</span></a><span class="k2">)</span><span class="k2">{</span>
<span class="number">   4</span>    <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span><span class="k2">)</span>zombo<span class="k2">[</span>intro<span class="k2">]</span>.dat, buffy, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">480</span>, <span class="n">640</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   5</span>    <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffy, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">25</span>, <span class="n">150</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="k3">-</span><span class="n">1</span>, <span class="s">"Version: 1.7.5.8"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   6</span>    <a href="http://www.allegro.cc/manual/masked_blit" target="_blank"><span class="a">masked_blit</span></a><span class="k2">(</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span><span class="k2">)</span>zombo<span class="k2">[</span>crosshair<span class="k2">]</span>.dat, buffy, <span class="n">0</span>, <span class="n">0</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="n">15</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="n">15</span>, <span class="n">30</span>, <span class="n">30</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   7</span>    <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>buffy, <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>, <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>
<span class="number">   8</span>  <span class="k2">}</span>
<span class="number">   9</span>  <span class="c">/*=======some init stuff==============*/</span>
<span class="number">  10</span>  <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> <span class="c">//Used to set the timer - which regulates the game's speed</span>
<span class="number">  11</span>  <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>
<span class="number">  12</span>  <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">100</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span><span class="c">//Set our BPS</span>
<span class="number">  13</span>  player pc<span class="k2">;</span>
<span class="number">  14</span>  zombie horde<span class="k2">[</span>ZOMBIE_MAX<span class="k2">]</span><span class="k2">;</span>
<span class="number">  15</span>  bullet bullets<span class="k2">[</span>BULLET_MAX<span class="k2">]</span><span class="k2">;</span>
<span class="number">  16</span>  <span class="k1">int</span> shrap_delay <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  17</span>  <span class="k1">int</span> mouse_clicked, last_button, current_button <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> <span class="c">//For too see if the mouse has JUST been clicked</span>
<span class="number">  18</span>  <span class="k1">int</span> zalive <span class="k3">=</span> <span class="n">0</span>, halive <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  19</span>  <span class="k1">int</span> lvl <span class="k3">=</span> <span class="n">2</span>, prog <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  20</span>  <span class="k1">while</span><span class="k2">(</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="k3">&amp;</span><span class="k3">&amp;</span><span class="k2">(</span>halive<span class="k2">)</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  21</span>    <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><span class="k2">{</span>
<span class="number">  22</span>      <span class="c">/*=====raise me some zombies==========*/</span>
<span class="number">  23</span>      <span class="k1">if</span><span class="k2">(</span>zalive <span class="k3">&lt;</span> lvl<span class="k2">)</span><span class="k2">{</span>
<span class="number">  24</span>        <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> ZOMBIE_MAX<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span><span class="k2">{</span> 
<span class="number">  25</span>          <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>horde<span class="k3">&lt;</span>i&gt;.alive<span class="k2">)</span><span class="k2">{</span>
<span class="number">  26</span>            horde<span class="k3">&lt;</span>i&gt;.animate<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>            zalive<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number">  28</span>            i <span class="k3">=</span> ZOMBIE_MAX<span class="k2">;</span>
<span class="number">  29</span>          <span class="k2">}</span>
<span class="number">  30</span>        <span class="k2">}</span>
<span class="number">  31</span>      <span class="k2">}</span>
<span class="number">  32</span>      <span class="c">/*=move teh zombies, check 4 land=====*/</span>
<span class="number">  33</span>      <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> ZOMBIE_MAX<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  34</span>        <span class="k1">if</span><span class="k2">(</span>horde<span class="k3">&lt;</span>i&gt;.alive<span class="k2">)</span><span class="k2">{</span>
<span class="number">  35</span>          horde<span class="k3">&lt;</span>i&gt;.y <span class="k3">+</span><span class="k3">=</span> horde<span class="k3">&lt;</span>i&gt;.fall_speed<span class="k2">;</span>
<span class="number">  36</span>          <span class="k1">if</span><span class="k2">(</span>horde<span class="k3">&lt;</span>i&gt;.frame_delay <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  37</span>            horde<span class="k3">&lt;</span>i&gt;.frame<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number">  38</span>            horde<span class="k3">&lt;</span>i&gt;.frame_delay <span class="k3">=</span> <span class="n">3</span><span class="k2">;</span>
<span class="number">  39</span>          <span class="k2">}</span>
<span class="number">  40</span>          <span class="k1">else</span>
<span class="number">  41</span>            horde<span class="k3">&lt;</span>i&gt;.frame_delay--<span class="k2">;</span>
<span class="number">  42</span>          <span class="k1">if</span><span class="k2">(</span>horde<span class="k3">&lt;</span>i&gt;.frame <span class="k3">&gt;</span> <span class="n">8</span><span class="k2">)</span>
<span class="number">  43</span>            horde<span class="k3">&lt;</span>i&gt;.frame <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  44</span>          <span class="k1">if</span><span class="k2">(</span>horde<span class="k3">&lt;</span>i&gt;.y <span class="k3">&gt;</span> <span class="n">451</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  45</span>            horde<span class="k3">&lt;</span>i&gt;.alive <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  46</span>            pc.mines--<span class="k2">;</span>
<span class="number">  47</span>            zalive--<span class="k2">;</span>
<span class="number">  48</span>          <span class="k2">}</span>
<span class="number">  49</span>        <span class="k2">}</span>
<span class="number">  50</span>        <span class="k1">if</span><span class="k2">(</span>horde<span class="k3">&lt;</span>i&gt;.moving<span class="k2">)</span>
<span class="number">  51</span>          horde<span class="k3">&lt;</span>i&gt;.frame<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number">  52</span>      <span class="k2">}</span>
<span class="number">  53</span>      <span class="c">/*====bullet interaction &amp; stuff======*/</span>
<span class="number">  54</span>      shrap_delay--<span class="k2">;</span>
<span class="number">  55</span>      <span class="k1">int</span> zombie_hit <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  56</span>      last_button <span class="k3">=</span> current_button<span class="k2">;</span>
<span class="number">  57</span>      current_button <span class="k3">=</span> <a href="http://www.allegro.cc/manual/mouse_b" target="_blank"><span class="a">mouse_b</span></a><span class="k2">;</span>
<span class="number">  58</span>      mouse_clicked <span class="k3">=</span> <span class="k2">(</span>current_button <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k3">!</span>last_button<span class="k2">)</span><span class="k2">;</span>
<span class="number">  59</span>      <span class="k1">if</span><span class="k2">(</span>mouse_clicked <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_b" target="_blank"><span class="a">mouse_b</span></a> <span class="k3">&amp;</span> <span class="n">1</span><span class="k2">)</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  60</span>        <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> ZOMBIE_MAX<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  61</span>          <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yeah <span class="k1">this</span> sees <span class="k1">if</span> its in the zombie<span class="k2">)</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  62</span>            horde<span class="k3">&lt;</span>i&gt;.kill<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  63</span>            zalive--<span class="k2">;</span>
<span class="number">  64</span>            prog<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number">  65</span>            zombie_hit <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  66</span>            <span class="k1">if</span><span class="k2">(</span>prog <span class="k3">&gt;</span><span class="k3">=</span> <span class="k2">(</span>lvl<span class="k3">*</span><span class="n">2</span><span class="k2">)</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  67</span>              lvl<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number">  68</span>              prog <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  69</span>            <span class="k2">}</span>
<span class="number">  70</span>            pc.score <span class="k3">+</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  71</span>            i <span class="k3">=</span> ZOMBIE_MAX<span class="k2">;</span>
<span class="number">  72</span>          <span class="k2">}</span>
<span class="number">  73</span>        <span class="k2">}</span>
<span class="number">  74</span>        <span class="k1">if</span><span class="k2">(</span>zombie_hit<span class="k2">)</span>
<span class="number">  75</span>          pc.combo<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number">  76</span>        <span class="k1">else</span>
<span class="number">  77</span>          pc.combo <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  78</span>      <span class="k2">}</span>
<span class="number">  79</span>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>mouse_clicked <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_b" target="_blank"><span class="a">mouse_b</span></a> <span class="k3">&amp;</span> <span class="n">2</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> shrap_delay <span class="k3">&lt;</span> <span class="n">0</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  80</span>        shrap_delay <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number">  81</span>        <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> BULLET_MAX<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  82</span>          <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>bullets<span class="k3">&lt;</span>i&gt;.active<span class="k2">)</span><span class="k2">{</span>
<span class="number">  83</span>            bullets<span class="k3">&lt;</span>i&gt;.init_bullet<span class="k2">(</span><span class="n">0</span>.<span class="n">5</span>, <span class="k3">-</span><span class="n">1</span>.<span class="n">0</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>
<span class="number">  84</span>            bullets<span class="k2">[</span>i<span class="k3">+</span><span class="n">1</span><span class="k2">]</span>.init_bullet<span class="k2">(</span><span class="n">0</span>.<span class="n">2</span>, <span class="n">0</span>.<span class="n">2</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>
<span class="number">  85</span>            bullets<span class="k2">[</span>i<span class="k3">+</span><span class="n">2</span><span class="k2">]</span>.init_bullet<span class="k2">(</span><span class="k3">-</span><span class="n">0</span>.<span class="n">2</span>, <span class="n">0</span>.<span class="n">2</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>
<span class="number">  86</span>            bullets<span class="k2">[</span>i<span class="k3">+</span><span class="n">3</span><span class="k2">]</span>.init_bullet<span class="k2">(</span><span class="k3">-</span><span class="n">0</span>.<span class="n">5</span>, <span class="k3">-</span><span class="n">1</span>.<span class="n">0</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>
<span class="number">  87</span>          <span class="k2">}</span>
<span class="number">  88</span>        <span class="k2">}</span>
<span class="number">  89</span>      <span class="k2">}</span>
<span class="number">  90</span>      <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> BULLET_MAX<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  91</span>        <span class="k1">if</span><span class="k2">(</span>bullets<span class="k3">&lt;</span>i&gt;.active<span class="k2">)</span><span class="k2">{</span>
<span class="number">  92</span>          bullets<span class="k3">&lt;</span>i&gt;.move_bullet<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  93</span>        <span class="k2">}</span>
<span class="number">  94</span>        <span class="c">/* a hit!!! */</span>
<span class="number">  95</span>        <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> q <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> q <span class="k3">&lt;</span> ZOMBIE_MAX<span class="k2">;</span> q<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  96</span>          <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span><span class="k2">(</span>bullets<span class="k3">&lt;</span>i&gt;.x <span class="k3">&gt;</span> horde<span class="k2">[</span>q<span class="k2">]</span>.x <span class="k3">+</span> <span class="n">2</span><span class="k2">)</span><span class="k3">&amp;</span><span class="k3">&amp;</span>
<span class="number">  97</span>                                           <span class="k2">(</span>bullets<span class="k3">&lt;</span>i&gt;.x <span class="k3">&lt;</span> <span class="k2">(</span>horde<span class="k2">[</span>q<span class="k2">]</span>.x <span class="k3">+</span> <span class="n">24</span><span class="k2">)</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  98</span>                                           <span class="k3">&amp;</span><span class="k3">&amp;</span><span class="k2">(</span><span class="k2">(</span>bullets<span class="k3">&lt;</span>i&gt;.y <span class="k3">&gt;</span> horde<span class="k2">[</span>q<span class="k2">]</span>.y<span class="k2">)</span><span class="k3">&amp;</span><span class="k3">&amp;</span>
<span class="number">  99</span>                                           <span class="k2">(</span>bullets<span class="k3">&lt;</span>i&gt;.y <span class="k3">&lt;</span> <span class="k2">(</span>horde<span class="k2">[</span>q<span class="k2">]</span>.y <span class="k3">+</span> <span class="n">28</span><span class="k2">)</span><span class="k2">)</span><span class="k2">)</span><span class="k2">)</span><span class="k2">{</span>
<span class="number"> 100</span>            horde<span class="k2">[</span>q<span class="k2">]</span>.<a href="http://www.delorie.com/djgpp/doc/libc/libc_519.html" target="_blank">kill</a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 101</span>            bullets<span class="k3">&lt;</span>i&gt;.deactivate<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 102</span>            zalive--<span class="k2">;</span>
<span class="number"> 103</span>            prog<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 104</span>            <span class="k1">if</span><span class="k2">(</span>prog <span class="k3">&gt;</span><span class="k3">=</span> <span class="k2">(</span>lvl<span class="k3">*</span><span class="n">2</span><span class="k2">)</span><span class="k2">)</span><span class="k2">{</span>
<span class="number"> 105</span>              lvl<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 106</span>              prog <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 107</span>            <span class="k2">}</span>
<span class="number"> 108</span>            pc.score <span class="k3">+</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 109</span>          <span class="k2">}</span>
<span class="number"> 110</span>        <span class="k2">}</span>
<span class="number"> 111</span>      <span class="k2">}</span>
<span class="number"> 112</span>      <span class="c">/*====check for death=================*/</span>
<span class="number"> 113</span>      <span class="k1">if</span><span class="k2">(</span>pc.mines <span class="k3">&lt;</span> <span class="n">0</span><span class="k2">)</span>
<span class="number"> 114</span>        halive <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 115</span>      <span class="c">/*===the end==========================*/</span>
<span class="number"> 116</span>      speed_counter--<span class="k2">;</span>
<span class="number"> 117</span>    <span class="k2">}</span>
<span class="number"> 118</span>    <span class="c">/*###=====#=======#=====##############*/</span>
<span class="number"> 119</span>    <span class="c">/*##=START=DRAWING=STUFF=#############*/</span>
<span class="number"> 120</span>    <span class="c">/*###=====#=======#=====##############*/</span>
<span class="number"> 121</span>    <span class="c">/*======clear the background==========*/</span>
<span class="number"> 122</span>    <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span><span class="k2">)</span>zombo<span class="k2">[</span>backdrop<span class="k2">]</span>.dat, buffy, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">480</span>, <span class="n">480</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 123</span>    <span class="c">/*===draw me some zombies=============*/</span>
<span class="number"> 124</span>    <span class="c">/*===draw me some bullets=============*/</span>
<span class="number"> 125</span>    <span class="c">/*====draw the HUD====================*/</span>
<span class="number"> 126</span>    <span class="c">/*======display score=================*/</span>
<span class="number"> 127</span>    <span class="c">/*====display the mouse===============*/</span>
<span class="number"> 128</span>    <span class="c">/*====================================*/</span>
<span class="number"> 129</span>    <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>buffy, <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>, <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>
<span class="number"> 130</span>  <span class="k2">}</span>
<span class="number"> 131</span>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 132</span><span class="k2">}</span>
</div></div><p>
and here is the header:
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="c">/*INCLUDES*/</span>
<span class="number">  2</span><span class="p">#include &lt;allegro.h&gt;</span>
<span class="number">  3</span><span class="c">/*THINGS*/</span>
<span class="number">  4</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>buffy<span class="k2">;</span>
<span class="number">  5</span><a href="http://www.allegro.cc/manual/DATAFILE" target="_blank"><span class="a">DATAFILE</span></a> <span class="k3">*</span>zombo<span class="k2">;</span>
<span class="number">  6</span><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> 
<span class="number">  7</span><span class="c">/*CLASSES*/</span>
<span class="number">  8</span><span class="k1">class</span> bullet<span class="k2">{</span>
<span class="number">  9</span>public:
<span class="number"> 10</span>  <span class="k1">float</span> x, y<span class="k2">;</span>
<span class="number"> 11</span>  <span class="k1">float</span> speedx, speedy<span class="k2">;</span>
<span class="number"> 12</span>  <span class="k1">int</span> active<span class="k2">;</span>
<span class="number"> 13</span>  <span class="k1">void</span> init_bullet<span class="k2">(</span><span class="k1">float</span> dx, <span class="k1">float</span> dy, <span class="k1">int</span> cur_x, <span class="k1">int</span> cur_y<span class="k2">)</span><span class="k2">{</span>
<span class="number"> 14</span>    active <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 15</span>    x <span class="k3">=</span> cur_x<span class="k2">;</span>
<span class="number"> 16</span>    y <span class="k3">=</span> cur_y<span class="k2">;</span>
<span class="number"> 17</span>    speedx <span class="k3">=</span> dx<span class="k2">;</span>
<span class="number"> 18</span>    speedy <span class="k3">=</span> dy<span class="k2">;</span>
<span class="number"> 19</span>  <span class="k2">}</span>
<span class="number"> 20</span>  <span class="k1">void</span> move_bullet<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>
<span class="number"> 21</span>    speedy <span class="k3">+</span><span class="k3">=</span> <span class="n">0</span>.<span class="n">01</span><span class="k2">;</span>
<span class="number"> 22</span>    <span class="k1">if</span><span class="k2">(</span>speedy <span class="k3">&gt;</span> <span class="n">3</span><span class="k2">)</span>
<span class="number"> 23</span>      speedy <span class="k3">=</span> <span class="n">3</span><span class="k2">;</span>
<span class="number"> 24</span>    x <span class="k3">+</span><span class="k3">=</span> speedx<span class="k2">;</span>
<span class="number"> 25</span>    y <span class="k3">+</span><span class="k3">=</span> speedy<span class="k2">;</span>
<span class="number"> 26</span>    <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>x <span class="k3">&lt;</span> <span class="n">0</span><span class="k2">)</span><span class="k3">|</span><span class="k3">|</span><span class="k2">(</span>x <span class="k3">&gt;</span> <span class="n">480</span><span class="k2">)</span><span class="k3">|</span><span class="k3">|</span><span class="k2">(</span>y <span class="k3">&lt;</span> <span class="n">0</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 27</span>      active <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 28</span>  <span class="k2">}</span>
<span class="number"> 29</span>  <span class="k1">void</span> deactivate<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>
<span class="number"> 30</span>    x <span class="k3">=</span> y <span class="k3">=</span> <span class="k3">-</span><span class="n">50</span><span class="k2">;</span>
<span class="number"> 31</span>    active <span class="k3">=</span> speedx <span class="k3">=</span> speedy <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 32</span>  <span class="k2">}</span>
<span class="number"> 33</span><span class="k2">}</span><span class="k2">;</span>
<span class="number"> 34</span><span class="k1">class</span> player<span class="k2">{</span>
<span class="number"> 35</span>public:
<span class="number"> 36</span>  <span class="k1">int</span> mines<span class="k2">;</span>
<span class="number"> 37</span>  <span class="k1">int</span> score<span class="k2">;</span>
<span class="number"> 38</span>  <span class="k1">int</span> combo<span class="k2">;</span>
<span class="number"> 39</span>  <span class="k1">void</span> init_player<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>
<span class="number"> 40</span>    mines <span class="k3">=</span> <span class="n">5</span><span class="k2">;</span>
<span class="number"> 41</span>    score <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 42</span>    combo <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 43</span>  <span class="k2">}</span>
<span class="number"> 44</span><span class="k2">}</span><span class="k2">;</span>
<span class="number"> 45</span><span class="k1">class</span> weapon<span class="k2">{</span>
<span class="number"> 46</span>public:
<span class="number"> 47</span>  <span class="k1">int</span> damage<span class="k2">;</span>
<span class="number"> 48</span>  <span class="k1">float</span> fire_rate<span class="k2">;</span>
<span class="number"> 49</span>  <span class="k1">float</span> reload<span class="k2">;</span>
<span class="number"> 50</span><span class="k2">}</span><span class="k2">;</span>
<span class="number"> 51</span><span class="k1">class</span> zombie<span class="k2">{</span>
<span class="number"> 52</span>public:
<span class="number"> 53</span>  <span class="k1">float</span> x<span class="k2">;</span>
<span class="number"> 54</span>  <span class="k1">float</span> y<span class="k2">;</span>
<span class="number"> 55</span>  <span class="k1">float</span> fall_speed<span class="k2">;</span>
<span class="number"> 56</span>  <span class="k1">int</span> moving<span class="k2">;</span> <span class="c">/*0: moving, 1: exploding*/</span>
<span class="number"> 57</span>  <span class="k1">int</span> alive<span class="k2">;</span> <span class="c">/*1 = alive, 0 = dead*/</span>
<span class="number"> 58</span>  <span class="k1">int</span> type<span class="k2">;</span>
<span class="number"> 59</span>  <span class="k1">int</span> frame<span class="k2">;</span>
<span class="number"> 60</span>  <span class="k1">int</span> frame_delay<span class="k2">;</span>
<span class="number"> 61</span>  <span class="k1">void</span> animate<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>
<span class="number"> 62</span>    x <span class="k3">=</span> <span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a> <span class="k3">-</span> <span class="n">30</span><span class="k2">)</span><span class="k2">)</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 63</span>    y <span class="k3">=</span> <span class="k3">-</span><span class="n">30</span><span class="k2">;</span>
<span class="number"> 64</span>    fall_speed <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">10</span><span class="k2">;</span>
<span class="number"> 65</span>    fall_speed <span class="k3">/</span><span class="k3">=</span> <span class="n">15</span><span class="k2">;</span>
<span class="number"> 66</span>    fall_speed <span class="k3">+</span><span class="k3">=</span> <span class="n">0</span>.<span class="n">5</span><span class="k2">;</span>
<span class="number"> 67</span>    alive <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 68</span>    moving <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 69</span>    type <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">4</span><span class="k2">;</span>
<span class="number"> 70</span>    frame <span class="k3">=</span> <span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">8</span><span class="k2">)</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 71</span>    frame_delay <span class="k3">=</span> <span class="n">3</span><span class="k2">;</span>
<span class="number"> 72</span>  <span class="k2">}</span>
<span class="number"> 73</span>  <span class="k1">void</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_519.html" target="_blank">kill</a><span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>
<span class="number"> 74</span>    x <span class="k3">=</span> y <span class="k3">=</span> <span class="n">500</span><span class="k2">;</span>
<span class="number"> 75</span>    alive <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 76</span>    moving <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 77</span>  <span class="k2">}</span>
<span class="number"> 78</span><span class="k2">}</span><span class="k2">;</span>
<span class="number"> 79</span><span class="c">/*CONSTANTS*/</span>
<span class="number"> 80</span><span class="p">#define PI 3.14159265</span>
<span class="number"> 81</span><span class="k1">const</span> <span class="k1">int</span> FIELD_W <span class="k3">=</span> <span class="n">480</span><span class="k2">;</span>
<span class="number"> 82</span><span class="k1">const</span> <span class="k1">int</span> FIELD_H <span class="k3">=</span> <span class="n">480</span><span class="k2">;</span>
<span class="number"> 83</span><span class="k1">const</span> <span class="k1">int</span> BULLET_MAX <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 84</span><span class="k1">const</span> <span class="k1">int</span> ZOMBIE_MAX <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 85</span><span class="c">/*COLORS*/</span>
<span class="number"> 86</span><span class="c">/*FUNC PROTO'S*/</span>
<span class="number"> 87</span><span class="k1">void</span> increment_speed_counter<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 88</span><span class="c">/*FUNCS*/</span>
<span class="number"> 89</span><span class="k1">void</span> increment_speed_counter<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span> <span class="c">// A function to increment the speed counter</span>
<span class="number"> 90</span>   speed_counter<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span> <span class="c">// This will just increment the speed counter by one.</span>
<span class="number"> 91</span><span class="k2">}</span><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> <span class="c">// Make sure you tell it that it's the end</span>
</div></div><p>
I tried to abbreviate...the drawing I just plain deleted. The titles should make it easier to wade through. Another (unmentioned) problem is that bullets don&#039;t go away when they hit an enemy. Yet another problem is when I quit, it complains abou some call-stack stuff, but that is irrelevant and I won&#039;t include what I think is the problem code (oddly, it is only sometimes). And yes there is timer logic.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SkaxCo)</author>
		<pubDate>Tue, 08 May 2007 01:50:50 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You&#39;re not using the timer variable correctly. Try replacing the code around the &quot;while((!key[KEY_ESC])&amp;&amp;(halive)){&quot; with the following (&lt;&lt;&lt;&lt;&lt;&lt;&lt; denotes the changed or added lines):</p><div class="source-code snippet"><div class="inner"><pre>  <span class="k1">int</span> lvl <span class="k3">=</span> <span class="n">2</span>, prog <span class="k3">=</span> <span class="n">0</span>, s_counter<span class="k2">;</span>  <span class="c">//  &lt;&lt;&lt;&lt;&lt;&lt;&lt;</span>

  <span class="k1">while</span><span class="k2">(</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="k3">&amp;</span><span class="k3">&amp;</span><span class="k2">(</span>halive<span class="k2">)</span><span class="k2">)</span><span class="k2">{</span>
    <span class="k1">if</span> <span class="k2">(</span>speed_counter <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span>    <span class="c">//  &lt;&lt;&lt;&lt;&lt;&lt;&lt; </span>
      <a href="http://www.allegro.cc/manual/rest" target="_blank"><span class="a">rest</span></a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>    <span class="c">//  &lt;&lt;&lt;&lt;&lt;&lt;&lt;</span>
    s_counter <span class="k3">=</span> speed_counter<span class="k2">;</span>  <span class="c">//  &lt;&lt;&lt;&lt;&lt;&lt;&lt; </span>
    speed_counter <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>    <span class="c">//  &lt;&lt;&lt;&lt;&lt;&lt;&lt; </span>
    <span class="k1">while</span><span class="k2">(</span>s_counter <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span><span class="k2">{</span>    <span class="c">//  &lt;&lt;&lt;&lt;&lt;&lt;&lt; </span>
</pre></div></div><p>

And get rid of the line that decrements speed_counter.</p><p>[edit]<br />The rest(1) is to give the OS some processing time.<br />[/edit]
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (HardTranceFan)</author>
		<pubDate>Tue, 08 May 2007 02:11:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I have no idea...at ALL what you are saying. Where would that go in my code? It is not clear at all. So all of that is before my logic? Because this 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="k1">int</span> s_counter <span class="k3">=</span> <span class="n">1</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="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="k3">&amp;</span><span class="k3">&amp;</span><span class="k2">(</span>halive<span class="k2">)</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">3</td><td>    <span class="k1">if</span> <span class="k2">(</span>speed_counter <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span>    <span class="c">//  &lt;&lt;&lt;&lt;&lt;&lt;&lt; </span></td></tr><tr><td class="number">4</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">1</span><span class="k2">)</span><span class="k2">;</span>    <span class="c">//  &lt;&lt;&lt;&lt;&lt;&lt;&lt;</span></td></tr><tr><td class="number">5</td><td>    s_counter <span class="k3">=</span> speed_counter<span class="k2">;</span>  <span class="c">//  &lt;&lt;&lt;&lt;&lt;&lt;&lt; </span></td></tr><tr><td class="number">6</td><td>    speed_counter <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>    <span class="c">//  &lt;&lt;&lt;&lt;&lt;&lt;&lt; </span></td></tr><tr><td class="number">7</td><td>    <span class="k1">while</span><span class="k2">(</span>s_counter <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span><span class="k2">{</span>    <span class="c">//  &lt;&lt;&lt;&lt;&lt;&lt;&lt; </span></td></tr><tr><td class="number">8</td><td>      <span class="c">//logic</span></td></tr><tr><td class="number">9</td><td>      <span class="c">/*===the end==========================*/</span></td></tr><tr><td class="number">10</td><td>      <span class="c">//speed_counter--;</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="c">/*###=====#=======#=====##############*/</span></td></tr><tr><td class="number">13</td><td>    <span class="c">/*##=START=DRAWING=STUFF=#############*/</span></td></tr><tr><td class="number">14</td><td>    <span class="c">/*###=====#=======#=====##############*/</span></td></tr><tr><td class="number">15</td><td>    <span class="c">//drawing</span></td></tr><tr><td class="number">16</td><td>    <span class="c">/*====================================*/</span></td></tr><tr><td class="number">17</td><td>    <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>buffy, <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>, <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">18</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">19</td><td>  <span class="k1">return</span> h_death<span class="k2">(</span>pc.score<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

...just makes the program not run. It freezes.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SkaxCo)</author>
		<pubDate>Wed, 09 May 2007 03:22:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I used to find these threads so interesting...  I can&#39;t seem to motivate myself to help out anymore.</p><p>I really should quit programming for a job, its corrupting me <img src="http://www.allegro.cc/forums/smileys/lipsrsealed.gif" alt=":-X" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Wed, 09 May 2007 04:00:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Sorry, slightly incorrect instructions - put &quot;s_counter--;&quot; instead of the commented line &quot;speed_counter--;&quot;.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (HardTranceFan)</author>
		<pubDate>Wed, 09 May 2007 05:06:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well, it works. The bullets should be falling at MOST twice as fast as the zombies. Can some people check it out? If so, se how fast the bullets fall. Instructions: Left click to auto shoot, right click to shrapnel blast. When the bar on the far right is dark red, you can shrapnel blast. Score is score, combo is combo, mines are mines. I would tell the story, but I can&#39;t now.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SkaxCo)</author>
		<pubDate>Wed, 09 May 2007 05:59:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Bullets? I can&#39;t see any. But the zombies drop down at various rates. And the shrapnel fans out and drops at a reasonable rate.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (HardTranceFan)</author>
		<pubDate>Wed, 09 May 2007 14:33:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah, I meant the shrapnel. It just uses a class called &quot;bullet&quot; so thats what I think of it as. Thank you for testing it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SkaxCo)</author>
		<pubDate>Wed, 09 May 2007 16:20:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>offtopic: </p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
I used to find these threads so interesting... I can&#39;t seem to motivate myself to help out anymore.
</p></div></div><p>

My problem is that i don&#39;t even read threads.. but i glance.. hope i can help, and end up posting something completely irrevelevant.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Goalie Ca)</author>
		<pubDate>Wed, 09 May 2007 22:47:38 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Whats up with this depressing mood??... anyway, it work fine.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Albin Engström)</author>
		<pubDate>Thu, 10 May 2007 01:25:31 +0000</pubDate>
	</item>
</rss>
