<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Circles followng player</title>
		<link>http://www.allegro.cc/forums/view/617766</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Wed, 06 Mar 2019 18:41:36 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>So basically I made 2 characters. one is my player and another one is An AI.<br />If I press A my character fires up the circle. I used the same method for the AI but basically the circle is staying on his body and not moving even though I did this </p><p>```		if (fireballFollow2)<br />		{<br />			cY2 = Y2; // set position of circle to player&#39;s Y<br />			cX2 = X2; // set position of circle to player&#39;s X<br />			cY2 += 50; // move the circle from player&#39;s Y<br />			cX2 += 50; // move the circle from player&#39;s X<br />			fireballFollow2 = false;<br />		}```
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Sadako)</author>
		<pubDate>Tue, 05 Mar 2019 17:20:14 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Is that the exact code from your game? Because if you hand typed it, you may have missed a typo that is the source of the bug. Like if you did if(fireballfollow2 = true){} you&#39;re setting it true every time and setting it to player x/y every time, and then adding +50 so it&#39;s always player_x + 50 and player_y + 50.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Chris Katko)</author>
		<pubDate>Tue, 05 Mar 2019 18:00:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I think it&#39;s because the block of code you have on lines 107..140 (which I believe is intended to reset the position of player 2&#39;s fireball) gets called every timer tick, instead of just when player 2 is going to fire. Hence the fireball never gets anywhere.</p><p>Also, do you know about <span class="source-code"><span class="k1">switch</span></span>?</p><p>Hope that helps.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Hull)</author>
		<pubDate>Tue, 05 Mar 2019 19:33:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Welcome to a.cc and hello. <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" /></p><p>Did you know that an enum is another data type? You can declare variables of enum type.</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">enum</span> DIRECTION <span class="k2">{</span>
<span class="number">  2</span>   DIR_NONE <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span>,
<span class="number">  3</span>   DIR_NORTH <span class="k3">=</span> <span class="n">0</span>,
<span class="number">  4</span>   DIR_EAST  <span class="k3">=</span> <span class="n">1</span>,
<span class="number">  5</span>   DIR_SOUTH <span class="k3">=</span> <span class="n">2</span>,
<span class="number">  6</span>   DIR_WEST  <span class="k3">=</span> <span class="n">3</span>
<span class="number">  7</span><span class="k2">}</span><span class="k2">;</span>
<span class="number">  8</span>
<span class="number">  9</span>DIRECTION playerdir <span class="k3">=</span> DIR_NORTH<span class="k2">;</span>
<span class="number"> 10</span>
<span class="number"> 11</span><span class="k1">int</span><span class="k3">*</span> playery <span class="k3">=</span> <span class="k3">&amp;</span>py1<span class="k2">;</span>
<span class="number"> 12</span><span class="k1">int</span><span class="k3">*</span> playerx <span class="k3">=</span> <span class="k3">&amp;</span>px1<span class="k2">;</span>
<span class="number"> 13</span>
<span class="number"> 14</span><span class="k1">if</span> <span class="k2">(</span>playerdir <span class="k3">!</span><span class="k3">=</span> DIR_NONE<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 15</span>   <span class="k1">if</span> <span class="k2">(</span>playerdir % <span class="n">2</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 16</span>      <span class="c">// NS</span>
<span class="number"> 17</span>      <span class="k3">*</span>playery <span class="k3">+</span><span class="k3">=</span> yspeed<span class="k3">*</span><span class="k2">(</span>playerdir <span class="k3">=</span><span class="k3">=</span> DIR_NORTH<span class="k2">)</span>?<span class="k3">-</span><span class="n">1</span><span class="k2">:</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 18</span>   <span class="k2">}</span>
<span class="number"> 19</span>   <span class="k1">else</span> <span class="k2">{</span>
<span class="number"> 20</span>      <span class="c">// EW</span>
<span class="number"> 21</span>      <span class="k3">*</span>playerx <span class="k3">+</span><span class="k3">=</span> xspeed<span class="k3">*</span><span class="k2">(</span>playerdir <span class="k3">=</span><span class="k3">=</span> DIR_EAST<span class="k2">)</span>?<span class="n">1</span><span class="k2">:</span><span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 22</span>   <span class="k2">}</span>
<span class="number"> 23</span><span class="k2">}</span>
</div></div><p>

