<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Projectile angled movement</title>
		<link>http://www.allegro.cc/forums/view/590313</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sat, 03 Mar 2007 14:37:12 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>This is for a sidescrolling shooting game. I admit I&#39;m such an idiot in Trig so if someone could please tell me what&#39;s wrong with this formula?</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">void</span> Vulcan::update<span class="k2">(</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>    <a href="http://www.allegro.cc/manual/fixed" target="_blank"><span class="a">fixed</span></a> fAngle <span class="k3">=</span> <a href="http://www.allegro.cc/manual/itofix" target="_blank"><span class="a">itofix</span></a><span class="k2">(</span>angle<span class="k2">)</span><span class="k2">;</span>   </td></tr><tr><td class="number">4</td><td>    <a href="http://www.allegro.cc/manual/fixed" target="_blank"><span class="a">fixed</span></a> fX <span class="k3">=</span> <a href="http://www.allegro.cc/manual/itofix" target="_blank"><span class="a">itofix</span></a><span class="k2">(</span>x<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">5</td><td>    <a href="http://www.allegro.cc/manual/fixed" target="_blank"><span class="a">fixed</span></a> fY <span class="k3">=</span> <a href="http://www.allegro.cc/manual/itofix" target="_blank"><span class="a">itofix</span></a><span class="k2">(</span>y<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">6</td><td>    </td></tr><tr><td class="number">7</td><td>    <span class="k1">if</span> <span class="k2">(</span>this-&gt;x <span class="k3">&lt;</span> <a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a><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="k1">switch</span><span class="k2">(</span>direction<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>            <span class="k1">case</span> RIGHT:            </td></tr><tr><td class="number">12</td><td>                 std::cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"xp: "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <a href="http://www.allegro.cc/manual/fixtoi" target="_blank"><span class="a">fixtoi</span></a><span class="k2">(</span> fX <span class="k3">+</span> fcos<span class="k2">(</span>fAngle<span class="k2">)</span> <span class="k3">+</span> speed <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>                 std::cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"xy: "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <a href="http://www.allegro.cc/manual/fixtoi" target="_blank"><span class="a">fixtoi</span></a><span class="k2">(</span> fY <span class="k3">+</span> fsin<span class="k2">(</span>fAngle<span class="k2">)</span> <span class="k3">+</span> speed <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>                 move<span class="k2">(</span> <a href="http://www.allegro.cc/manual/fixtoi" target="_blank"><span class="a">fixtoi</span></a><span class="k2">(</span> fX <span class="k3">+</span> fcos<span class="k2">(</span>fAngle<span class="k2">)</span> <span class="k3">+</span> speed <span class="k2">)</span>,  <a href="http://www.allegro.cc/manual/fixtoi" target="_blank"><span class="a">fixtoi</span></a><span class="k2">(</span> fY <span class="k3">+</span> fsin<span class="k2">(</span>fAngle<span class="k2">)</span> <span class="k3">+</span> speed<span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>                 <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>            <span class="k1">case</span> LEFT:</td></tr><tr><td class="number">17</td><td>                 move<span class="k2">(</span>x <span class="k3">-</span> speed, y<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>                 <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>            default:</td></tr><tr><td class="number">20</td><td>                 <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">22</td><td>        </td></tr><tr><td class="number">23</td><td>        animation-&gt;animate<span class="k2">(</span><span class="k2">)</span><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></tbody></table></div></div><p>

I&#39;m calling the code like this...</p><div class="source-code snippet"><div class="inner"><pre>currentWeapon-&gt;fire<span class="k2">(</span>RIGHT, <span class="n">45</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

