<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Funky player logic.</title>
		<link>http://www.allegro.cc/forums/view/591299</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sat, 12 May 2007 05:09:53 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It&#39;s not much, but I was curious if this looks okay.  It&#39;s basically for your typical hack and slash type game.</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">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_A<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">2</td><td>    player-&gt;attack_mode<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td>  <span class="k1">if</span> <span class="k2">(</span>player-&gt;attack_mode<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">5</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">6</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_W<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">7</td><td>      player-&gt;is_defending<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>    </td></tr><tr><td class="number">9</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_E<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">10</td><td>      player-&gt;is_attacking<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>    <span class="k1">if</span> <span class="k2">(</span>player-&gt;is_walking<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="c">// which i guess will draw different frames for when the player is walking/idling in attack mode</span></td></tr><tr><td class="number">13</td><td>      <span class="c">// do something</span></td></tr><tr><td class="number">14</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">15</td><td>  </td></tr><tr><td class="number">16</td><td>  <span class="k1">else</span></td></tr><tr><td class="number">17</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_W<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">18</td><td>      player-&gt;says<span class="k2">(</span><span class="s">"I can't do that."</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// should i be doing this here or inside the is_defending/is_attacking functions?</span></td></tr><tr><td class="number">19</td><td>    </td></tr><tr><td class="number">20</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_E<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">21</td><td>      player-&gt;says<span class="k2">(</span><span class="s">"I can't do that."</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>&#160;</td></tr><tr><td class="number">23</td><td>    <span class="k1">if</span> <span class="k2">(</span>player-&gt;is_walking<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">24</td><td>      <span class="c">// do something</span></td></tr></tbody></table></div></div><p>

Also, how can I make toggleable buttons?  Since I assume that key[KEY_A] (the key to switch attack mode on and off) will need to be toggleable.  Right now if you press it, it would probably just turn attack mode on indefinitely.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (julian_boolean)</author>
		<pubDate>Mon, 07 May 2007 05:24:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>For toggling, try:</p><div class="source-code snippet"><div class="inner"><pre><span class="c">//in loop or descision-making function</span>
<span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_A<span class="k2">]</span><span class="k2">)</span>
     player-&gt;toggle_attack_mode<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>

<span class="c">//in toggle attack mode funtion</span>
player-&gt;attack_mode <span class="k3">=</span> <span class="k3">!</span>player-&gt;attack_mode<span class="k2">;</span>
</pre></div></div><p>

