<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Enemies disappear with out any collision</title>
		<link>http://www.allegro.cc/forums/view/612123</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Thu, 28 Feb 2013 11:28:35 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>So I just added two enemies <i>moving on the same platform </i> and when I shoot one, after several seconds the other one disappears with out it hitting anything and vice versa. I know that it is something to do with the collision because I didn&#39;t draw the one of the enemies, I shot one and I didn&#39;t die when stood on the platform for a while. But I can&#39;t see what is wrong with it. Especially as the other enemies work fine (Removed some irrelevant code). 
</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">//Prototpyes</span>
<span class="number">   2</span><span class="k1">void</span> initPlayer<span class="k2">(</span>Player <span class="k3">&amp;</span>player<span class="k2">)</span><span class="k2">;</span>
<span class="number">   3</span>
<span class="number">   4</span>
<span class="number">   5</span><span class="k1">void</span> initEnemy<span class="k2">(</span>Enemy <span class="k3">&amp;</span>enemy, <span class="k1">int</span> x, <span class="k1">int</span> y<span class="k2">)</span><span class="k2">;</span>
<span class="number">   6</span><span class="k1">void</span> drawEnemy<span class="k2">(</span>Enemy <span class="k3">&amp;</span>enemy, <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>image<span class="k2">)</span><span class="k2">;</span>
<span class="number">   7</span><span class="k1">void</span> updateEnemy<span class="k2">(</span>Enemy <span class="k3">&amp;</span>enemy, <span class="k1">int</span> posX, <span class="k1">int</span> posX2<span class="k2">)</span><span class="k2">;</span>
<span class="number">   8</span><span class="k1">bool</span> collideArrow<span class="k2">(</span>Enemy <span class="k3">&amp;</span>enemy, Arrow <span class="k3">&amp;</span>arrow<span class="k2">)</span><span class="k2">;</span>
<span class="number">   9</span>
<span class="number">  10</span><span class="k1">void</span> initCoin<span class="k2">(</span>Coin <span class="k3">&amp;</span>coin, <span class="k1">int</span> x, <span class="k1">int</span> y<span class="k2">)</span><span class="k2">;</span>
<span class="number">  11</span><span class="k1">void</span> drawCoin<span class="k2">(</span>Coin <span class="k3">&amp;</span>coin, <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>image<span class="k2">)</span><span class="k2">;</span>
<span class="number">  12</span><span class="k1">bool</span> coinCollide<span class="k2">(</span>Coin <span class="k3">&amp;</span>coin,Player <span class="k3">&amp;</span>player ,<span class="k1">int</span> cX, <span class="k1">int</span> cY, <span class="k1">int</span> cWidth, <span class="k1">int</span> cHeight, <span class="k1">int</span> pWidth, <span class="k1">int</span> pHeight, <span class="k1">bool</span> live, <span class="k1">int</span> coinCount<span class="k2">)</span><span class="k2">;</span>
<span class="number">  13</span>
<span class="number">  14</span><span class="k1">void</span> initArrow<span class="k2">(</span>Arrow <span class="k3">&amp;</span>arrow<span class="k2">)</span><span class="k2">;</span>
<span class="number">  15</span><span class="k1">void</span> drawArrow<span class="k2">(</span>Arrow <span class="k3">&amp;</span>arrow, <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>image, <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>image2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  16</span><span class="k1">void</span> fireArrow<span class="k2">(</span>Arrow <span class="k3">&amp;</span>arrow, Player <span class="k3">&amp;</span>player, <a href="http://www.allegro.cc/manual/ALLEGRO_SAMPLE"><span class="a">ALLEGRO_SAMPLE</span></a> <span class="k3">*</span>bowShot<span class="k2">)</span><span class="k2">;</span>
<span class="number">  17</span><span class="k1">void</span> updateArrow<span class="k2">(</span>Arrow <span class="k3">&amp;</span>arrow<span class="k2">)</span><span class="k2">;</span>
<span class="number">  18</span>
<span class="number">  19</span><span class="k1">void</span> initKey<span class="k2">(</span>Key <span class="k3">&amp;</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  20</span><span class="k1">void</span> drawKey<span class="k2">(</span>Key <span class="k3">&amp;</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a>, <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>image<span class="k2">)</span><span class="k2">;</span>
<span class="number">  21</span>
<span class="number">  22</span><span class="k1">bool</span> collision<span class="k2">(</span>Player <span class="k3">&amp;</span>player, <span class="k1">int</span> ex, <span class="k1">int</span> ey, <span class="k1">int</span> eWidth, <span class="k1">int</span> eHeight, <span class="k1">int</span> pWidth, <span class="k1">int</span> pHeight<span class="k2">)</span><span class="k2">;</span>
<span class="number">  23</span>
<span class="number">  24</span><span class="k1">void</span> cameraUpdate<span class="k2">(</span><span class="k1">float</span> <span class="k3">*</span>cameraPosition,Player <span class="k3">&amp;</span>player, <span class="k1">float</span> width, <span class="k1">float</span> height<span class="k2">)</span><span class="k2">;</span>
<span class="number">  25</span>
<span class="number">  26</span><span class="c">//Global Variables</span>
<span class="number">  27</span><span class="k1">enum</span> direction <span class="k2">{</span>LEFT, RIGHT<span class="k2">}</span><span class="k2">;</span>
<span class="number">  28</span><span class="k1">int</span> dir <span class="k3">=</span> LEFT<span class="k2">;</span>
<span class="number">  29</span><span class="k1">const</span> <span class="k1">int</span> NUM_ENEMY <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number">  30</span>
<span class="number">  31</span><span class="k1">bool</span> fired <span class="k3">=</span> <span class="k1">false</span>, firedR <span class="k3">=</span> <span class="k1">false</span>, firedL <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  32</span><span class="k1">bool</span> coinLive <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  33</span><span class="k1">bool</span> left, right <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  34</span><span class="k1">const</span> <span class="k1">float</span> gravity <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  35</span>
<span class="number">  36</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="number">  37</span><span class="k2">{</span>
<span class="number">  38</span>
<span class="number">  39</span>  Player player<span class="k2">;</span>
<span class="number">  40</span>  Enemy enemy<span class="k2">;</span>
<span class="number">  41</span>  Enemy enemy2<span class="k2">;</span>
<span class="number">  42</span>  Enemy enemy3<span class="k2">;</span>
<span class="number">  43</span>  Enemy enemy4<span class="k2">;</span>
<span class="number">  44</span>  Coin coin<span class="k2">;</span>
<span class="number">  45</span>  Coin coin2<span class="k2">;</span>
<span class="number">  46</span>  Arrow arrow<span class="k2">;</span>
<span class="number">  47</span>  Key <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">;</span>
<span class="number">  48</span>  <span class="k1">int</span> groundHeight <span class="k3">=</span> <span class="n">535</span><span class="k2">;</span>
<span class="number">  49</span>  <span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span>, active <span class="k3">=</span> <span class="k1">false</span>, draw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  50</span>  <span class="k1">bool</span> jump <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  51</span>  <span class="k1">bool</span> gotKey <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  52</span>  <span class="k1">int</span> sourceX <span class="k3">=</span> <span class="n">32</span>, sourceY <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  53</span>  <span class="k1">int</span> coinCount <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  54</span>  <span class="k1">const</span> <span class="k1">float</span> FPS <span class="k3">=</span> <span class="n">60</span>.<span class="n">0</span><span class="k2">;</span>
<span class="number">  55</span>  <span class="k1">const</span> <span class="k1">float</span> frameFPS <span class="k3">=</span> <span class="n">15</span>.<span class="n">0</span><span class="k2">;</span>
<span class="number">  56</span>  <span class="k1">float</span> jumpSpeed <span class="k3">=</span> <span class="n">15</span>.<span class="n">0</span><span class="k2">;</span>
<span class="number">  57</span>  <span class="k1">float</span> velX <span class="k3">=</span> <span class="n">0</span>, velY <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  58</span>  
<span class="number">  59</span>  <span class="k1">float</span> cameraPosition<span class="k2">[</span><span class="n">2</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">{</span><span class="n">0</span>,<span class="n">0</span><span class="k2">}</span><span class="k2">;</span>
<span class="number">  60</span>
<span class="number">  61</span>  
<span class="number">  62</span>
<span class="number">  63</span>  <a href="http://www.allegro.cc/manual/al_init_image_addon"><span class="a">al_init_image_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  64</span>  <a href="http://www.allegro.cc/manual/al_init_primitives_addon"><span class="a">al_init_primitives_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  65</span>  <a href="http://www.allegro.cc/manual/al_install_keyboard"><span class="a">al_install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  66</span>  <a href="http://www.allegro.cc/manual/al_init_font_addon"><span class="a">al_init_font_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  67</span>  <a href="http://www.allegro.cc/manual/al_init_ttf_addon"><span class="a">al_init_ttf_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  68</span>  <a href="http://www.allegro.cc/manual/al_install_audio"><span class="a">al_install_audio</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>  <a href="http://www.allegro.cc/manual/al_init_acodec_addon"><span class="a">al_init_acodec_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  70</span>
<span class="number">  71</span>  initPlayer<span class="k2">(</span>player<span class="k2">)</span><span class="k2">;</span>
<span class="number">  72</span>  initEnemy<span class="k2">(</span>enemy, <span class="n">86</span>, <span class="n">391</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  73</span>  initEnemy<span class="k2">(</span>enemy2, <span class="n">1167</span>, <span class="n">333</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  74</span>  initEnemy<span class="k2">(</span>enemy3, <span class="n">378</span>, <span class="n">473</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  75</span>  initEnemy<span class="k2">(</span>enemy4, <span class="n">649</span>, <span class="n">473</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  76</span>  initArrow<span class="k2">(</span>arrow<span class="k2">)</span><span class="k2">;</span>
<span class="number">  77</span>  initCoin<span class="k2">(</span>coin, <span class="n">550</span>, <span class="n">480</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  78</span>  initCoin<span class="k2">(</span>coin2, <span class="n">120</span>, <span class="n">398</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  79</span>  initKey<span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  80</span>
<span class="number">  81</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_KEYBOARD_STATE"><span class="a">ALLEGRO_KEYBOARD_STATE</span></a> keystate<span class="k2">;</span>
<span class="number">  82</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_TRANSFORM"><span class="a">ALLEGRO_TRANSFORM</span></a> camera<span class="k2">;</span>
<span class="number">  83</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_TRANSFORM"><span class="a">ALLEGRO_TRANSFORM</span></a> identity<span class="k2">;</span>
<span class="number">  84</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_SAMPLE"><span class="a">ALLEGRO_SAMPLE</span></a> <span class="k3">*</span>coinCollect <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_sample"><span class="a">al_load_sample</span></a><span class="k2">(</span><span class="s">"Files/coin collect sound.wav"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  85</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_SAMPLE"><span class="a">ALLEGRO_SAMPLE</span></a> <span class="k3">*</span>bowShot <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_sample"><span class="a">al_load_sample</span></a><span class="k2">(</span><span class="s">"Files/bow sound effect.wav"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  86</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_SAMPLE"><span class="a">ALLEGRO_SAMPLE</span></a> <span class="k3">*</span>bgSong <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_sample"><span class="a">al_load_sample</span></a><span class="k2">(</span><span class="s">"Files/Background song 2.wav"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  87</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_SAMPLE"><span class="a">ALLEGRO_SAMPLE</span></a> <span class="k3">*</span>keyCollection <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_sample"><span class="a">al_load_sample</span></a><span class="k2">(</span><span class="s">"Files/key collection.wav"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  88</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_SAMPLE"><span class="a">ALLEGRO_SAMPLE</span></a> <span class="k3">*</span>crocSound <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_sample"><span class="a">al_load_sample</span></a><span class="k2">(</span><span class="s">"Files/Crocodile sound effect.wav"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  89</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_SAMPLE_INSTANCE"><span class="a">ALLEGRO_SAMPLE_INSTANCE</span></a> <span class="k3">*</span>songInstance <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_sample_instance"><span class="a">al_create_sample_instance</span></a><span class="k2">(</span>bgSong<span class="k2">)</span><span class="k2">;</span>
<span class="number">  90</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>enemyImg <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"Files/enemy.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  91</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>background2 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"Files/Background 2.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  92</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>character <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"Files/spritesheet(Bow &amp; left + right).png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  93</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>arrow_r <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"Files/Arrow(RIGHT).png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  94</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>arrow_l <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"Files/Arrow(LEFT).png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  95</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>coinImg <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"Files/coin2.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  96</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>keyImg <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"Files/key.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  97</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>ground <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"Files/Ground.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  98</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_font"><span class="a">al_load_font</span></a><span class="k2">(</span><span class="s">"Files/JUNGBN__.TTF"</span>, <span class="n">23</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  99</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> <span class="k3">*</span>timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span><span class="k3">/</span>FPS<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 100</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> <span class="k3">*</span>frameTimer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span><span class="k3">/</span>frameFPS<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 101</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>event_queue <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 102</span>
<span class="number"> 103</span>  <a href="http://www.allegro.cc/manual/al_reserve_samples"><span class="a">al_reserve_samples</span></a><span class="k2">(</span><span class="n">5</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//Respresents how many audio clips I have in the game</span>
<span class="number"> 104</span>
<span class="number"> 105</span>  <a href="http://www.allegro.cc/manual/al_set_sample_instance_playmode"><span class="a">al_set_sample_instance_playmode</span></a><span class="k2">(</span>songInstance, ALLEGRO_PLAYMODE_LOOP<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 106</span>  <a href="http://www.allegro.cc/manual/al_attach_sample_instance_to_mixer"><span class="a">al_attach_sample_instance_to_mixer</span></a><span class="k2">(</span>songInstance, <a href="http://www.allegro.cc/manual/al_get_default_mixer"><span class="a">al_get_default_mixer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 107</span>  <a href="http://www.allegro.cc/manual/al_set_window_title"><span class="a">al_set_window_title</span></a><span class="k2">(</span>display, <span class="s">"Australian Outback"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 108</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue, <a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 109</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue, <a href="http://www.allegro.cc/manual/al_get_timer_event_source"><span class="a">al_get_timer_event_source</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 110</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue, <a href="http://www.allegro.cc/manual/al_get_timer_event_source"><span class="a">al_get_timer_event_source</span></a><span class="k2">(</span>frameTimer<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 111</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue, <a href="http://www.allegro.cc/manual/al_get_display_event_source"><span class="a">al_get_display_event_source</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 112</span>  
<span class="number"> 113</span>  <a href="http://www.allegro.cc/manual/al_play_sample_instance"><span class="a">al_play_sample_instance</span></a><span class="k2">(</span>songInstance<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 114</span>
<span class="number"> 115</span>  <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 116</span>  <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>frameTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 117</span>  <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span>done<span class="k2">)</span>
<span class="number"> 118</span>  <span class="k2">{</span>
<span class="number"> 119</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number"> 120</span>    <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>event_queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 121</span>    <a href="http://www.allegro.cc/manual/al_get_keyboard_state"><span class="a">al_get_keyboard_state</span></a><span class="k2">(</span><span class="k3">&amp;</span>keystate<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 122</span>      
<span class="number"> 123</span>    <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keystate, ALLEGRO_KEY_ESCAPE<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 124</span>    <span class="k2">{</span>
<span class="number"> 125</span>      done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 126</span>    <span class="k2">}</span>
<span class="number"> 127</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_DISPLAY_CLOSE<span class="k2">)</span>
<span class="number"> 128</span>    <span class="k2">{</span>
<span class="number"> 129</span>      done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 130</span>    <span class="k2">}</span>
<span class="number"> 131</span>    
<span class="number"> 132</span>    
<span class="number"> 133</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_TIMER<span class="k2">)</span>
<span class="number"> 134</span>    <span class="k2">{</span>
<span class="number"> 135</span>      <span class="k1">if</span><span class="k2">(</span>event.timer.source <span class="k3">=</span><span class="k3">=</span> timer<span class="k2">)</span>
<span class="number"> 136</span>      <span class="k2">{</span>
<span class="number"> 137</span>        active <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 138</span>        updateArrow<span class="k2">(</span>arrow<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 139</span>        updateEnemy<span class="k2">(</span>enemy, <span class="n">238</span>, <span class="n">78</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 140</span>        updateEnemy<span class="k2">(</span>enemy2, <span class="n">1236</span>, <span class="n">1167</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 141</span>        updateEnemy<span class="k2">(</span>enemy3, <span class="n">660</span>, <span class="n">378</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 142</span>        updateEnemy<span class="k2">(</span>enemy4, <span class="n">660</span>, <span class="n">378</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 143</span>
<span class="number"> 144</span>        <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keystate, ALLEGRO_KEY_D<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 145</span>        <span class="k2">{</span>
<span class="number"> 146</span>          velX <span class="k3">=</span> player.speed<span class="k2">;</span>
<span class="number"> 147</span>          dir <span class="k3">=</span> RIGHT<span class="k2">;</span>
<span class="number"> 148</span>        
<span class="number"> 149</span>        <span class="k2">}</span>
<span class="number"> 150</span>        <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keystate, ALLEGRO_KEY_A<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 151</span>        <span class="k2">{</span>
<span class="number"> 152</span>          velX <span class="k3">=</span> <span class="k3">-</span>player.speed<span class="k2">;</span>
<span class="number"> 153</span>          dir <span class="k3">=</span> LEFT<span class="k2">;</span>
<span class="number"> 154</span>        <span class="k2">}</span>
<span class="number"> 155</span>        <span class="k1">else</span> 
<span class="number"> 156</span>        <span class="k2">{</span>
<span class="number"> 157</span>          velX <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 158</span>          active <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 159</span>        <span class="k2">}</span>
<span class="number"> 160</span>        <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keystate, ALLEGRO_KEY_W<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> jump<span class="k2">)</span>
<span class="number"> 161</span>        <span class="k2">{</span>
<span class="number"> 162</span>          velY <span class="k3">=</span> <span class="k3">-</span>jumpSpeed<span class="k2">;</span>
<span class="number"> 163</span>          jump <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 164</span>        <span class="k2">}</span>
<span class="number"> 165</span>      <span class="k2">}</span>
<span class="number"> 166</span>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.timer.source <span class="k3">=</span> frameTimer<span class="k2">)</span>
<span class="number"> 167</span>      <span class="k2">{</span>
<span class="number"> 168</span>        <span class="k1">if</span><span class="k2">(</span>active<span class="k2">)</span>
<span class="number"> 169</span>        <span class="k2">{</span>
<span class="number"> 170</span>          sourceX <span class="k3">+</span><span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_bitmap_width"><span class="a">al_get_bitmap_width</span></a><span class="k2">(</span>character<span class="k2">)</span> <span class="k3">/</span> <span class="n">3</span><span class="k2">;</span>
<span class="number"> 171</span>        <span class="k2">}</span>
<span class="number"> 172</span>        <span class="k1">else</span> 
<span class="number"> 173</span>        <span class="k2">{</span>
<span class="number"> 174</span>          sourceX <span class="k3">=</span> <span class="n">32</span><span class="k2">;</span> 
<span class="number"> 175</span>        <span class="k2">}</span>
<span class="number"> 176</span>        <span class="k1">if</span><span class="k2">(</span>sourceX <span class="k3">&gt;</span><span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_bitmap_width"><span class="a">al_get_bitmap_width</span></a><span class="k2">(</span>character<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 177</span>        <span class="k2">{</span>
<span class="number"> 178</span>          sourceX <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 179</span>        <span class="k2">}</span>
<span class="number"> 180</span>          sourceY <span class="k3">=</span> dir<span class="k2">;</span>
<span class="number"> 181</span>  
<span class="number"> 182</span>        
<span class="number"> 183</span>      <span class="k2">}</span>
<span class="number"> 184</span>      
<span class="number"> 185</span>        <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>jump<span class="k2">)</span>
<span class="number"> 186</span>          velY <span class="k3">+</span><span class="k3">=</span> gravity<span class="k2">;</span>
<span class="number"> 187</span>        <span class="k1">else</span>
<span class="number"> 188</span>          velY <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 189</span>          player.x <span class="k3">+</span><span class="k3">=</span> velX<span class="k2">;</span>
<span class="number"> 190</span>          player.y <span class="k3">+</span><span class="k3">=</span> velY<span class="k2">;</span>
<span class="number"> 191</span>      
<span class="number"> 192</span>          jump <span class="k3">=</span> <span class="k2">(</span>player.y <span class="k3">&gt;</span><span class="k3">=</span> groundHeight<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 193</span>
<span class="number"> 194</span>          <span class="k1">if</span><span class="k2">(</span>jump<span class="k2">)</span>
<span class="number"> 195</span>          <span class="k2">{</span>
<span class="number"> 196</span>                player.y <span class="k3">=</span> groundHeight<span class="k2">;</span>
<span class="number"> 197</span>          <span class="k2">}</span>  draw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 198</span>      
<span class="number"> 199</span>
<span class="number"> 200</span>      cameraUpdate<span class="k2">(</span>cameraPosition, player, <span class="n">32</span>, <span class="n">32</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 201</span>      <a href="http://www.allegro.cc/manual/al_identity_transform"><span class="a">al_identity_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>camera<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 202</span>      <a href="http://www.allegro.cc/manual/al_translate_transform"><span class="a">al_translate_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>camera, <span class="k3">-</span>cameraPosition<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>, <span class="k3">-</span>cameraPosition<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 203</span>      <a href="http://www.allegro.cc/manual/al_use_transform"><span class="a">al_use_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>camera<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 204</span>
<span class="number"> 205</span>    <span class="k2">}</span>
<span class="number"> 206</span>    
<span class="number"> 207</span>    <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keystate, ALLEGRO_KEY_SPACE<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 208</span>    <span class="k2">{</span>
<span class="number"> 209</span>      fireArrow<span class="k2">(</span>arrow, player, bowShot<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 210</span>    <span class="k2">}</span>
<span class="number"> 211</span>    <span class="k1">if</span><span class="k2">(</span>collision<span class="k2">(</span>player, enemy.x, enemy.y, enemy.width, enemy.height, <span class="n">32</span>, <span class="n">32</span><span class="k2">)</span><span class="k2">)</span><span class="c">//Player collision with enemy</span>
<span class="number"> 212</span>    <span class="k2">{</span>
<span class="number"> 213</span>      player.x <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number"> 214</span>      player.y <span class="k3">=</span> <span class="n">546</span><span class="k2">;</span>
<span class="number"> 215</span>      <span class="k3">-</span><span class="k3">-</span>player.lives<span class="k2">;</span>
<span class="number"> 216</span>      arrow.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 217</span>      dir <span class="k3">=</span> RIGHT<span class="k2">;</span>
<span class="number"> 218</span>    <span class="k2">}</span>
<span class="number"> 219</span>    <span class="k1">if</span><span class="k2">(</span>collision<span class="k2">(</span>player, enemy2.x, enemy2.y, enemy2.width, enemy2.width, <span class="n">32</span>, <span class="n">32</span><span class="k2">)</span><span class="k2">)</span><span class="c">//Player collision with enemy</span>
<span class="number"> 220</span>    <span class="k2">{</span>
<span class="number"> 221</span>      player.x <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number"> 222</span>      player.y <span class="k3">=</span> <span class="n">546</span><span class="k2">;</span>
<span class="number"> 223</span>      <span class="k3">-</span><span class="k3">-</span>player.lives<span class="k2">;</span>
<span class="number"> 224</span>      arrow.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 225</span>      dir <span class="k3">=</span> RIGHT<span class="k2">;</span>
<span class="number"> 226</span>    <span class="k2">}</span>
<span class="number"> 227</span>    <span class="k1">if</span><span class="k2">(</span>collision<span class="k2">(</span>player, enemy3.x, enemy3.y, enemy3.width, enemy3.width, <span class="n">32</span>, <span class="n">32</span><span class="k2">)</span><span class="k2">)</span><span class="c">//Player collision with enemy</span>
<span class="number"> 228</span>    <span class="k2">{</span>
<span class="number"> 229</span>      player.x <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number"> 230</span>      player.y <span class="k3">=</span> <span class="n">546</span><span class="k2">;</span>
<span class="number"> 231</span>      <span class="k3">-</span><span class="k3">-</span>player.lives<span class="k2">;</span>
<span class="number"> 232</span>      arrow.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 233</span>      dir <span class="k3">=</span> RIGHT<span class="k2">;</span>
<span class="number"> 234</span>    <span class="k2">}</span>
<span class="number"> 235</span>    <span class="k1">if</span><span class="k2">(</span>collision<span class="k2">(</span>player, enemy4.x, enemy4.y, enemy4.width, enemy4.width, <span class="n">32</span>, <span class="n">32</span><span class="k2">)</span><span class="k2">)</span><span class="c">//Player collision with enemy</span>
<span class="number"> 236</span>    <span class="k2">{</span>
<span class="number"> 237</span>      player.x <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number"> 238</span>      player.y <span class="k3">=</span> <span class="n">546</span><span class="k2">;</span>
<span class="number"> 239</span>      <span class="k3">-</span><span class="k3">-</span>player.lives<span class="k2">;</span>
<span class="number"> 240</span>      arrow.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 241</span>      dir <span class="k3">=</span> RIGHT<span class="k2">;</span>
<span class="number"> 242</span>    <span class="k2">}</span>
<span class="number"> 243</span>    <span class="k1">if</span><span class="k2">(</span>player.x <span class="k3">=</span><span class="k3">=</span> <span class="n">1090</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player.y <span class="k3">=</span><span class="k3">=</span> <span class="n">535</span> <span class="k3">|</span><span class="k3">|</span> player.x <span class="k3">=</span><span class="k3">=</span> <span class="n">670</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player.y <span class="k3">=</span><span class="k3">=</span> <span class="n">535</span><span class="k2">)</span>
<span class="number"> 244</span>    <span class="k2">{</span>
<span class="number"> 245</span>      <a href="http://www.allegro.cc/manual/al_play_sample"><span class="a">al_play_sample</span></a><span class="k2">(</span>crocSound, <span class="n">1</span>.<span class="n">0</span>, <span class="n">0</span>.<span class="n">0</span>, <span class="n">1</span>.<span class="n">0</span>, ALLEGRO_PLAYMODE_ONCE, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 246</span>    <span class="k2">}</span>
<span class="number"> 247</span>    <span class="k1">if</span><span class="k2">(</span>collideArrow<span class="k2">(</span>enemy, arrow<span class="k2">)</span><span class="k2">)</span><span class="c">//Arrow Collision with enemy</span>
<span class="number"> 248</span>    <span class="k2">{</span>
<span class="number"> 249</span>      enemy.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 250</span>      enemy.x <span class="k3">=</span> <span class="k3">-</span><span class="n">500</span><span class="k2">;</span>
<span class="number"> 251</span>      enemy.y <span class="k3">=</span> <span class="k3">-</span><span class="n">500</span><span class="k2">;</span>
<span class="number"> 252</span>      arrow.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 253</span>      <span class="k3">+</span><span class="k3">+</span>player.score<span class="k2">;</span>
<span class="number"> 254</span>    <span class="k2">}</span>
<span class="number"> 255</span>    <span class="k1">if</span><span class="k2">(</span>collideArrow<span class="k2">(</span>enemy2, arrow<span class="k2">)</span><span class="k2">)</span><span class="c">//Arrow Collision with enemy</span>
<span class="number"> 256</span>    <span class="k2">{</span>
<span class="number"> 257</span>      enemy2.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 258</span>      enemy2.x <span class="k3">=</span> <span class="k3">-</span><span class="n">500</span><span class="k2">;</span>
<span class="number"> 259</span>      enemy2.y <span class="k3">=</span> <span class="k3">-</span><span class="n">500</span><span class="k2">;</span>
<span class="number"> 260</span>      arrow.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 261</span>      <span class="k3">+</span><span class="k3">+</span>player.score<span class="k2">;</span>
<span class="number"> 262</span>    <span class="k2">}</span>
<span class="number"> 263</span>    <span class="k1">if</span><span class="k2">(</span>collideArrow<span class="k2">(</span>enemy3, arrow<span class="k2">)</span><span class="k2">)</span><span class="c">//Arrow Collision with enemy</span>
<span class="number"> 264</span>    <span class="k2">{</span>
<span class="number"> 265</span>      enemy3.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 266</span>      enemy3.x <span class="k3">=</span> <span class="k3">-</span><span class="n">500</span><span class="k2">;</span>
<span class="number"> 267</span>      enemy3.y <span class="k3">=</span> <span class="k3">-</span><span class="n">500</span><span class="k2">;</span>
<span class="number"> 268</span>      arrow.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 269</span>      <span class="k3">+</span><span class="k3">+</span>player.score<span class="k2">;</span>
<span class="number"> 270</span>    <span class="k2">}</span> 
<span class="number"> 271</span>    <span class="k1">if</span><span class="k2">(</span>collideArrow<span class="k2">(</span>enemy4, arrow<span class="k2">)</span><span class="k2">)</span><span class="c">//Arrow Collision with enemy</span>
<span class="number"> 272</span>    <span class="k2">{</span>
<span class="number"> 273</span>      enemy4.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 274</span>      enemy4.x <span class="k3">=</span> <span class="k3">-</span><span class="n">500</span><span class="k2">;</span>
<span class="number"> 275</span>      enemy4.y <span class="k3">=</span> <span class="k3">-</span><span class="n">500</span><span class="k2">;</span>
<span class="number"> 276</span>      arrow.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 277</span>      <span class="k3">+</span><span class="k3">+</span>player.score<span class="k2">;</span>
<span class="number"> 278</span>    <span class="k2">}</span> 
<span class="number"> 279</span>  
<span class="number"> 280</span>  <span class="k1">if</span><span class="k2">(</span>draw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>event_queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 281</span>  <span class="k2">{</span>
<span class="number"> 282</span>    draw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 283</span>    <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>background2, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 284</span>    <a href="http://www.allegro.cc/manual/al_draw_bitmap_region"><span class="a">al_draw_bitmap_region</span></a><span class="k2">(</span>character, sourceX, sourceY <span class="k3">*</span> <a href="http://www.allegro.cc/manual/al_get_bitmap_height"><span class="a">al_get_bitmap_height</span></a><span class="k2">(</span>character<span class="k2">)</span> <span class="k3">/</span> <span class="n">2</span>, <span class="n">32</span>, <span class="n">32</span>, player.x, player.y, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 285</span>    drawKey<span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a>, keyImg<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 286</span>    drawArrow<span class="k2">(</span>arrow, arrow_r, arrow_l<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 287</span>    drawCoin<span class="k2">(</span>coin, coinImg<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 288</span>    drawCoin<span class="k2">(</span>coin2, coinImg<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 289</span>    drawEnemy<span class="k2">(</span>enemy, enemyImg<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 290</span>    drawEnemy<span class="k2">(</span>enemy2, enemyImg<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 291</span>    drawEnemy<span class="k2">(</span>enemy3, enemyImg<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 292</span>    drawEnemy<span class="k2">(</span>enemy4, enemyImg<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 293</span>    <a href="http://www.allegro.cc/manual/al_identity_transform"><span class="a">al_identity_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>identity<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 294</span>    <a href="http://www.allegro.cc/manual/al_use_transform"><span class="a">al_use_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>identity<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 295</span>    <a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <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">252</span>,<span class="n">209</span>, <span class="n">22</span><span class="k2">)</span>, <span class="n">10</span>, <span class="n">10</span>, <span class="n">0</span>, <span class="s">"Arrows: %i"</span>, arrow.arrowCount<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 296</span>    <a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <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">252</span>, <span class="n">209</span>, <span class="n">22</span><span class="k2">)</span>, <span class="n">10</span>, <span class="n">50</span>, <span class="n">0</span>, <span class="s">"Coins: %i"</span>, coinCount<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 297</span>    <a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <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">252</span>, <span class="n">209</span>, <span class="n">22</span><span class="k2">)</span>, <span class="n">110</span>, <span class="n">10</span>, <span class="n">0</span>, <span class="s">"Lives: %i"</span>, player.lives<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 298</span>    <span class="c">//al_draw_textf(fps, al_map_rgb(252, 209, 22), 110, 50, 0, "FPS: %i", FPS);</span>
<span class="number"> 299</span>    <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 300</span>    <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 301</span>
<span class="number"> 302</span>  <span class="k2">}</span>
<span class="number"> 303</span>  <span class="k2">}</span>
<span class="number"> 304</span><span class="k2">}</span>
<span class="number"> 305</span><span class="k1">void</span> initPlayer<span class="k2">(</span>Player <span class="k3">&amp;</span>player<span class="k2">)</span>
<span class="number"> 306</span><span class="k2">{</span>
<span class="number"> 307</span>  player.x <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number"> 308</span>  player.y <span class="k3">=</span> <span class="n">535</span><span class="k2">;</span>
<span class="number"> 309</span>  player.lives <span class="k3">=</span> <span class="n">3</span><span class="k2">;</span>
<span class="number"> 310</span>  player.speed <span class="k3">=</span> <span class="n">5</span><span class="k2">;</span>
<span class="number"> 311</span>  player.score <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 312</span>  dir <span class="k3">=</span> RIGHT<span class="k2">;</span>
<span class="number"> 313</span><span class="k2">}</span>
<span class="number"> 314</span>
<span class="number"> 315</span><span class="k1">void</span> initEnemy<span class="k2">(</span>Enemy <span class="k3">&amp;</span>enemy, <span class="k1">int</span> x, <span class="k1">int</span> y<span class="k2">)</span>
<span class="number"> 316</span><span class="k2">{</span>
<span class="number"> 317</span>  enemy.live <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 318</span>  enemy.speedR <span class="k3">=</span> <span class="n">2</span><span class="k2">;</span>
<span class="number"> 319</span>  enemy.speedL <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span><span class="k2">;</span>
<span class="number"> 320</span>  enemy.speed <span class="k3">=</span> <span class="n">2</span><span class="k2">;</span>
<span class="number"> 321</span>  enemy.x <span class="k3">=</span> x<span class="k2">;</span>
<span class="number"> 322</span>  enemy.y <span class="k3">=</span> y<span class="k2">;</span>
<span class="number"> 323</span>  enemy.width <span class="k3">=</span> <span class="n">29</span><span class="k2">;</span>
<span class="number"> 324</span>  enemy.height <span class="k3">=</span> <span class="n">29</span><span class="k2">;</span>
<span class="number"> 325</span><span class="k2">}</span>
<span class="number"> 326</span><span class="k1">void</span> drawEnemy<span class="k2">(</span>Enemy <span class="k3">&amp;</span>enemy, <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>image<span class="k2">)</span>
<span class="number"> 327</span><span class="k2">{</span>
<span class="number"> 328</span>    <span class="k1">if</span><span class="k2">(</span>enemy.live<span class="k2">)</span>
<span class="number"> 329</span>    <span class="k2">{</span>
<span class="number"> 330</span>      <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>image, enemy.x, enemy.y, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 331</span>    <span class="k2">}</span>
<span class="number"> 332</span><span class="k2">}</span>
<span class="number"> 333</span><span class="k1">void</span> updateEnemy<span class="k2">(</span>Enemy <span class="k3">&amp;</span>enemy, <span class="k1">int</span> posX, <span class="k1">int</span> posX2<span class="k2">)</span>
<span class="number"> 334</span><span class="k2">{</span>
<span class="number"> 335</span>  <span class="k1">if</span><span class="k2">(</span>enemy.live<span class="k2">)</span>
<span class="number"> 336</span>  <span class="k2">{</span>
<span class="number"> 337</span>    enemy.x <span class="k3">+</span><span class="k3">=</span> enemy.speed<span class="k2">;</span>
<span class="number"> 338</span>      <span class="k1">if</span><span class="k2">(</span>enemy.x <span class="k3">&gt;</span><span class="k3">=</span> posX<span class="k2">)</span>
<span class="number"> 339</span>      <span class="k2">{</span>
<span class="number"> 340</span>        enemy.x <span class="k3">=</span> posX<span class="k2">;</span>
<span class="number"> 341</span>        enemy.speed <span class="k3">=</span> enemy.speedL<span class="k2">;</span>
<span class="number"> 342</span>      <span class="k2">}</span>
<span class="number"> 343</span>      <span class="k1">if</span><span class="k2">(</span>enemy.x <span class="k3">&lt;</span><span class="k3">=</span> posX2<span class="k2">)</span>
<span class="number"> 344</span>      <span class="k2">{</span>
<span class="number"> 345</span>        enemy.x <span class="k3">=</span> posX2<span class="k2">;</span>
<span class="number"> 346</span>        enemy.speed <span class="k3">=</span> enemy.speedR<span class="k2">;</span>
<span class="number"> 347</span>      <span class="k2">}</span>
<span class="number"> 348</span>  <span class="k2">}</span>
<span class="number"> 349</span><span class="k2">}</span>
<span class="number"> 350</span><span class="k1">bool</span> collideArrow<span class="k2">(</span>Enemy <span class="k3">&amp;</span>enemy, Arrow <span class="k3">&amp;</span>arrow<span class="k2">)</span>
<span class="number"> 351</span><span class="k2">{</span>
<span class="number"> 352</span>  <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>arrow.x <span class="k3">&gt;</span> enemy.x <span class="k3">+</span> enemy.width<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span>arrow.y <span class="k3">&gt;</span> enemy.y <span class="k3">+</span> enemy.height<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span>
<span class="number"> 353</span>    <span class="k2">(</span>enemy.x <span class="k3">&gt;</span> arrow.x <span class="k3">+</span> arrow.height<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span>enemy.y <span class="k3">&gt;</span> arrow.y <span class="k3">+</span> arrow.height<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>enemy.live<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>arrow.live<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 354</span>  <span class="k2">{</span>
<span class="number"> 355</span>    <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 356</span>  <span class="k2">}</span>
<span class="number"> 357</span>  <span class="k1">return</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 358</span><span class="k2">}</span>
<span class="number"> 359</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DJLad16)</author>
		<pubDate>Tue, 26 Feb 2013 23:46:50 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I believe part of the problem is in your collideArrow function:
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>arrow.x <span class="k3">&gt;</span> enemy.x <span class="k3">+</span> enemy.width<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span>arrow.y <span class="k3">&gt;</span> enemy.y <span class="k3">+</span> enemy.height<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span>
     <span class="k2">(</span>enemy.x <span class="k3">&gt;</span> arrow.x <span class="k3">+</span> arrow.height<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span>enemy.y <span class="k3">&gt;</span> arrow.y <span class="k3">+</span> arrow.height<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>enemy.live<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>arrow.live<span class="k2">)</span><span class="k2">)</span>
</pre></div></div><p>
What you probably want it to be is:
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>arrow.x <span class="k3">&gt;</span> enemy.x <span class="k3">+</span> enemy.width<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span>arrow.y <span class="k3">&gt;</span> enemy.y <span class="k3">+</span> enemy.height<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span>
     <span class="k2">(</span>enemy.x <span class="k3">&gt;</span> arrow.x <span class="k3">+</span> arrow.height<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span>enemy.y <span class="k3">&gt;</span> arrow.y <span class="k3">+</span> arrow.height<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k3">!</span><span class="k2">(</span>enemy.live<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k3">!</span><span class="k2">(</span>arrow.live<span class="k2">)</span><span class="k2">)</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (someone972)</author>
		<pubDate>Wed, 27 Feb 2013 02:36:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I think that&#39;s very wrong....your basically saying &quot;if the arrow is further right or higher than the enemy or the enemy is further right or higher than the arrow&quot;...doesn&#39;t make sense.</p><p>Also someone&#39;s advice is terrible!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dizzy Egg)</author>
		<pubDate>Wed, 27 Feb 2013 04:06:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks, someone, got it working <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" /> What do you mean dizzy? The collision works fine, simple bounding box collision.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DJLad16)</author>
		<pubDate>Wed, 27 Feb 2013 04:16:35 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It seems like you&#39;re just checking each corner in isolation when you should be checking to see if the arrow is <i>inside</i> the bounding rectangle.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Wed, 27 Feb 2013 04:24:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No, that ain&#39;t no bounding box collision! That&#39;s exactly what I said in my post. If you made bounding box collision with that code in someones post, I&#39;ll fry myself.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dizzy Egg)</author>
		<pubDate>Wed, 27 Feb 2013 06:46:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I think what you want to be doing for collision detection is something like <a href="https://www.allegro.cc/forums/thread/612101/977412#target">the first line of the function I posted over here</a>.<br />What you have is slightly similar, but wrong in the end.</p><p>You should also separate the <span class="source-code">enemy.live</span> and <span class="source-code">arrow.live</span> checks from the actual collision detection itself to make things clearer.
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>enemy.live <span class="k3">|</span><span class="k3">|</span> <span class="k3">!</span>arrow.live<span class="k2">)</span> <span class="k1">return</span><span class="k2">;</span>
<span class="c">//now, check for collision</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Schyfis)</author>
		<pubDate>Wed, 27 Feb 2013 07:07:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I have no idea what any of you are talking about any more. Since when has it ever been possible to do a bounding box collision just using OR&#39;s....none of the code you&#39;re posting works!?!?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dizzy Egg)</author>
		<pubDate>Wed, 27 Feb 2013 16:18:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Dizzy Egg is right.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Karadoc ~~)</author>
		<pubDate>Wed, 27 Feb 2013 17:06:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The two forms are logically the same:
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>arrow.x <span class="k3">&gt;</span> enemy.x <span class="k3">+</span> enemy.width<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span>arrow.y <span class="k3">&gt;</span> enemy.y <span class="k3">+</span> enemy.height<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span>
     <span class="k2">(</span>enemy.x <span class="k3">&gt;</span> arrow.x <span class="k3">+</span> arrow.height<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span>enemy.y <span class="k3">&gt;</span> arrow.y <span class="k3">+</span> arrow.height<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k3">!</span><span class="k2">(</span>enemy.live<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k3">!</span><span class="k2">(</span>arrow.live<span class="k2">)</span><span class="k2">)</span>
  <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="k1">return</span> <span class="k1">true</span>

<span class="c">// or:</span>

<span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>arrow.x <span class="k3">&lt;</span><span class="k3">=</span> enemy.x <span class="k3">+</span> enemy.width<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>arrow.y <span class="k3">&lt;</span><span class="k3">=</span> enemy.y <span class="k3">+</span> enemy.height<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span>
     <span class="k2">(</span>enemy.x <span class="k3">&lt;</span><span class="k3">=</span> arrow.x <span class="k3">+</span> arrow.height<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>enemy.y <span class="k3">&lt;</span><span class="k3">=</span> arrow.y <span class="k3">+</span> arrow.height<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>enemy.live<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>arrow.live<span class="k2">)</span><span class="k2">)</span>
  <span class="k1">return</span> <span class="k1">true</span><span class="k2">;</span>
<span class="k1">return</span> <span class="k1">false</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Audric)</author>
		<pubDate>Wed, 27 Feb 2013 19:22:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>So it turns out the only Allegroid left with an IQ is Karadoc, because the rest of you are missing the point....<b>bounding box would imply checking within a box!</b>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dizzy Egg)</author>
		<pubDate>Wed, 27 Feb 2013 19:49:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>To me also does not look like a bounding box collision. <img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" /></p><p>EDIT: ah OK, the expression is NEGATED by the return values so the logic AND is susbstituted by the equivalent negated logic *N*OR.....haven&#39;t checked deeply but MAY be ok.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pkrcel)</author>
		<pubDate>Wed, 27 Feb 2013 20:30:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Apparently with all the fuss over logic no one&#39;s noticed that it should be arrow.width on the second line.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (EWClay)</author>
		<pubDate>Wed, 27 Feb 2013 20:44:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Dizzy, I&#39;m sorry but this code is ok... there&#39;s a little bug that uses height instead of width once (he couldn&#39;t notice it if they are equal), but otherwise it&#39;s intended to check if two rectangles overlap :</p><p>One rectangle goes<br />- horizontally from (arrow.x) to (arrow.x + arrow.width)<br />- vertically from (arrow.y) to (arrow.y + arrow.height)</p><p>The other rectangle goes<br />- horizontally from (enemy.x) to (enemy.x + enemy.width)<br />- vertically from (enemy.y) to (enemy.y + enemy.height)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Audric)</author>
		<pubDate>Wed, 27 Feb 2013 20:56:09 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Nope. According to his logic, if my arrow is farther right <b>OR</b> higher than the enemy, there&#39;s a collision. No box involved.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dizzy Egg)</author>
		<pubDate>Wed, 27 Feb 2013 21:44:30 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/612123/977627#target">Dizzy Egg</a> said:</div><div class="quote"><p>Nope. According to his logic, if my arrow is farther right OR higher than the enemy, there&#39;s a collision. No box involved.</p></div></div><p>
You seem to fail to see that the return statement reached when the condition is true returns false. That code checks for all cases where there is no collision, and returns true otherwise.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (J-Gamer)</author>
		<pubDate>Wed, 27 Feb 2013 21:49:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>AABBCollision can be carried out checking if the two boxes overlap, or if the DO NOT overlap, but in that case you have to return negated values of course.</p><p>That is what I failed to see as well (the xchange between return false and return true <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /> )
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pkrcel)</author>
		<pubDate>Wed, 27 Feb 2013 22:20:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>...ooooh....tits. My bad.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dizzy Egg)</author>
		<pubDate>Wed, 27 Feb 2013 22:30:30 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I guess Dizzy Egg and I were wrong all along. <img src="http://www.allegro.cc/forums/smileys/sad.gif" alt=":(" /></p><p>I had only looked at the snippet someone972 posted, and I wrongly assumed the condition was to test for a collision rather than for a miss.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Karadoc ~~)</author>
		<pubDate>Thu, 28 Feb 2013 07:20:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ha, I just came back to this thread to see if it got resolved and I got a good chuckle from the stream of posts <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />.</p><p><s>EDIT:
If all that is needed is to check whether two bounding boxes collide, the negated method works fine and is actually a little more optimized since it bails early if one of the checks fails. Of course it&#39;s a nearly worthless optimization.</s>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (someone972)</author>
		<pubDate>Thu, 28 Feb 2013 10:45:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Both methods &#39;bail early&#39; if one of the checks fails.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Karadoc ~~)</author>
		<pubDate>Thu, 28 Feb 2013 11:18:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Whoops, that&#39;s true. Looks like I&#39;m not thinking strait today either <img src="http://www.allegro.cc/forums/smileys/lipsrsealed.gif" alt=":-X" />.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (someone972)</author>
		<pubDate>Thu, 28 Feb 2013 11:27:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I dunno why, but I just like the &quot;opposite way&quot; of checking for bounding box collision. My brain wraps around it easier.</p><p>Either way, were you able to figure it out, DJLad16?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Schyfis)</author>
		<pubDate>Thu, 28 Feb 2013 11:28:35 +0000</pubDate>
	</item>
</rss>