The bullets won&#39;t appear in the screen anymore... I&#39;m trying to make an angled shot.</p><p>EDIT:</p><p>I can&#39;t seem to make another post so I&#39;ll make the updates here.</p><p>I seem to get it working now. But why is the angle 45 now shooting at 45 degrees? As I recall from my trigonometry class, it shouldn&#39;t be going down!</p><p>Here&#39;s the not so fixed 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">void</span> Vulcan::update<span class="k2">(</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>    <a href="http://www.allegro.cc/manual/fixed" target="_blank"><span class="a">fixed</span></a> fAngle <span class="k3">=</span> <a href="http://www.allegro.cc/manual/itofix" target="_blank"><span class="a">itofix</span></a><span class="k2">(</span>angle<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">4</td><td>    </td></tr><tr><td class="number">5</td><td>    <span class="k1">int</span> newX <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">int</span> newY <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">7</td><td>        </td></tr><tr><td class="number">8</td><td>    <span class="k1">if</span> <span class="k2">(</span>this-&gt;x <span class="k3">&lt;</span> <a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a><span class="k2">)</span></td></tr><tr><td class="number">9</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">10</td><td>        <span class="k1">switch</span><span class="k2">(</span>direction<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">case</span> RIGHT:</td></tr><tr><td class="number">13</td><td>                 newX <span class="k3">=</span> x <span class="k3">+</span> <span class="k2">(</span> <a href="http://www.allegro.cc/manual/fixtoi" target="_blank"><span class="a">fixtoi</span></a><span class="k2">(</span> fcos<span class="k2">(</span>fAngle<span class="k2">)</span> <span class="k2">)</span> <span class="k3">*</span> speed <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>                 newY <span class="k3">=</span> y <span class="k3">+</span> <span class="k2">(</span> <a href="http://www.allegro.cc/manual/fixtoi" target="_blank"><span class="a">fixtoi</span></a><span class="k2">(</span> fsin<span class="k2">(</span>fAngle<span class="k2">)</span> <span class="k2">)</span> <span class="k3">*</span> speed <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>                 std::cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"angle: "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> angle <span class="k3">&lt;</span><span class="k3">&lt;</span> std::endl<span class="k2">;</span></td></tr><tr><td class="number">16</td><td>                 std::cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"oldX: "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> x <span class="k3">&lt;</span><span class="k3">&lt;</span> std::endl<span class="k2">;</span></td></tr><tr><td class="number">17</td><td>                 std::cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"oldY: "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> y <span class="k3">&lt;</span><span class="k3">&lt;</span> std::endl<span class="k2">;</span></td></tr><tr><td class="number">18</td><td>                 std::cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"newX: "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> newX <span class="k3">&lt;</span><span class="k3">&lt;</span> std::endl<span class="k2">;</span></td></tr><tr><td class="number">19</td><td>                 std::cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"newY: "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> newY <span class="k3">&lt;</span><span class="k3">&lt;</span> std::endl<span class="k2">;</span></td></tr><tr><td class="number">20</td><td>                 move<span class="k2">(</span>newX, newY<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>                 <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>            <span class="k1">case</span> LEFT:</td></tr><tr><td class="number">23</td><td>                 move<span class="k2">(</span>x <span class="k3">-</span> speed, y<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td>                 <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>            default:</td></tr><tr><td class="number">26</td><td>                 <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">27</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">28</td><td>        </td></tr><tr><td class="number">29</td><td>        animation-&gt;animate<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">30</td><td>    <span class="k2">}</span>    </td></tr><tr><td class="number">31</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>


</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">void</span> Ship::fireWeapon<span class="k2">(</span><span class="k2">)</span>
<span class="k2">{</span>
     <span class="k1">if</span> <span class="k2">(</span>currentWeapon <span class="k3">!</span><span class="k3">=</span> NULL<span class="k2">)</span>
     <span class="k2">{</span>
         currentWeapon-&gt;fire<span class="k2">(</span>RIGHT, <span class="n">90</span><span class="k2">)</span><span class="k2">;</span>                       
     <span class="k2">}</span>
<span class="k2">}</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (armond)</author>
		<pubDate>Wed, 28 Feb 2007 12:33:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Dammit... Had my entire post typed out and then Firefox decided it wanted to go back for some reason. <img src="http://www.allegro.cc/forums/smileys/cry.gif" alt=":&#39;(" /></p><p>Okay, pretty much, use <a href="http://en.wikipedia.org/wiki/Radian">Radians</a> instead of fixed. Get rid of the &#39;direction,&#39; the angle will take care of that all by itself.</p><p>It would help much if you posted your <tt>class</tt> or <tt>struct</tt>.</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">void</span> Vulcan::update<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span>
  <span class="c">//make sure angle's in range</span>
  <span class="k1">if</span><span class="k2">(</span>angle<span class="k3">&lt;</span><span class="n">0</span><span class="k2">)</span>      angle<span class="k3">+</span><span class="k3">=</span>M_PI<span class="k3">*</span><span class="n">2</span><span class="k2">;</span>
  <span class="k1">if</span><span class="k2">(</span>angle&gt;M_PI<span class="k3">*</span><span class="n">2</span><span class="k2">)</span> angle-<span class="k3">=</span>M_PI<span class="k3">*</span><span class="n">2</span><span class="k2">;</span>
  
  <span class="k1">float</span> newX<span class="k3">=</span>speed<span class="k3">*</span>fcos<span class="k2">(</span>angle<span class="k2">)</span><span class="k2">;</span> <span class="c">//I recommend storing your x and y</span>
  <span class="k1">float</span> newY<span class="k3">=</span>speed<span class="k3">*</span>fsin<span class="k2">(</span>angle<span class="k2">)</span><span class="k2">;</span> <span class="c">//values as float too.</span>

  move<span class="k2">(</span>newX,newY<span class="k2">)</span><span class="k2">;</span>

  animation-&gt;animate<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>