However, you should probably set some kind of delay, so it only toggles once every, say 500 ms.</p><p>I&#39;m not an expert so I won&#39;t reccomend where things should go. (I don&#39;t know myself)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (aadfo824)</author>
		<pubDate>Mon, 07 May 2007 07:43:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>this is a little better.</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">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_A<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">2</td><td>    player-&gt;attack_mode<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td>  <span class="k1">if</span> <span class="k2">(</span>player-&gt;attack_mode<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">5</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">6</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_W<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">7</td><td>      player-&gt;is_defending<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>    </td></tr><tr><td class="number">9</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_E<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">10</td><td>      player-&gt;is_attacking<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>    <span class="k1">if</span> <span class="k2">(</span>player-&gt;is_walking<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="c">// which i guess will draw different frames for when the player is walking/idling in attack mode</span></td></tr><tr><td class="number">13</td><td>      <span class="c">// do something</span></td></tr><tr><td class="number">14</td><td>player-&gt;attack_mode<span class="k2">(</span><span class="k1">false</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">16</td><td>  </td></tr><tr><td class="number">17</td><td>  <span class="k1">else</span></td></tr><tr><td class="number">18</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_W<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">19</td><td>      player-&gt;says<span class="k2">(</span><span class="s">"I can't do that."</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// should i be doing this here or inside the is_defending/is_attacking functions?</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><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_E<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">22</td><td>      player-&gt;says<span class="k2">(</span><span class="s">"I can't do that."</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>&#160;</td></tr><tr><td class="number">24</td><td>    <span class="k1">if</span> <span class="k2">(</span>player-&gt;is_walking<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (piccolo)</author>
		<pubDate>Mon, 07 May 2007 08:27:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>aadfo824:</p><p>cPlayer* player;</p><p>How would the cPlayer class know what the instance &quot;player&quot; is when it&#39;s being declared in a different class?</p><p>this.toggle_attack_mode() = !this.toggle_attack_mode(); <img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" /> Yes, no?</p><p>piccolo:</p><p>By putting player-&gt;attack_mode(false) inside &quot;if (player-&gt;attack_mode(true))&quot;, wouldn&#39;t that automatically turn it to false as soon as it becomes true?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (julian_boolean)</author>
		<pubDate>Mon, 07 May 2007 21:46:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>so your saying that these are just animations and not logic functions?</p><p>if (key[KEY_W])<br />			player-&gt;is_defending();<br />		<br />		if (key[KEY_E])<br />			player-&gt;is_attacking();<br />			<br />		if (player-&gt;is_walking()) // which i guess will draw different frames for when the player is walking/idling in attack mode<br />			// do somethin
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (piccolo)</author>
		<pubDate>Mon, 07 May 2007 22:51:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>To tell you the truth I have no idea what I&#39;m doing.  Here&#39;s some different stuff.</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> cPlayer::draw<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>buffer<span class="k2">)</span></td></tr><tr><td class="number">2</td><td><span class="k2">{</span></td></tr><tr><td class="number">3</td><td>  <span class="k1">switch</span> <span class="k2">(</span>pose<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">case</span> IDLE:</td></tr><tr><td class="number">6</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">7</td><td>      <span class="c">// do the idle animation</span></td></tr><tr><td class="number">8</td><td>      <span class="c">// use "direction" to determine which way the player is facing</span></td></tr><tr><td class="number">9</td><td>    <span class="k2">}</span><span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>&#160;</td></tr><tr><td class="number">11</td><td>    <span class="k1">case</span> WALK:</td></tr><tr><td class="number">12</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">13</td><td>      <span class="c">// do the walk animation</span></td></tr><tr><td class="number">14</td><td>      <span class="c">// use "direction" to determine which way the player is facing</span></td></tr><tr><td class="number">15</td><td>    <span class="k2">}</span><span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>&#160;</td></tr><tr><td class="number">17</td><td>    <span class="k1">case</span> ATTACK:</td></tr><tr><td class="number">18</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">19</td><td>      <span class="c">// do the attack animation based on what weapon the player is wielding</span></td></tr><tr><td class="number">20</td><td>      <span class="c">// use "direction" to determine which way the player is facing</span></td></tr><tr><td class="number">21</td><td>    <span class="k2">}</span><span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>         </td></tr><tr><td class="number">23</td><td>    <span class="k1">case</span> DEFEND:</td></tr><tr><td class="number">24</td><td>     <span class="k2">{</span></td></tr><tr><td class="number">25</td><td>      <span class="c">// do the defend animation</span></td></tr><tr><td class="number">26</td><td>      <span class="c">// use "direction" to determine which way the player is facing</span></td></tr><tr><td class="number">27</td><td>    <span class="k2">}</span><span class="k1">break</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><span class="k2">}</span></td></tr><tr><td class="number">30</td><td>&#160;</td></tr><tr><td class="number">31</td><td><span class="k1">void</span> cPlayer::is_attacking<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">32</td><td><span class="k2">{</span></td></tr><tr><td class="number">33</td><td>  pose <span class="k3">=</span><span class="k3">=</span> ATTACK<span class="k2">;</span></td></tr><tr><td class="number">34</td><td>&#160;</td></tr><tr><td class="number">35</td><td>  <span class="k1">if</span> <span class="k2">(</span>enemy_is_in_scope<span class="k2">)</span></td></tr><tr><td class="number">36</td><td>    <span class="c">// engage it</span></td></tr><tr><td class="number">37</td><td><span class="k2">}</span></td></tr><tr><td class="number">38</td><td>&#160;</td></tr><tr><td class="number">39</td><td><span class="k1">void</span> cPlayer::is_walking<span class="k2">(</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">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">42</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">43</td><td>    direction <span class="k3">=</span><span class="k3">=</span> NORTH<span class="k2">;</span></td></tr><tr><td class="number">44</td><td>&#160;</td></tr><tr><td class="number">45</td><td>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>collide<span class="k2">)</span></td></tr><tr><td class="number">46</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">47</td><td>      pose <span class="k3">=</span><span class="k3">=</span> WALK<span class="k2">;</span></td></tr><tr><td class="number">48</td><td>      y <span class="k3">-</span><span class="k3">=</span> MOVE_SPEED<span class="k2">;</span></td></tr><tr><td class="number">49</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">50</td><td>    </td></tr><tr><td class="number">51</td><td>    <span class="k1">else</span></td></tr><tr><td class="number">52</td><td>      pose <span class="k3">=</span><span class="k3">=</span> IDLE<span class="k2">;</span></td></tr><tr><td class="number">53</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">54</td><td>&#160;</td></tr><tr><td class="number">55</td><td>  ...</td></tr><tr><td class="number">56</td><td>&#160;</td></tr><tr><td class="number">57</td><td>  ...</td></tr><tr><td class="number">58</td><td>&#160;</td></tr><tr><td class="number">59</td><td>  ...</td></tr><tr><td class="number">60</td><td>&#160;</td></tr><tr><td class="number">61</td><td>  <span class="k1">else</span></td></tr><tr><td class="number">62</td><td>    pose <span class="k3">=</span><span class="k3">=</span> IDLE<span class="k2">;</span></td></tr><tr><td class="number">63</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (julian_boolean)</author>
		<pubDate>Mon, 07 May 2007 23:15:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>ok its a Zelda style game right?</p><p>so just let those be logic functions let the logic functions toggle a globe variable<br />named pose. every think looks good. your draw is going to need a little more to it though. i would sagest to get the idle and walk working first.</p><p>use the case statement to setup refence to a sprite sheet. then use someingthing to flip the frames each program loop.</p><p>i have a MMRPG in the depot take a look at it in going to update in right now. may 07 2007.<br />edit:<a href="http://www.allegro.cc/depot/Thegame/">http://www.allegro.cc/depot/Thegame/</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (piccolo)</author>
		<pubDate>Mon, 07 May 2007 23:29:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The whole looping through a sprite sheet (assuming that each sheet would contain the base model of a character&#39;s every direction and action, like walking left, attacking left, etc) is what I&#39;m not even remotely sure how to do, especially when trying to incorporate direction into it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (julian_boolean)</author>
		<pubDate>Mon, 07 May 2007 23:34:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>ok my game source is updated. before you look at my game to to this site this is the best allegro game site in the world. </p><p><a href="http://agdn.netfirms.com/main/">http://agdn.netfirms.com/main/</a><br />then got to Examples &amp; Misc Downloads</p><p>witch will put you here <a href="http://danielh7.tripod.com/main/">http://danielh7.tripod.com/main/</a><br />then down load lessons 1-7 this is where a lot of people on allegro started. it goes  step by step though all that good stuff that makes up a game using just allegro no additional libs.</p><p>edit: i would love to help keep this site updated.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (piccolo)</author>
		<pubDate>Mon, 07 May 2007 23:46:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks a bunch. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> This seems to be really helpful for the most part: <a href="http://agdn.netfirms.com/main/html/zelda.htm">http://agdn.netfirms.com/main/html/zelda.htm</a></p><p>What the hell is up with this though?</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">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">2</td><td>            <span class="k2">{</span></td></tr><tr><td class="number">3</td><td>                player.move<span class="k2">(</span>UP<span class="k2">)</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">else</span></td></tr><tr><td class="number">6</td><td>            <span class="k2">{</span></td></tr><tr><td class="number">7</td><td>                <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_DOWN<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">8</td><td>                <span class="k2">{</span></td></tr><tr><td class="number">9</td><td>                    player.move<span class="k2">(</span>DOWN<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>                <span class="k2">}</span></td></tr><tr><td class="number">11</td><td>                <span class="k1">else</span></td></tr><tr><td class="number">12</td><td>                <span class="k2">{</span></td></tr><tr><td class="number">13</td><td>                    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">14</td><td>                    <span class="k2">{</span></td></tr><tr><td class="number">15</td><td>                        player.move<span class="k2">(</span>LEFT<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>                    <span class="k2">}</span></td></tr><tr><td class="number">17</td><td>                    <span class="k1">else</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">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">20</td><td>                        <span class="k2">{</span></td></tr><tr><td class="number">21</td><td>                            player.move<span class="k2">(</span>RIGHT<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>                        <span class="k2">}</span></td></tr><tr><td class="number">23</td><td>                    <span class="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>

Why not this?</p><div class="source-code snippet"><div class="inner"><pre>  <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span><span class="k2">)</span>
    player.move<span class="k2">(</span>UP<span class="k2">)</span><span class="k2">;</span>

  <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_DOWN<span class="k2">]</span><span class="k2">)</span>
    player.move<span class="k2">(</span>DOWN<span class="k2">)</span><span class="k2">;</span>

  <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span>
    player.move<span class="k2">(</span>LEFT<span class="k2">)</span><span class="k2">;</span>

  <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span><span class="k2">)</span>
    player.move<span class="k2">(</span>RIGHT<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (julian_boolean)</author>
		<pubDate>Tue, 08 May 2007 00:55:14 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>its easyer to read and understand for new programmers </p><p>example num1 = num1 + num2;</p><p>num1+=num2;</p><p>the first one is easer to understand.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (piccolo)</author>
		<pubDate>Tue, 08 May 2007 02:59:02 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Fair enough.</p><p>Hows this look?!</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">if</span> <span class="k2">(</span>player-&gt;is_alive<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="c">// or something</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><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">4</td><td>      player-&gt;move<span class="k2">(</span>NORTHWEST<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">5</td><td>&#160;</td></tr><tr><td class="number">6</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">7</td><td>      player-&gt;move<span class="k2">(</span>NORTHEAST<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>&#160;</td></tr><tr><td class="number">9</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_DOWN<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">10</td><td>      player-&gt;move<span class="k2">(</span>SOUTHEAST<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>&#160;</td></tr><tr><td class="number">12</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_DOWN<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">13</td><td>      player-&gt;move<span class="k2">(</span>SOUTHWEST<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>&#160;</td></tr><tr><td class="number">15</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">16</td><td>      player-&gt;move<span class="k2">(</span>NORTH<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>&#160;</td></tr><tr><td class="number">18</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">19</td><td>      player-&gt;move<span class="k2">(</span>EAST<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>&#160;</td></tr><tr><td class="number">21</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_DOWN<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">22</td><td>      player-&gt;move<span class="k2">(</span>SOUTH<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>&#160;</td></tr><tr><td class="number">24</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">25</td><td>      player-&gt;move<span class="k2">(</span>WEST<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>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_A<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>      player-&gt;attack_mode<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">30</td><td>    </td></tr><tr><td class="number">31</td><td>      <span class="k1">if</span> <span class="k2">(</span>player-&gt;attack_mode<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">32</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">33</td><td>        <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_W<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">34</td><td>          <span class="k1">if</span><span class="k2">(</span>S_shld-&gt;is_occupied<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="c">// shield slot</span></td></tr><tr><td class="number">35</td><td>            player-&gt;is_defending<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">36</td><td>    </td></tr><tr><td class="number">37</td><td>        <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_E<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">38</td><td>          player-&gt;is_attacking<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">39</td><td>      <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="k2">}</span></td></tr></tbody></table></div></div><p>

In my eyes, it looks like a whole lot of if statements..  I mean this would all be inside the main logic function (for in-game anyway) and there&#39;s still an assload of more stuff that needs to go into it, but is it fine?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (julian_boolean)</author>
		<pubDate>Tue, 08 May 2007 05:47:30 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>its ok for a base i guess
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (piccolo)</author>
		<pubDate>Tue, 08 May 2007 10:45:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><a href="http://agdn.netfirms.com/main/html/zelda.htm">http://agdn.netfirms.com/main/html/zelda.htm</a></p><p>Could someone explain this:</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">void</span> Player::draw<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>bmp<span class="k2">)</span>
<span class="k2">{</span>
    <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span>buffer,<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>data<span class="k2">[</span>GUY000<span class="k3">+</span>frame<span class="k2">]</span>.dat,x_pos,y_pos<span class="k3">+</span><span class="n">48</span><span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>

And this:</p><div class="source-code snippet"><div class="inner"><pre>    <span class="k1">if</span> <span class="k2">(</span>dir<span class="k3">=</span><span class="k3">=</span>LEFT<span class="k2">)</span>
    <span class="k2">{</span>
        x_pos-<span class="k3">=</span><span class="n">4</span><span class="k2">;</span>
        <span class="k1">if</span> <span class="k2">(</span>frame<span class="k3">&lt;</span><span class="n">4</span> <span class="k3">|</span><span class="k3">|</span> frame&gt;5<span class="k2">)</span> frame<span class="k3">=</span><span class="n">4</span><span class="k2">;</span>
        <span class="k1">if</span> <span class="k2">(</span>x_pos<span class="k3">&lt;</span><span class="n">0</span><span class="k2">)</span>
        <span class="k2">{</span>
            x_pos<span class="k3">=</span><span class="k2">(</span>GRID_X-1<span class="k2">)</span><span class="k3">*</span>TILESIZE<span class="k2">;</span>
            map.scroll<span class="k2">(</span>LEFT<span class="k2">)</span><span class="k2">;</span>
            screen_x--<span class="k2">;</span>
            map.getGrid<span class="k2">(</span>room,screen_x,screen_y<span class="k2">)</span><span class="k2">;</span>
        <span class="k2">}</span>
</pre></div></div><p>

Is he using seperate bitmaps from the datafile, or sheets?  I want to use sheets.  And how is he going through the frames to make the animation?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (julian_boolean)</author>
		<pubDate>Thu, 10 May 2007 03:06:58 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
player-&gt;attack_mode(true);<br />if (player-&gt;attack_mode(true))<br />{<br />// ...
</p></div></div><p>
That&#39;s a little redundant.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Jonny Cook)</author>
		<pubDate>Sat, 12 May 2007 05:09:53 +0000</pubDate>
	</item>
</rss>