See how simple your code can be? Look into using pointers and arrays and bit flags.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Tue, 05 Mar 2019 20:44:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Also please don&#39;t make 2 topics with the same title. Life is confusing enough without this.<br />Pete
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Hull)</author>
		<pubDate>Wed, 06 Mar 2019 01:56:33 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>So I&#39;ve fixed the code like u guys said however so on &quot;level 2&quot; of game when I pressed enter the player2 is only firing circle on left side when it should fire 2 circle at the same time. Left and Right
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Sadako)</author>
		<pubDate>Wed, 06 Mar 2019 09:26:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>OK this is just advice so don&#39;t take it the wrong way. I looked at the code and I found it hard to follow. I think it will become unmanageable as your game gets more complex. Without adding any more language features just now (structs and whatever will help in the future..), try to identify all the &#39;things&#39; in the program and what variables each one needs. Then group these together and name them consistently.<br />Then look at everything that needs to happen and group those into sections in the main loop with comments to explain what is happening.<br />Then, I think, you will find it easier to see the patterns and where the code does not match your intention.<br />For example, I&#39;d say you have two players and two (later three) fireballs - so put the variables for each one of those together. And, in terms of actions, you&#39;ve got things like &#39;Process input&#39;, &#39;check if on screen&#39;, &#39;move player&#39;, &#39;move fireballs&#39; and so on.</p><p>In practical terms I noticed that when <span class="source-code">destroyBG</span> gets set to <span class="source-code"><span class="k1">true</span></span> it never gets set back to <span class="source-code"><span class="k1">false</span></span> and the code reloads the &#39;bg2.png&#39; bitmap every cycle which looks wrong to me.</p><p>Also, you can start a new topic every time you have a new question, or continue on the old one but don&#39;t do both!</p><p>[edit] Line 367-389, this doesn&#39;t look right;
</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">if</span> <span class="k2">(</span>fireballUpLV2<span class="k2">)</span>
<span class="number">  2</span>        <span class="k2">{</span>
<span class="number">  3</span>          <a href="http://www.allegro.cc/manual/al_draw_circle"><span class="a">al_draw_circle</span></a><span class="k2">(</span>cX3, cY3, <span class="n">20</span>, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">200</span>, <span class="n">200</span>, <span class="n">50</span><span class="k2">)</span>, <span class="n">5</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  4</span>          cY3 <span class="k3">-</span><span class="k3">=</span> speed <span class="k3">+</span> <span class="n">5</span><span class="k2">;</span>
<span class="number">  5</span>
<span class="number">  6</span>        <span class="k2">}</span>
<span class="number">  7</span>        <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>fireballDownLV2<span class="k2">)</span>
<span class="number">  8</span>        <span class="k2">{</span>
<span class="number">  9</span>          <a href="http://www.allegro.cc/manual/al_draw_circle"><span class="a">al_draw_circle</span></a><span class="k2">(</span>cX3, cY3, <span class="n">20</span>, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">200</span>, <span class="n">200</span>, <span class="n">50</span><span class="k2">)</span>, <span class="n">5</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 10</span>          cY3 <span class="k3">+</span><span class="k3">=</span> speed <span class="k3">+</span> <span class="n">5</span><span class="k2">;</span>
<span class="number"> 11</span>
<span class="number"> 12</span>        <span class="k2">}</span>
<span class="number"> 13</span>         <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>fireballLeftLV2<span class="k2">)</span>
<span class="number"> 14</span>        <span class="k2">{</span>
<span class="number"> 15</span>          <a href="http://www.allegro.cc/manual/al_draw_circle"><span class="a">al_draw_circle</span></a><span class="k2">(</span>cX3, cY3, <span class="n">20</span>, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">200</span>, <span class="n">200</span>, <span class="n">50</span><span class="k2">)</span>, <span class="n">5</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 16</span>          cX3 <span class="k3">-</span><span class="k3">=</span> speed <span class="k3">+</span> <span class="n">5</span><span class="k2">;</span>
<span class="number"> 17</span>
<span class="number"> 18</span>        <span class="k2">}</span>
<span class="number"> 19</span>         <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>fireballRight2<span class="k2">)</span>
<span class="number"> 20</span>        <span class="k2">{</span>
<span class="number"> 21</span>          <a href="http://www.allegro.cc/manual/al_draw_circle"><span class="a">al_draw_circle</span></a><span class="k2">(</span>cX3, cY3, <span class="n">20</span>, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">200</span>, <span class="n">200</span>, <span class="n">50</span><span class="k2">)</span>, <span class="n">5</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 22</span>          cX3 <span class="k3">+</span><span class="k3">=</span> speed <span class="k3">+</span> <span class="n">5</span><span class="k2">;</span>
<span class="number"> 23</span>        <span class="k2">}</span>
</div></div><p>
<span class="source-code">fireballRight2</span> should be <span class="source-code">fireballRightLV2</span> ? This is what I mean about &#39;patterns&#39;
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Hull)</author>
		<pubDate>Wed, 06 Mar 2019 18:41:36 +0000</pubDate>
	</item>
</rss>