<span class="k1">void</span> Weapon::fire<span class="k2">(</span><span class="k1">float</span> angle,<span class="k1">float</span> speed<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

If you&#39;re worried about shooting left and right, it&#39;s only a matter of specifying the angle correctly.</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span><span class="k2">(</span>player.fire<span class="k2">)</span> <span class="k2">{</span>
  <span class="k1">if</span><span class="k2">(</span>player.direction<span class="k3">=</span><span class="k3">=</span>LEFT<span class="k2">)</span>
    currentWeapon-&gt;fire<span class="k2">(</span><span class="n">3</span>.<span class="n">14</span>,<span class="n">90</span><span class="k2">)</span><span class="k2">;</span>
  <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>player.direction<span class="k3">=</span><span class="k3">=</span>RIGHT<span class="k2">)</span>
    currentWeapon-&gt;fire<span class="k2">(</span><span class="n">0</span>,<span class="n">90</span><span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Ceagon Xylas)</author>
		<pubDate>Wed, 28 Feb 2007 16:52:30 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thank you for your suggestions! I will incorporate your ideas with my code once I solve the other problem I&#39;m having right now with page flipping. Thanks!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (armond)</author>
		<pubDate>Wed, 28 Feb 2007 17:08:48 +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="source-code snippet"><div class="inner"><pre>  <span class="c">//make sure angle's in range</span>
  <span class="k1">if</span><span class="k2">(</span>angle<span class="k3">&lt;</span><span class="n">0</span><span class="k2">)</span>      angle<span class="k3">+</span><span class="k3">=</span>M_PI<span class="k3">*</span><span class="n">2</span><span class="k2">;</span>
  <span class="k1">if</span><span class="k2">(</span>angle&gt;M_PI<span class="k3">*</span><span class="n">2</span><span class="k2">)</span> angle-<span class="k3">=</span>M_PI<span class="k3">*</span><span class="n">2</span><span class="k2">;</span>
</pre></div></div><p>
</p></div></div><p>
</p><div class="source-code snippet"><div class="inner"><pre>  <span class="c">//make sure angle's in range</span>
  <span class="k1">while</span><span class="k2">(</span>angle<span class="k3">&lt;</span><span class="n">0</span><span class="k2">)</span>      angle<span class="k3">+</span><span class="k3">=</span>M_PI<span class="k3">*</span><span class="n">2</span><span class="k2">;</span>
  <span class="k1">while</span><span class="k2">(</span>angle&gt;M_PI<span class="k3">*</span><span class="n">2</span><span class="k2">)</span> angle-<span class="k3">=</span>M_PI<span class="k3">*</span><span class="n">2</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Thu, 01 Mar 2007 04:00:50 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I have been thinking about changing that all night.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Ceagon Xylas)</author>
		<pubDate>Thu, 01 Mar 2007 04:46:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi! When I use the if version posted by Dustin Dettmer, my projectiles just go straight. When I use the while version posted by Ceagon Xylas, some of the bullets go straight and some would circle around before going straight. I just need them to be fixed on a certain angle. Let&#39;s say projectile one would move in the 45 degree angles, projectile 2 on the zero degree(or 360) angle and the third one on the  315 angle.</p><p>I reverted back the code but you could see the ones I&#39;ve tried commented out.</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">void</span> Vulcan::update<span class="k2">(</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="c">/*</span></td></tr><tr><td class="number">4</td><td><span class="c">    while (angle &lt; 0)</span></td></tr><tr><td class="number">5</td><td><span class="c">    {</span></td></tr><tr><td class="number">6</td><td><span class="c">        angle += (int)(MAX_PI * 2);</span></td></tr><tr><td class="number">7</td><td><span class="c">    }</span></td></tr><tr><td class="number">8</td><td><span class="c">    </span></td></tr><tr><td class="number">9</td><td><span class="c">    while ( angle &gt; (int)(MAX_PI * 2) )</span></td></tr><tr><td class="number">10</td><td><span class="c">    {</span></td></tr><tr><td class="number">11</td><td><span class="c">        angle -= (int)(MAX_PI * 2);</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">    */</span></td></tr><tr><td class="number">14</td><td>    </td></tr><tr><td class="number">15</td><td>     </td></tr><tr><td class="number">16</td><td>    <a href="http://www.allegro.cc/manual/fixed" target="_blank"><span class="a">fixed</span></a> fAngle <span class="k3">=</span> <a href="http://www.allegro.cc/manual/itofix" target="_blank"><span class="a">itofix</span></a><span class="k2">(</span>angle<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>    </td></tr><tr><td class="number">18</td><td>    <span class="k1">int</span> newX <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>    <span class="k1">int</span> newY <span class="k3">=</span> <span class="n">0</span><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">if</span> <span class="k2">(</span>this-&gt;x <span class="k3">&lt;</span> <a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a><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>        newX <span class="k3">=</span> x <span class="k3">+</span> <span class="k2">(</span> speed <span class="k3">*</span> <a href="http://www.allegro.cc/manual/fixtoi" target="_blank"><span class="a">fixtoi</span></a><span class="k2">(</span> fcos<span class="k2">(</span>fAngle<span class="k2">)</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td>        newY <span class="k3">=</span> y <span class="k3">+</span> <span class="k2">(</span> speed <span class="k3">*</span> <a href="http://www.allegro.cc/manual/fixtoi" target="_blank"><span class="a">fixtoi</span></a><span class="k2">(</span> fsin<span class="k2">(</span>fAngle<span class="k2">)</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>        move<span class="k2">(</span>newX, newY<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td>       </td></tr><tr><td class="number">27</td><td>        animation-&gt;animate<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">28</td><td>    <span class="k2">}</span>   </td></tr><tr><td class="number">29</td><td>     </td></tr><tr><td class="number">30</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>



and the projectiles would be initialized like this(...</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="k1">void</span> VulcanGun::fire<span class="k2">(</span><span class="k1">int</span> a<span class="k2">)</span></td></tr><tr><td class="number">2</td><td><span class="k2">{</span>    </td></tr><tr><td class="number">3</td><td>    <span class="k1">if</span> <span class="k2">(</span>waitCount <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span></td></tr><tr><td class="number">4</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">5</td><td>        <span class="k1">int</span> pfPoolSize<span class="k2">;</span></td></tr><tr><td class="number">6</td><td>        </td></tr><tr><td class="number">7</td><td>        <span class="k1">switch</span><span class="k2">(</span>weaponLevel<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="k1">case</span> <span class="n">1</span><span class="k2">:</span></td></tr><tr><td class="number">10</td><td>                ProjectileFactory::projectilePool.push_back<span class="k2">(</span> ProjectileFactory::getProjectile<span class="k2">(</span>VULCAN, a, hostile<span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>               </td></tr><tr><td class="number">12</td><td>                pfPoolSize<span class="k3">=</span> ProjectileFactory::projectilePool.size<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>                </td></tr><tr><td class="number">14</td><td>                ProjectileFactory::projectilePool<span class="k2">[</span>pfPoolSize <span class="k3">-</span> <span class="n">1</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>move<span class="k2">(</span>x, y<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>                </td></tr><tr><td class="number">16</td><td>                waitCount <span class="k3">=</span> fireRate<span class="k2">;</span></td></tr><tr><td class="number">17</td><td>                </td></tr><tr><td class="number">18</td><td>                <a href="http://www.allegro.cc/manual/play_sample" target="_blank"><span class="a">play_sample</span></a><span class="k2">(</span> SoundManager::getSample<span class="k2">(</span>VULCAN_GUN_FIRE_SFX<span class="k2">)</span>, <span class="n">255</span>, <span class="n">0</span>, <span class="n">2000</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>                </td></tr><tr><td class="number">20</td><td>                <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>            <span class="k1">case</span> <span class="n">2</span><span class="k2">:</span></td></tr><tr><td class="number">22</td><td>                ProjectileFactory::projectilePool.push_back<span class="k2">(</span> ProjectileFactory::getProjectile<span class="k2">(</span>VULCAN, <span class="n">45</span>, hostile<span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>                ProjectileFactory::projectilePool.push_back<span class="k2">(</span> ProjectileFactory::getProjectile<span class="k2">(</span>VULCAN, a, hostile<span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td>                ProjectileFactory::projectilePool.push_back<span class="k2">(</span> ProjectileFactory::getProjectile<span class="k2">(</span>VULCAN, <span class="n">315</span>, hostile<span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>                </td></tr><tr><td class="number">26</td><td>                pfPoolSize<span class="k3">=</span> ProjectileFactory::projectilePool.size<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">27</td><td>                </td></tr><tr><td class="number">28</td><td>                ProjectileFactory::projectilePool<span class="k2">[</span>pfPoolSize <span class="k3">-</span> <span class="n">1</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>move<span class="k2">(</span>x, y <span class="k3">-</span> <span class="n">10</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">29</td><td>                ProjectileFactory::projectilePool<span class="k2">[</span>pfPoolSize <span class="k3">-</span> <span class="n">2</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>move<span class="k2">(</span>x, y<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">30</td><td>                ProjectileFactory::projectilePool<span class="k2">[</span>pfPoolSize <span class="k3">-</span> <span class="n">3</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>move<span class="k2">(</span>x, y <span class="k3">+</span> <span class="n">20</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">31</td><td>                </td></tr><tr><td class="number">32</td><td>                waitCount <span class="k3">=</span> fireRate<span class="k2">;</span></td></tr><tr><td class="number">33</td><td>                </td></tr><tr><td class="number">34</td><td>                <a href="http://www.allegro.cc/manual/play_sample" target="_blank"><span class="a">play_sample</span></a><span class="k2">(</span> SoundManager::getSample<span class="k2">(</span>VULCAN_GUN_FIRE_SFX<span class="k2">)</span>, <span class="n">255</span>, <span class="n">0</span>, <span class="n">2000</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>                </td></tr><tr><td class="number">35</td><td>                <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">36</td><td>            <span class="k1">case</span> <span class="n">3</span><span class="k2">:</span></td></tr><tr><td class="number">37</td><td>                ProjectileFactory::projectilePool.push_back<span class="k2">(</span> ProjectileFactory::getProjectile<span class="k2">(</span>VULCAN, <span class="n">45</span>, hostile<span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">38</td><td>                ProjectileFactory::projectilePool.push_back<span class="k2">(</span> ProjectileFactory::getProjectile<span class="k2">(</span>VULCAN, a, hostile<span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">39</td><td>                ProjectileFactory::projectilePool.push_back<span class="k2">(</span> ProjectileFactory::getProjectile<span class="k2">(</span>VULCAN, a, hostile<span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">40</td><td>                ProjectileFactory::projectilePool.push_back<span class="k2">(</span> ProjectileFactory::getProjectile<span class="k2">(</span>VULCAN, <span class="n">315</span>, hostile<span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">41</td><td>                </td></tr><tr><td class="number">42</td><td>                pfPoolSize<span class="k3">=</span> ProjectileFactory::projectilePool.size<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">43</td><td>                </td></tr><tr><td class="number">44</td><td>                ProjectileFactory::projectilePool<span class="k2">[</span>pfPoolSize <span class="k3">-</span> <span class="n">1</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>move<span class="k2">(</span>x, y <span class="k3">-</span> <span class="n">10</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">45</td><td>                ProjectileFactory::projectilePool<span class="k2">[</span>pfPoolSize <span class="k3">-</span> <span class="n">2</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>move<span class="k2">(</span>x <span class="k3">+</span> <span class="n">10</span>, y<span class="k2">)</span><span class="k2">;</span>                </td></tr><tr><td class="number">46</td><td>                ProjectileFactory::projectilePool<span class="k2">[</span>pfPoolSize <span class="k3">-</span> <span class="n">3</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>move<span class="k2">(</span>x <span class="k3">+</span> <span class="n">10</span>, y <span class="k3">+</span> <span class="n">10</span><span class="k2">)</span><span class="k2">;</span>            </td></tr><tr><td class="number">47</td><td>                ProjectileFactory::projectilePool<span class="k2">[</span>pfPoolSize <span class="k3">-</span> <span class="n">4</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>move<span class="k2">(</span>x, y <span class="k3">+</span> <span class="n">20</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">48</td><td>                </td></tr><tr><td class="number">49</td><td>                waitCount <span class="k3">=</span> fireRate<span class="k2">;</span></td></tr><tr><td class="number">50</td><td>                </td></tr><tr><td class="number">51</td><td>                <a href="http://www.allegro.cc/manual/play_sample" target="_blank"><span class="a">play_sample</span></a><span class="k2">(</span> SoundManager::getSample<span class="k2">(</span>VULCAN_GUN_FIRE_SFX<span class="k2">)</span>, <span class="n">255</span>, <span class="n">0</span>, <span class="n">2000</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">52</td><td>                <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">53</td><td>            default:</td></tr><tr><td class="number">54</td><td>                <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">55</td><td>        <span class="k2">}</span></td></tr></tbody></table></div></div><p>


Are the codes you posted meant to go around in circles? Thanks!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (armond)</author>
		<pubDate>Thu, 01 Mar 2007 14:22:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Ceagon Xylas said:</div><div class="quote"><p>

</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span><span class="k2">(</span>player.fire<span class="k2">)</span> <span class="k2">{</span>
  <span class="k1">if</span><span class="k2">(</span>player.direction<span class="k3">=</span><span class="k3">=</span>LEFT<span class="k2">)</span>
    currentWeapon-&gt;fire<span class="k2">(</span><span class="n">3</span>.<span class="n">14</span>,<span class="n">90</span><span class="k2">)</span><span class="k2">;</span>
  <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>player.direction<span class="k3">=</span><span class="k3">=</span>RIGHT<span class="k2">)</span>
    currentWeapon-&gt;fire<span class="k2">(</span><span class="n">0</span>,<span class="n">90</span><span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>
</p></div></div><p>
3.14 is <b>so</b> inaccurate...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CursedTyrant)</author>
		<pubDate>Thu, 01 Mar 2007 22:43:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span><span class="k2">(</span>player.fire<span class="k2">)</span> <span class="k2">{</span>
  <span class="k1">if</span><span class="k2">(</span>player.direction<span class="k3">=</span><span class="k3">=</span>LEFT<span class="k2">)</span>
    currentWeapon-&gt;fire<span class="k2">(</span>M_PI,<span class="n">90</span><span class="k2">)</span><span class="k2">;</span>
  <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>player.direction<span class="k3">=</span><span class="k3">=</span>RIGHT<span class="k2">)</span>
    currentWeapon-&gt;fire<span class="k2">(</span><span class="n">0</span>,<span class="n">90</span><span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>
Better? <img src="http://www.allegro.cc/forums/smileys/kiss.gif" alt=":-*" /></p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
When I use the while version posted by Ceagon Xylas, some of the bullets go straight and some would circle around before going straight.
</p></div></div><p>
Could you possibly attatch a compiled version that uses the code I posted? (So I can see what you mean)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Ceagon Xylas)</author>
		<pubDate>Fri, 02 Mar 2007 02:33:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ceagon Xylas</p><p>Sorry but I can&#39;t seem to repeat the screnario after having tweaking my code. Instead, please allow me to thank you guys by showing the effect I really wanted to have. I still don&#39;t use the real angles that I should be using but I will take a look into this thread from time to time to improve my code. Thank you guys! <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" /></p><p>Please see attachment to see my progress in my game.</p><p>At the title screen:<br />Controls: UP, DOWN</p><p>1 = Quit Game<br />2 = Play</p><p>In Game:<br />Controls: W, A, S, D for moment and K to shoot</p><p>There is no ending for the game yet... And the first level is still very much under construction.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (armond)</author>
		<pubDate>Sat, 03 Mar 2007 13:48:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Works great for me. Good luck!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Ceagon Xylas)</author>
		<pubDate>Sat, 03 Mar 2007 14:37:12 +0000</pubDate>
	</item>
</rss>
