<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Choppy graphics</title>
		<link>http://www.allegro.cc/forums/view/614741</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sat, 25 Oct 2014 12:50:11 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>hello everyone,<br />  I have been learning to code in Allegro 5 over the last month or so. I am a pretty amateur programmer, so I do as much as I can to learn, and expect to have several things I can fix in everything I have programmed. So, all help is greatly appreciated in this topic.</p><p>I am unsure whether or not to post my entire code via an attachment, or just post small parts of the code. I currently have a game that is fairly basic following a tutorial made on Youtube by Mike Geig. It has been fantastic help <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>My problem is that now that I am progressing past his tutorial, I am running into a Choppy game. Unsure why, however, since I feel that it does very little. It is not consistently choppy, but it lags for a bit then smooths out again (the entire time it is running though).</p><p>So without continuing my rambling, should I post my entire code as an attachment or simply just go through it with you guys with posts?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mishtiff)</author>
		<pubDate>Fri, 24 Oct 2014 07:32:49 +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/614741/1006317#target">Mishtiff</a> said:</div><div class="quote"><p> I am running into a Choppy game.</p></div></div><p>You mean it goes too slow, or skips frames?  How much cpu does it take in Resource Meter?</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p> should I post my entire code as an attachment or simply just go through it with you guys with posts?</p></div></div><p>If it&#39;s more than maybe 300 lines it&#39;d be better to just post relevant parts instead of expecting people to wade through the whole thing, but I get the impression you have no idea what part is at fault.</p><p>Just try one or the other, and if nobody answers very quickly it&#39;s probably that nobody who&#39;s seen your questions is sure of their answer.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Fri, 24 Oct 2014 10:40:46 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>thank you for your reply. I have no idea where the problem is coming from. The current game is around 900 lines long.</p><p>It is currently using 44k in task manager.</p><p>It does not seem to be skipping frames, however everything &quot;stutters&quot; for a few seconds, then just seems to smooth out perfectly, then goes back to doing it again.]</p><p>ill post everything at the moment from start of game to finish, minus the functions that are called to.</p><p>enemies are technically the &quot;comets&quot; that fly from right to left, but I plan to change that later on.</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="p">#include &lt;allegro5\allegro.h&gt;</span>
<span class="number">   2</span><span class="p">#include &lt;allegro5\allegro_primitives.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;allegro5\allegro_font.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5\allegro_ttf.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5\allegro_image.h&gt;</span>
<span class="number">   6</span><span class="p">#define _USE_MATH_DEFINES</span>
<span class="number">   7</span><span class="p">#include &lt;math.h&gt;</span>
<span class="number">   8</span><span class="p">#include "objects.h"</span>
<span class="number">   9</span>
<span class="number">  10</span>
<span class="number">  11</span>
<span class="number">  12</span>
<span class="number">  13</span><span class="c">//Global Variables</span>
<span class="number">  14</span><span class="k1">enum</span> KEYS<span class="k2">{</span> UP, DOWN, LEFT, RIGHT, SPACE, ONE, MOUSE1<span class="k2">}</span><span class="k2">;</span>
<span class="number">  15</span><span class="k1">enum</span> CNTRLR<span class="k2">{</span> LUP, LDOWN, LRIGHT, LLEFT, RUP, RDOWN, RRIGHT, RLEFT, A, B, Y, X, LB, RB, LT, RT, SELECT, START<span class="k2">}</span><span class="k2">;</span>
<span class="number">  16</span><span class="k1">int</span> width <span class="k3">=</span> <span class="n">1200</span><span class="k2">;</span>
<span class="number">  17</span><span class="k1">int</span> height <span class="k3">=</span> <span class="n">900</span><span class="k2">;</span>
<span class="number">  18</span><span class="k1">const</span> <span class="k1">int</span> NUM_BULLETS <span class="k3">=</span> <span class="n">30</span><span class="k2">;</span>
<span class="number">  19</span><span class="k1">const</span> <span class="k1">int</span> NUM_ENEMIES <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number">  20</span><span class="k1">const</span> <span class="k1">int</span> NUM_PLANETS <span class="k3">=</span> <span class="n">2</span><span class="k2">;</span>
<span class="number">  21</span><span class="k1">double</span> mousex, mousey<span class="k2">;</span>
<span class="number">  22</span><span class="k1">int</span> bulletCD <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> <span class="c">//timer in-between shots</span>
<span class="number">  23</span><span class="k1">bool</span> joystick <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  24</span>
<span class="number">  25</span><span class="c">//Variables</span>
<span class="number">  26</span><span class="k1">bool</span> draw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  27</span><span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  28</span><span class="k1">const</span> <span class="k1">int</span> FPS <span class="k3">=</span> <span class="n">60</span><span class="k2">;</span>
<span class="number">  29</span><span class="k1">bool</span> gameOver <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  30</span><span class="k1">bool</span> keys<span class="k2">[</span><span class="n">7</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">{</span><span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span><span class="k2">}</span><span class="k2">;</span>
<span class="number">  31</span><span class="k1">bool</span> Cntrlr<span class="k2">[</span><span class="n">18</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">{</span><span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span><span class="k2">}</span><span class="k2">;</span>
<span class="number">  32</span><span class="k1">int</span> framesCur <span class="k3">=</span> <span class="n">0</span>, framesPS <span class="k3">=</span> <span class="n">0</span>, sec <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  33</span>
<span class="number">  34</span>
<span class="number">  35</span><span class="k1">void</span> initPlayer<span class="k2">(</span>Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  36</span><span class="k1">void</span> movePlayerUp<span class="k2">(</span>Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span><span class="k1">void</span> movePlayerDown<span class="k2">(</span>Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</span><span class="k1">void</span> movePlayerLeft<span class="k2">(</span>Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  39</span><span class="k1">void</span> movePlayerRight<span class="k2">(</span>Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  40</span><span class="k1">void</span> updatePlayer<span class="k2">(</span>Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  41</span><span class="k1">void</span> drawPlayer<span class="k2">(</span>Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  42</span>
<span class="number">  43</span><span class="k1">void</span> initPlanet<span class="k2">(</span>Image Planets<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> size<span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</span><span class="k1">void</span> drawPlanet<span class="k2">(</span>Image Planets<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> size<span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span><span class="k1">void</span> updatePlanet<span class="k2">(</span>Image Planets<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> size<span class="k2">)</span><span class="k2">;</span>
<span class="number">  46</span>
<span class="number">  47</span><span class="k1">void</span> initBackground<span class="k2">(</span>Background <span class="k3">&amp;</span>bg<span class="k2">)</span><span class="k2">;</span>
<span class="number">  48</span><span class="k1">void</span> drawBackground<span class="k2">(</span>Background <span class="k3">&amp;</span>bg<span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</span><span class="k1">void</span> updateBackground<span class="k2">(</span>Background <span class="k3">&amp;</span>bg<span class="k2">)</span><span class="k2">;</span>
<span class="number">  50</span>
<span class="number">  51</span><span class="k1">void</span> initBullet<span class="k2">(</span>Bullet bullet<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> size<span class="k2">)</span><span class="k2">;</span>
<span class="number">  52</span><span class="k1">void</span> drawBullet<span class="k2">(</span>Bullet bullet<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> size<span class="k2">)</span><span class="k2">;</span>
<span class="number">  53</span><span class="k1">void</span> fireBullet<span class="k2">(</span>Bullet bullet<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> size, Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  54</span><span class="k1">void</span> updateBullet<span class="k2">(</span>Bullet bullet<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> size<span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span><span class="k1">void</span> collideBullet<span class="k2">(</span>Bullet bullet<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> bsize, Enemies enemy<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> csize, Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>
<span class="number">  57</span><span class="k1">void</span> initPulse<span class="k2">(</span>Pulse <span class="k3">&amp;</span>pulse<span class="k2">)</span><span class="k2">;</span>
<span class="number">  58</span><span class="k1">void</span> drawPulse<span class="k2">(</span>Pulse <span class="k3">&amp;</span>pulse<span class="k2">)</span><span class="k2">;</span>
<span class="number">  59</span><span class="k1">void</span> firePulse<span class="k2">(</span>Pulse <span class="k3">&amp;</span>pulse, Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  60</span><span class="k1">void</span> updatePulse<span class="k2">(</span>Pulse <span class="k3">&amp;</span>pulse, Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  61</span><span class="k1">void</span> collidePulse<span class="k2">(</span>Pulse <span class="k3">&amp;</span>pulse, Enemies enemy<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> csize, Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  62</span>
<span class="number">  63</span><span class="k1">void</span> initEnemy<span class="k2">(</span>Enemies enemy<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> size<span class="k2">)</span><span class="k2">;</span>
<span class="number">  64</span><span class="k1">void</span> drawEnemy<span class="k2">(</span>Enemies enemy<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> size<span class="k2">)</span><span class="k2">;</span>
<span class="number">  65</span><span class="k1">void</span> startEnemy<span class="k2">(</span>Enemies enemy<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> size<span class="k2">)</span><span class="k2">;</span>
<span class="number">  66</span><span class="k1">void</span> updateEnemy<span class="k2">(</span>Enemies enemy<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> size<span class="k2">)</span><span class="k2">;</span>
<span class="number">  67</span><span class="k1">void</span> collideComet<span class="k2">(</span>Enemies enemy<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> csize, Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  68</span><span class="k1">int</span> returnRand<span class="k2">(</span><span class="k1">int</span> num<span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>
<span class="number">  70</span><span class="k1">void</span> drawHealth<span class="k2">(</span>Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  71</span>
<span class="number">  72</span><span class="k1">int</span> main <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  73</span><span class="k2">{</span>
<span class="number">  74</span>  
<span class="number">  75</span>  <span class="c">//Object Variables</span>
<span class="number">  76</span>  Player1 p1<span class="k2">;</span>
<span class="number">  77</span>  Bullet bullets<span class="k2">[</span>NUM_BULLETS<span class="k2">]</span><span class="k2">;</span>
<span class="number">  78</span>  Pulse pulseAttack<span class="k2">;</span>
<span class="number">  79</span>  Enemies enemy<span class="k2">[</span>NUM_ENEMIES<span class="k2">]</span><span class="k2">;</span>
<span class="number">  80</span>  Image Planets<span class="k2">[</span>NUM_PLANETS<span class="k2">]</span><span class="k2">;</span>
<span class="number">  81</span>  Background bg<span class="k2">;</span>
<span class="number">  82</span>
<span class="number">  83</span>  <span class="c">//Allegro variables</span>
<span class="number">  84</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  85</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_MONITOR_INFO"><span class="a">ALLEGRO_MONITOR_INFO</span></a> info<span class="k2">;</span>
<span class="number">  86</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> NULL<span class="k2">;</span>
<span class="number">  87</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> <span class="k3">*</span>LPS <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  88</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span>font18 <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  89</span>
<span class="number">  90</span><span class="c">//Initialization Funtions</span>
<span class="number">  91</span><span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  92</span><span class="k2">{</span>
<span class="number">  93</span><span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  94</span><span class="k2">}</span>
<span class="number">  95</span>
<span class="number">  96</span><a href="http://www.allegro.cc/manual/al_get_monitor_info"><span class="a">al_get_monitor_info</span></a><span class="k2">(</span><span class="n">0</span>, <span class="k3">&amp;</span>info<span class="k2">)</span><span class="k2">;</span>
<span class="number">  97</span>width <span class="k3">=</span> info.x2 <span class="k3">-</span> info.x1<span class="k2">;</span> 
<span class="number">  98</span>height <span class="k3">=</span> info.y2 <span class="k3">-</span> info.y1<span class="k2">;</span> 
<span class="number">  99</span>display <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_display"><span class="a">al_create_display</span></a><span class="k2">(</span>width, height<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 100</span>
<span class="number"> 101</span><span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span>
<span class="number"> 102</span>  <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 103</span>
<span class="number"> 104</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"> 105</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"> 106</span><a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><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_install_joystick"><span class="a">al_install_joystick</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 108</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"> 109</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"> 110</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"> 111</span>
<span class="number"> 112</span>font18 <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">"arial.ttf"</span>, <span class="n">18</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 113</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"> 114</span>LPS <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"> 115</span>
<span class="number"> 116</span><a href="http://www.allegro.cc/manual/ALLEGRO_JOYSTICK"><span class="a">ALLEGRO_JOYSTICK</span></a> <span class="k3">*</span><a href="http://www.allegro.cc/manual/joy"><span class="a">joy</span></a> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_joystick"><span class="a">al_get_joystick</span></a><span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 117</span><a href="http://www.allegro.cc/manual/ALLEGRO_JOYSTICK_STATE"><span class="a">ALLEGRO_JOYSTICK_STATE</span></a> joystate<span class="k2">;</span>
<span class="number"> 118</span>
<span class="number"> 119</span><span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/joy"><span class="a">joy</span></a> <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span>
<span class="number"> 120</span>  joystick <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 121</span><span class="k1">else</span>
<span class="number"> 122</span>  joystick <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 123</span>
<span class="number"> 124</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"> 125</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"> 126</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_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 127</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_joystick_event_source"><span class="a">al_get_joystick_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 128</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>LPS<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 129</span>
<span class="number"> 130</span>
<span class="number"> 131</span>
<span class="number"> 132</span>
<span class="number"> 133</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_739.html" target="_blank">srand</a><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a><span class="k2">(</span>NULL<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 134</span>initBackground<span class="k2">(</span>bg<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 135</span>initPlanet<span class="k2">(</span>Planets, NUM_PLANETS<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 136</span>initPlayer<span class="k2">(</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 137</span>initPulse<span class="k2">(</span>pulseAttack<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 138</span>initBullet<span class="k2">(</span>bullets, NUM_BULLETS<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 139</span>initEnemy<span class="k2">(</span>enemy, NUM_ENEMIES<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 140</span>
<span class="number"> 141</span><a href="http://www.allegro.cc/manual/al_hide_mouse_cursor"><span class="a">al_hide_mouse_cursor</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 142</span><a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>LPS<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 143</span>
<span class="number"> 144</span><span class="k1">while</span><span class="k2">(</span><span class="k3">!</span>done<span class="k2">)</span>
<span class="number"> 145</span><span class="k2">{</span>
<span class="number"> 146</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> ev<span class="k2">;</span>
<span class="number"> 147</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>ev<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 148</span>  <span class="k1">if</span><span class="k2">(</span>joystick<span class="k2">)</span>
<span class="number"> 149</span>    <a href="http://www.allegro.cc/manual/al_get_joystick_state"><span class="a">al_get_joystick_state</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/joy"><span class="a">joy</span></a>, <span class="k3">&amp;</span>joystate<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 150</span>
<span class="number"> 151</span>  <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_TIMER<span class="k2">)</span>
<span class="number"> 152</span>  <span class="k2">{</span>  
<span class="number"> 153</span>    draw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 154</span>    sec<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 155</span>        
<span class="number"> 156</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>keys<span class="k2">[</span>UP<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k3">!</span>keys<span class="k2">[</span>DOWN<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> p1.picDir <span class="k3">!</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 157</span>    <span class="k2">{</span>p1.picDir <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 158</span>
<span class="number"> 159</span>    <span class="k1">if</span><span class="k2">(</span>p1.expCur <span class="k3">&gt;</span><span class="k3">=</span> p1.expNeeded<span class="k2">)</span>
<span class="number"> 160</span>    <span class="k2">{</span>p1.level<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 161</span>     p1.expCur <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 162</span>     p1.expNeeded <span class="k3">+</span><span class="k3">=</span> <span class="n">25</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 163</span>    
<span class="number"> 164</span>    <span class="k1">if</span><span class="k2">(</span>p1.health <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k3">!</span>gameOver<span class="k2">)</span>
<span class="number"> 165</span>      gameOver <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 166</span>    
<span class="number"> 167</span>    <span class="k1">if</span><span class="k2">(</span>keys<span class="k2">[</span>UP<span class="k2">]</span> <span class="k3">|</span><span class="k3">|</span> Cntrlr<span class="k2">[</span>LUP<span class="k2">]</span><span class="k2">)</span> movePlayerUp<span class="k2">(</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 168</span>    <span class="k1">if</span><span class="k2">(</span>keys<span class="k2">[</span>DOWN<span class="k2">]</span> <span class="k3">|</span><span class="k3">|</span> Cntrlr<span class="k2">[</span>LDOWN<span class="k2">]</span><span class="k2">)</span> movePlayerDown<span class="k2">(</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 169</span>    <span class="k1">if</span><span class="k2">(</span>keys<span class="k2">[</span>LEFT<span class="k2">]</span> <span class="k3">|</span><span class="k3">|</span> Cntrlr<span class="k2">[</span>LLEFT<span class="k2">]</span><span class="k2">)</span> movePlayerLeft<span class="k2">(</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 170</span>    <span class="k1">if</span><span class="k2">(</span>keys<span class="k2">[</span>RIGHT<span class="k2">]</span> <span class="k3">|</span><span class="k3">|</span> Cntrlr<span class="k2">[</span>LRIGHT<span class="k2">]</span><span class="k2">)</span> movePlayerRight<span class="k2">(</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 171</span>    <span class="k1">if</span><span class="k2">(</span>joystick<span class="k2">)</span>
<span class="number"> 172</span>    <span class="k2">{</span>
<span class="number"> 173</span>
<span class="number"> 174</span>      <span class="k1">float</span> dirx <span class="k3">=</span> joystate.stick<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">-</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 175</span>      <span class="k1">float</span> diry <span class="k3">=</span> joystate.stick<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">-</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 176</span>      <span class="k1">float</span> angle <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_50.html" target="_blank">atan2</a><span class="k2">(</span>diry, dirx<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 177</span>      
<span class="number"> 178</span>      <span class="k1">if</span><span class="k2">(</span>joystate.stick<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">!</span><span class="k3">=</span> <span class="n">0</span> <span class="k3">|</span><span class="k3">|</span> joystate.stick<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">!</span><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>        mousex <span class="k3">=</span> p1.x <span class="k3">+</span> <span class="n">100</span> <span class="k3">*</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_113.html" target="_blank">cos</a><span class="k2">(</span>angle<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 181</span>        mousey <span class="k3">=</span> p1.y <span class="k3">+</span> <span class="n">100</span> <span class="k3">*</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_728.html" target="_blank">sin</a><span class="k2">(</span>angle<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 182</span>      <span class="k2">}</span>
<span class="number"> 183</span>      <a href="http://www.allegro.cc/manual/al_set_mouse_xy"><span class="a">al_set_mouse_xy</span></a><span class="k2">(</span>display, mousex, mousey<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 184</span>
<span class="number"> 185</span>      <span class="k1">if</span><span class="k2">(</span>keys<span class="k2">[</span>SPACE<span class="k2">]</span> <span class="k3">|</span><span class="k3">|</span> keys<span class="k2">[</span>MOUSE1<span class="k2">]</span> <span class="k3">|</span><span class="k3">|</span> Cntrlr<span class="k2">[</span>RT<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 186</span>      <span class="k2">{</span>
<span class="number"> 187</span>        bulletCD<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 188</span>        <span class="k1">if</span><span class="k2">(</span>bulletCD <span class="k3">=</span><span class="k3">=</span> <span class="n">16</span><span class="k2">)</span>
<span class="number"> 189</span>        <span class="k2">{</span>fireBullet<span class="k2">(</span>bullets, NUM_BULLETS, p1<span class="k2">)</span><span class="k2">;</span> bulletCD <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 190</span>      <span class="k2">}</span>
<span class="number"> 191</span>      <span class="k1">if</span><span class="k2">(</span>Cntrlr<span class="k2">[</span>A<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 192</span>      <span class="k2">{</span>
<span class="number"> 193</span>        firePulse<span class="k2">(</span>pulseAttack, p1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 194</span>      <span class="k2">}</span>
<span class="number"> 195</span>
<span class="number"> 196</span>    <span class="k2">}</span>
<span class="number"> 197</span>
<span class="number"> 198</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>joystick<span class="k2">)</span>
<span class="number"> 199</span>    <span class="k2">{</span>
<span class="number"> 200</span>      <span class="k1">if</span><span class="k2">(</span>keys<span class="k2">[</span>SPACE<span class="k2">]</span> <span class="k3">|</span><span class="k3">|</span> keys<span class="k2">[</span>MOUSE1<span class="k2">]</span> <span class="k3">|</span><span class="k3">|</span> Cntrlr<span class="k2">[</span>RT<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 201</span>      <span class="k2">{</span>
<span class="number"> 202</span>        bulletCD<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 203</span>        <span class="k1">if</span><span class="k2">(</span>bulletCD <span class="k3">=</span><span class="k3">=</span> <span class="n">16</span><span class="k2">)</span>
<span class="number"> 204</span>        <span class="k2">{</span>fireBullet<span class="k2">(</span>bullets, NUM_BULLETS, p1<span class="k2">)</span><span class="k2">;</span> bulletCD <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 205</span>      <span class="k2">}</span>
<span class="number"> 206</span>    <span class="k2">}</span>
<span class="number"> 207</span>    
<span class="number"> 208</span>    updateBackground<span class="k2">(</span>bg<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 209</span>    updatePlayer<span class="k2">(</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 210</span>    updatePlanet<span class="k2">(</span>Planets, NUM_PLANETS<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 211</span>    updatePulse<span class="k2">(</span>pulseAttack, p1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 212</span>    updateBullet<span class="k2">(</span>bullets, NUM_BULLETS<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 213</span>    startEnemy<span class="k2">(</span>enemy, NUM_ENEMIES<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 214</span>    updateEnemy<span class="k2">(</span>enemy, NUM_ENEMIES<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 215</span>    collideBullet<span class="k2">(</span>bullets, NUM_BULLETS, enemy, NUM_ENEMIES, p1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 216</span>    collideComet<span class="k2">(</span>enemy, NUM_ENEMIES, p1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 217</span>
<span class="number"> 218</span>    <span class="k1">if</span> <span class="k2">(</span>sec <span class="k3">=</span><span class="k3">=</span> FPS<span class="k2">)</span>
<span class="number"> 219</span>    <span class="k2">{</span>framesPS <span class="k3">=</span> framesCur<span class="k2">;</span> framesCur <span class="k3">=</span> sec <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 220</span>    
<span class="number"> 221</span>  <span class="k2">}</span>
<span class="number"> 222</span>
<span class="number"> 223</span>  <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_DISPLAY_CLOSE<span class="k2">)</span>
<span class="number"> 224</span>  <span class="k2">{</span>
<span class="number"> 225</span>    done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 226</span>  <span class="k2">}</span>
<span class="number"> 227</span>  <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_DOWN<span class="k2">)</span>
<span class="number"> 228</span>  <span class="k2">{</span>
<span class="number"> 229</span>    <span class="k1">switch</span> <span class="k2">(</span>ev.keyboard.keycode<span class="k2">)</span>
<span class="number"> 230</span>    <span class="k2">{</span>
<span class="number"> 231</span>    <span class="k1">case</span> ALLEGRO_KEY_ESCAPE:
<span class="number"> 232</span>      done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 233</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 234</span>    <span class="k1">case</span> ALLEGRO_KEY_W:
<span class="number"> 235</span>      keys<span class="k2">[</span>UP<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 236</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 237</span>    <span class="k1">case</span> ALLEGRO_KEY_S:
<span class="number"> 238</span>      keys<span class="k2">[</span>DOWN<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 239</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 240</span>    <span class="k1">case</span> ALLEGRO_KEY_A:
<span class="number"> 241</span>      keys<span class="k2">[</span>LEFT<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 242</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 243</span>    <span class="k1">case</span> ALLEGRO_KEY_D:
<span class="number"> 244</span>      keys<span class="k2">[</span>RIGHT<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 245</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 246</span>    <span class="k1">case</span> ALLEGRO_KEY_SPACE:
<span class="number"> 247</span>      keys<span class="k2">[</span>SPACE<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 248</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 249</span>    <span class="k1">case</span> ALLEGRO_KEY_1:
<span class="number"> 250</span>      keys<span class="k2">[</span>ONE<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 251</span>      gameOver <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 252</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 253</span>    <span class="k2">}</span>
<span class="number"> 254</span>  <span class="k2">}</span>
<span class="number"> 255</span>  <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_UP<span class="k2">)</span>
<span class="number"> 256</span>  <span class="k2">{</span>
<span class="number"> 257</span>    <span class="k1">switch</span> <span class="k2">(</span>ev.keyboard.keycode<span class="k2">)</span>
<span class="number"> 258</span>    <span class="k2">{</span>
<span class="number"> 259</span>    <span class="k1">case</span> ALLEGRO_KEY_ESCAPE:
<span class="number"> 260</span>      done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 261</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 262</span>    <span class="k1">case</span> ALLEGRO_KEY_W:
<span class="number"> 263</span>      keys<span class="k2">[</span>UP<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 264</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 265</span>    <span class="k1">case</span> ALLEGRO_KEY_S:
<span class="number"> 266</span>      keys<span class="k2">[</span>DOWN<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 267</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 268</span>    <span class="k1">case</span> ALLEGRO_KEY_A:
<span class="number"> 269</span>      keys<span class="k2">[</span>LEFT<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 270</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 271</span>    <span class="k1">case</span> ALLEGRO_KEY_D:
<span class="number"> 272</span>      keys<span class="k2">[</span>RIGHT<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 273</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 274</span>    <span class="k1">case</span> ALLEGRO_KEY_SPACE:
<span class="number"> 275</span>      keys<span class="k2">[</span>SPACE<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 276</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 277</span>    <span class="k1">case</span> ALLEGRO_KEY_1:
<span class="number"> 278</span>      keys<span class="k2">[</span>ONE<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 279</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 280</span>    <span class="k2">}</span>
<span class="number"> 281</span>  <span class="k2">}</span>
<span class="number"> 282</span>  <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_MOUSE_BUTTON_DOWN<span class="k2">)</span>
<span class="number"> 283</span>  <span class="k2">{</span>
<span class="number"> 284</span>    <span class="k1">switch</span> <span class="k2">(</span>ev.mouse.button<span class="k2">)</span>
<span class="number"> 285</span>    <span class="k2">{</span>
<span class="number"> 286</span>    <span class="k1">case</span> <span class="n">1</span><span class="k2">:</span>
<span class="number"> 287</span>      keys<span class="k2">[</span>MOUSE1<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 288</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 289</span>    <span class="k2">}</span>
<span class="number"> 290</span>  <span class="k2">}</span>
<span class="number"> 291</span>  <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_MOUSE_BUTTON_UP<span class="k2">)</span>
<span class="number"> 292</span>  <span class="k2">{</span>
<span class="number"> 293</span>    <span class="k1">switch</span> <span class="k2">(</span>ev.mouse.button<span class="k2">)</span>
<span class="number"> 294</span>    <span class="k2">{</span>
<span class="number"> 295</span>    <span class="k1">case</span> <span class="n">1</span><span class="k2">:</span>
<span class="number"> 296</span>      keys<span class="k2">[</span>MOUSE1<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 297</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 298</span>    <span class="k2">}</span>
<span class="number"> 299</span>  <span class="k2">}</span>
<span class="number"> 300</span>
<span class="number"> 301</span>
<span class="number"> 302</span>  <span class="k1">if</span><span class="k2">(</span>joystick<span class="k2">)</span>
<span class="number"> 303</span>  <span class="k2">{</span>  
<span class="number"> 304</span>    <span class="k1">if</span><span class="k2">(</span>joystate.stick<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">&gt;</span><span class="k3">=</span> .<span class="n">3</span><span class="k2">)</span>
<span class="number"> 305</span>      Cntrlr<span class="k2">[</span>LRIGHT<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 306</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>joystate.stick<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">&lt;</span><span class="k3">=</span> <span class="k3">-</span>.<span class="n">3</span><span class="k2">)</span>
<span class="number"> 307</span>      Cntrlr<span class="k2">[</span>LLEFT<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 308</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>joystate.stick<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">&gt;</span><span class="k3">=</span> <span class="k3">-</span>.<span class="n">3</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> joystate.stick<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">&lt;</span><span class="k3">=</span> .<span class="n">3</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> Cntrlr<span class="k2">[</span>LRIGHT<span class="k2">]</span> <span class="k3">|</span><span class="k3">|</span> Cntrlr<span class="k2">[</span>LLEFT<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 309</span>    <span class="k2">{</span>Cntrlr<span class="k2">[</span>LRIGHT<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 310</span>     Cntrlr<span class="k2">[</span>LLEFT<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 311</span>
<span class="number"> 312</span>    <span class="k1">if</span><span class="k2">(</span>joystate.stick<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">&gt;</span><span class="k3">=</span> .<span class="n">3</span><span class="k2">)</span>
<span class="number"> 313</span>      Cntrlr<span class="k2">[</span>DOWN<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 314</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>joystate.stick<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">&lt;</span><span class="k3">=</span> <span class="k3">-</span>.<span class="n">3</span><span class="k2">)</span>
<span class="number"> 315</span>      Cntrlr<span class="k2">[</span>LUP<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 316</span>    <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>joystate.stick<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">&gt;</span><span class="k3">=</span> <span class="k3">-</span>.<span class="n">3</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> joystate.stick<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">&lt;</span><span class="k3">=</span> .<span class="n">3</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> Cntrlr<span class="k2">[</span>LDOWN<span class="k2">]</span> <span class="k3">|</span><span class="k3">|</span> Cntrlr<span class="k2">[</span>LUP<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 317</span>    <span class="k2">{</span>Cntrlr<span class="k2">[</span>LDOWN<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 318</span>     Cntrlr<span class="k2">[</span>LUP<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 319</span>    
<span class="number"> 320</span>    <span class="k1">if</span><span class="k2">(</span>joystate.stick<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">&gt;</span> <span class="n">0</span> <span class="k3">|</span><span class="k3">|</span> joystate.stick<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">&lt;</span> <span class="n">0</span> <span class="k3">|</span><span class="k3">|</span> joystate.stick<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">&lt;</span> <span class="n">0</span> <span class="k3">|</span><span class="k3">|</span> joystate.stick<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span>
<span class="number"> 321</span>      Cntrlr<span class="k2">[</span>RT<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 322</span>    <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>joystate.stick<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> joystate.stick<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.axis<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> Cntrlr<span class="k2">[</span>RT<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 323</span>    <span class="k2">{</span>Cntrlr<span class="k2">[</span>RT<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 324</span>    
<span class="number"> 325</span>    <span class="k1">if</span><span class="k2">(</span>joystate.button<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span>
<span class="number"> 326</span>      Cntrlr<span class="k2">[</span>A<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 327</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>joystate.button<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> Cntrlr<span class="k2">[</span>A<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 328</span>      Cntrlr<span class="k2">[</span>A<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 329</span>    <span class="k1">if</span> <span class="k2">(</span>joystate.button<span class="k2">[</span><span class="n">6</span><span class="k2">]</span><span class="k2">)</span>
<span class="number"> 330</span>    <span class="k2">{</span>keys<span class="k2">[</span>SELECT<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 331</span>     done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 332</span>  <span class="k2">}</span>
<span class="number"> 333</span>
<span class="number"> 334</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"> 335</span>  <span class="k2">{</span>
<span class="number"> 336</span>    draw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 337</span>    <span class="c">//draw to buffer</span>
<span class="number"> 338</span>    drawBackground<span class="k2">(</span>bg<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 339</span>    drawPlanet<span class="k2">(</span>Planets, NUM_PLANETS<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 340</span>    drawBullet<span class="k2">(</span>bullets, NUM_BULLETS<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 341</span>    drawPulse<span class="k2">(</span>pulseAttack<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 342</span>    drawEnemy<span class="k2">(</span>enemy, NUM_ENEMIES<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 343</span>    drawPlayer<span class="k2">(</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 344</span>    <a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span>font18, <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">0</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span>, <span class="n">10</span>, <span class="n">10</span>, ALLEGRO_ALIGN_LEFT, <span class="s">"FPS: %d XP: %d/%d  Level: %d  player: %f,%f"</span>, framesPS, p1.expCur, p1.expNeeded, p1.level, p1.x, p1.y<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 345</span>    drawHealth<span class="k2">(</span>p1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 346</span>    <span class="k1">if</span><span class="k2">(</span>gameOver<span class="k2">)</span>
<span class="number"> 347</span>      <a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span>font18, <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">0</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span>, width<span class="k3">/</span><span class="n">2</span>, height<span class="k3">/</span><span class="n">2</span>, ALLEGRO_ALIGN_CENTRE, <span class="s">"Game Over."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 348</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"> 349</span>
<span class="number"> 350</span>    <span class="c">//clear buffer</span>
<span class="number"> 351</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">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 352</span>
<span class="number"> 353</span>    framesCur<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 354</span>  <span class="k2">}</span>
<span class="number"> 355</span>      
<span class="number"> 356</span><span class="k2">}</span>
<span class="number"> 357</span>
<span class="number"> 358</span><a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 359</span><a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>bg.pic<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 360</span><span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> NUM_ENEMIES<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 361</span><span class="k2">{</span><a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>enemy<span class="k2">[</span>i<span class="k2">]</span>.pic<span class="k2">)</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 362</span><a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>pulseAttack.pic<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 363</span><a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>p1.pic<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 364</span><a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>Planets<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.pic<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 365</span><a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>Planets<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.pic<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 366</span><a href="http://www.allegro.cc/manual/al_destroy_timer"><span class="a">al_destroy_timer</span></a><span class="k2">(</span>LPS<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 367</span><a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span>font18<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 368</span><a href="http://www.allegro.cc/manual/al_destroy_event_queue"><span class="a">al_destroy_event_queue</span></a><span class="k2">(</span>event_queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 369</span> 
<span class="number"> 370</span>
<span class="number"> 371</span><span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 372</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mishtiff)</author>
		<pubDate>Fri, 24 Oct 2014 11:06:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I don&#39;t really see anything that stands out as being wrong.  Although 100 enemies might be a problem depending on how big the sprites are.</p><p>I tried compiling it myself to try it out (using some random images to substitute) but it lacks &quot;objects.h&quot; and I don&#39;t see the code to load the images.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Fri, 24 Oct 2014 11:23:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Kudos on going the Mike Geig route, his video tutorials are good.</p><p>On the other hand, we&#39;re talking performance problems here, thus it&#39;s very hard find the reason if we can&#39;t tag a common situation in which the slowdown happens.</p><p>Does the slowdown (which I guess means diminishing FPS) seems random, or is it at timed intervals or maybe when more than (say) 10 comets are on the screen?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pkrcel)</author>
		<pubDate>Fri, 24 Oct 2014 12:42:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The enemies sprites are 64x64, that get resized to a random number between 40 and 60.<br />yeah I understand pkcrel, and I&#39;ve had a horrible time going over it and I cannot understand what I did wrong, unless its some form of bad coding that I have not learned yet.</p><p>Objects.h is a seperate header file and contains the following:</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">//Object IDs</span>
<span class="number">  2</span>
<span class="number">  3</span><span class="k1">enum</span> IDS<span class="k2">{</span>PLAYER, BULLET, ENEMY, IMAGE<span class="k2">}</span><span class="k2">;</span>
<span class="number">  4</span>
<span class="number">  5</span><span class="c">//Our Player</span>
<span class="number">  6</span><span class="k1">struct</span> Player1
<span class="number">  7</span><span class="k2">{</span>
<span class="number">  8</span>  <span class="k1">int</span> ID<span class="k2">;</span>
<span class="number">  9</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>pic<span class="k2">;</span>
<span class="number"> 10</span>  <span class="k1">int</span> picdelay<span class="k2">;</span>
<span class="number"> 11</span>  <span class="k1">int</span> picNum<span class="k2">;</span>
<span class="number"> 12</span>  <span class="k1">int</span> picDir<span class="k2">;</span>
<span class="number"> 13</span>  <span class="k1">double</span> x<span class="k2">;</span>
<span class="number"> 14</span>  <span class="k1">double</span> y<span class="k2">;</span>
<span class="number"> 15</span>  <span class="k1">int</span> speed<span class="k2">;</span>
<span class="number"> 16</span>  <span class="k1">float</span> health<span class="k2">;</span>
<span class="number"> 17</span>  <span class="k1">double</span> angle<span class="k2">;</span>
<span class="number"> 18</span>  <span class="k1">int</span> mana<span class="k2">;</span>
<span class="number"> 19</span>  <span class="k1">int</span> boundx<span class="k2">;</span>
<span class="number"> 20</span>  <span class="k1">int</span> boundy<span class="k2">;</span>
<span class="number"> 21</span>  <span class="k1">int</span> expCur<span class="k2">;</span>
<span class="number"> 22</span>  <span class="k1">int</span> expNeeded<span class="k2">;</span>
<span class="number"> 23</span>  <span class="k1">int</span> level<span class="k2">;</span>
<span class="number"> 24</span>  <span class="k1">bool</span> Movement<span class="k2">[</span><span class="n">4</span><span class="k2">]</span><span class="k2">;</span>
<span class="number"> 25</span><span class="k2">}</span><span class="k2">;</span>
<span class="number"> 26</span>
<span class="number"> 27</span>
<span class="number"> 28</span><span class="k1">struct</span> Bullet
<span class="number"> 29</span><span class="k2">{</span>
<span class="number"> 30</span>  <span class="k1">int</span> ID<span class="k2">;</span>
<span class="number"> 31</span>  <span class="k1">float</span> x<span class="k2">;</span>
<span class="number"> 32</span>  <span class="k1">float</span> y<span class="k2">;</span>
<span class="number"> 33</span>  <span class="k1">float</span> destx<span class="k2">;</span>
<span class="number"> 34</span>  <span class="k1">float</span> desty<span class="k2">;</span>
<span class="number"> 35</span>  <span class="k1">float</span> velx<span class="k2">;</span>
<span class="number"> 36</span>  <span class="k1">float</span> vely<span class="k2">;</span>
<span class="number"> 37</span>  <span class="k1">float</span> distance<span class="k2">;</span>
<span class="number"> 38</span>  <span class="k1">bool</span> live<span class="k2">;</span>
<span class="number"> 39</span>  <span class="k1">int</span> speed<span class="k2">;</span>
<span class="number"> 40</span><span class="k2">}</span><span class="k2">;</span>
<span class="number"> 41</span>
<span class="number"> 42</span>
<span class="number"> 43</span><span class="k1">struct</span> Pulse
<span class="number"> 44</span><span class="k2">{</span>
<span class="number"> 45</span>  <span class="k1">int</span> ID<span class="k2">;</span>
<span class="number"> 46</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>pic<span class="k2">;</span>
<span class="number"> 47</span>  <span class="k1">int</span> picdelay<span class="k2">;</span>
<span class="number"> 48</span>  <span class="k1">int</span> picNum<span class="k2">;</span>
<span class="number"> 49</span>  <span class="k1">float</span> x<span class="k2">;</span>
<span class="number"> 50</span>  <span class="k1">float</span> y<span class="k2">;</span>
<span class="number"> 51</span>  <span class="k1">float</span> destx<span class="k2">;</span>
<span class="number"> 52</span>  <span class="k1">float</span> desty<span class="k2">;</span>
<span class="number"> 53</span>  <span class="k1">float</span> angle<span class="k2">;</span>
<span class="number"> 54</span>  <span class="k1">float</span> velx<span class="k2">;</span>
<span class="number"> 55</span>  <span class="k1">float</span> vely<span class="k2">;</span>
<span class="number"> 56</span>  <span class="k1">float</span> distance<span class="k2">;</span>
<span class="number"> 57</span>  <span class="k1">float</span> timer<span class="k2">;</span>
<span class="number"> 58</span>  <span class="k1">bool</span> live<span class="k2">;</span>
<span class="number"> 59</span>  <span class="k1">int</span> spacing<span class="k2">;</span>
<span class="number"> 60</span><span class="k2">}</span><span class="k2">;</span>
<span class="number"> 61</span>
<span class="number"> 62</span>
<span class="number"> 63</span><span class="k1">struct</span> Enemies
<span class="number"> 64</span><span class="k2">{</span>
<span class="number"> 65</span>  <span class="k1">int</span> ID<span class="k2">;</span>
<span class="number"> 66</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>pic<span class="k2">;</span>
<span class="number"> 67</span>  <span class="k1">int</span> size<span class="k2">;</span>
<span class="number"> 68</span>  <span class="k1">int</span> x<span class="k2">;</span>
<span class="number"> 69</span>  <span class="k1">int</span> y<span class="k2">;</span>
<span class="number"> 70</span>  <span class="k1">int</span> health<span class="k2">;</span>
<span class="number"> 71</span>  <span class="k1">bool</span> live<span class="k2">;</span>
<span class="number"> 72</span>  <span class="k1">int</span> speed<span class="k2">;</span>
<span class="number"> 73</span>  <span class="k1">int</span> boundx<span class="k2">;</span>
<span class="number"> 74</span>  <span class="k1">int</span> boundy<span class="k2">;</span>
<span class="number"> 75</span>  <span class="k1">int</span> expGranted<span class="k2">;</span>
<span class="number"> 76</span><span class="k2">}</span><span class="k2">;</span>
<span class="number"> 77</span>
<span class="number"> 78</span>
<span class="number"> 79</span><span class="k1">struct</span> Image
<span class="number"> 80</span><span class="k2">{</span>
<span class="number"> 81</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>pic<span class="k2">;</span>
<span class="number"> 82</span>  <span class="k1">int</span> ID<span class="k2">;</span>
<span class="number"> 83</span>  <span class="k1">int</span> size<span class="k2">;</span>
<span class="number"> 84</span>  <span class="k1">int</span> x<span class="k2">;</span>
<span class="number"> 85</span>  <span class="k1">int</span> y<span class="k2">;</span>
<span class="number"> 86</span>  <span class="k1">int</span> speed<span class="k2">;</span>
<span class="number"> 87</span>  
<span class="number"> 88</span><span class="k2">}</span><span class="k2">;</span>
<span class="number"> 89</span>
<span class="number"> 90</span><span class="k1">struct</span> Background
<span class="number"> 91</span><span class="k2">{</span>
<span class="number"> 92</span>  <span class="k1">int</span> ID<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>pic<span class="k2">;</span>
<span class="number"> 94</span>  <span class="k1">int</span> width<span class="k2">;</span>
<span class="number"> 95</span>  <span class="k1">int</span> height<span class="k2">;</span>
<span class="number"> 96</span>  <span class="k1">int</span> placement<span class="k2">;</span>
<span class="number"> 97</span><span class="k2">}</span><span class="k2">;</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mishtiff)</author>
		<pubDate>Fri, 24 Oct 2014 12:53:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Try seeing if there is anything running on your computer that likes to steal a lot of cpu time (virus scanner?).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Fri, 24 Oct 2014 13:05:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It still won&#39;t compile because it&#39;s missing stuff like initBackground() etc.</p><p>There aren&#39;t any prototypes or definitions for what a Background is, nor a header file to do those things.  Maybe your program is garbling things as a result, due to passing incorrect types or something.</p><p>[EDIT]</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/614741/1006330#target">Thomas Fjellstrom</a> said:</div><div class="quote"><p> Try seeing if there is anything running on your computer that likes to steal a lot of cpu time (virus scanner?). </p></div></div><p>Yeah, when I asked how much cpu in Resource Meter I meant how much processor utilization, not how much memory it took.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Fri, 24 Oct 2014 13:08:42 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>the final part of my code is posted below. im sorry but i couldnt not figure out how to upload the game so you could just DL it(making things much easier). it kept saying failed at the end of the upload(possibly too large, even being compressed?)</p><p>in my resource monitor, it is using 10-14 cpu. my computer is more than able to run the latest games as well.</p><p>there is still a part i cannot link, since its too big for the post... you will have to respond for me to post the final bit.</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span><span class="k1">void</span> initPlayer<span class="k2">(</span>Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span>
<span class="number">   2</span><span class="k2">{</span>
<span class="number">   3</span>  p1.x <span class="k3">=</span> <span class="n">80</span><span class="k2">;</span>
<span class="number">   4</span>  p1.y <span class="k3">=</span> height <span class="k3">/</span> <span class="n">2</span><span class="k2">;</span>
<span class="number">   5</span>  p1.ID <span class="k3">=</span> PLAYER<span class="k2">;</span>
<span class="number">   6</span>  p1.pic <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">"Spaceship.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   7</span>  <a href="http://www.allegro.cc/manual/al_convert_mask_to_alpha"><span class="a">al_convert_mask_to_alpha</span></a><span class="k2">(</span>p1.pic, <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">0</span>, <span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   8</span>  p1.picDir <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">   9</span>  p1.picNum <span class="k3">=</span> <span class="n">4</span><span class="k2">;</span>
<span class="number">  10</span>  p1.picdelay <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  11</span>  p1.angle <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  12</span>  p1.health <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number">  13</span>  p1.mana <span class="k3">=</span> <span class="n">50</span><span class="k2">;</span>
<span class="number">  14</span>  p1.speed <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number">  15</span>  p1.expCur <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  16</span>  p1.expNeeded <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number">  17</span>  p1.boundx <span class="k3">=</span> <span class="n">40</span><span class="k2">;</span>
<span class="number">  18</span>  p1.boundy <span class="k3">=</span> <span class="n">35</span><span class="k2">;</span>
<span class="number">  19</span>  p1.level <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  20</span>
<span class="number">  21</span><span class="k2">}</span>
<span class="number">  22</span><span class="k1">void</span> updatePlayer<span class="k2">(</span>Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span>
<span class="number">  23</span><span class="k2">{</span>
<span class="number">  24</span>  p1.picdelay<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number">  25</span>  <span class="k1">if</span><span class="k2">(</span>p1.picdelay <span class="k3">=</span><span class="k3">=</span> <span class="n">8</span><span class="k2">)</span>
<span class="number">  26</span>  <span class="k2">{</span>p1.picNum--<span class="k2">;</span> p1.picdelay <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span><span class="k2">}</span>
<span class="number">  27</span>  <span class="k1">if</span><span class="k2">(</span>p1.picNum <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span> <span class="k2">{</span>p1.picNum <span class="k3">=</span> <span class="n">4</span><span class="k2">;</span><span class="k2">}</span>
<span class="number">  28</span>  p1.angle <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_50.html" target="_blank">atan2</a><span class="k2">(</span><span class="k2">(</span>mousey <span class="k3">-</span> p1.y<span class="k2">)</span>, <span class="k2">(</span>mousex <span class="k3">-</span> p1.x<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  29</span><span class="k2">}</span>
<span class="number">  30</span><span class="k1">void</span> movePlayerUp<span class="k2">(</span>Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span>
<span class="number">  31</span><span class="k2">{</span>
<span class="number">  32</span>  <span class="k1">if</span><span class="k2">(</span>p1.picDir <span class="k3">!</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span>
<span class="number">  33</span>  <span class="k2">{</span>p1.picDir <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span><span class="k2">}</span>
<span class="number">  34</span>  p1.y <span class="k3">-</span><span class="k3">=</span> p1.speed<span class="k2">;</span>
<span class="number">  35</span>  mousey <span class="k3">-</span><span class="k3">=</span> p1.speed<span class="k2">;</span>
<span class="number">  36</span>  <span class="k1">if</span><span class="k2">(</span>p1.y <span class="k3">&lt;</span> <span class="n">0</span><span class="k2">)</span> p1.y <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  37</span><span class="k2">}</span>
<span class="number">  38</span><span class="k1">void</span> movePlayerDown<span class="k2">(</span>Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span>
<span class="number">  39</span><span class="k2">{</span>
<span class="number">  40</span>  <span class="k1">if</span><span class="k2">(</span>p1.picDir <span class="k3">!</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number">  41</span>  <span class="k2">{</span>p1.picDir <span class="k3">=</span> <span class="n">2</span><span class="k2">;</span><span class="k2">}</span>
<span class="number">  42</span>  p1.y <span class="k3">+</span><span class="k3">=</span> p1.speed<span class="k2">;</span>
<span class="number">  43</span>  mousey <span class="k3">+</span><span class="k3">=</span> p1.speed<span class="k2">;</span>
<span class="number">  44</span>  <span class="k1">if</span><span class="k2">(</span>p1.y <span class="k3">+</span> <span class="n">30</span> <span class="k3">&gt;</span> height<span class="k2">)</span> p1.y <span class="k3">=</span> height <span class="k3">-</span> <span class="n">30</span><span class="k2">;</span>
<span class="number">  45</span><span class="k2">}</span>
<span class="number">  46</span><span class="k1">void</span> movePlayerLeft<span class="k2">(</span>Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span>
<span class="number">  47</span><span class="k2">{</span>
<span class="number">  48</span>  <span class="k1">if</span><span class="k2">(</span>p1.picDir <span class="k3">!</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number">  49</span>  <span class="k2">{</span>p1.picDir <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span><span class="k2">}</span>
<span class="number">  50</span>  p1.x <span class="k3">-</span><span class="k3">=</span> p1.speed<span class="k2">;</span>
<span class="number">  51</span>  mousex <span class="k3">-</span><span class="k3">=</span> p1.speed<span class="k2">;</span>
<span class="number">  52</span>  <span class="k1">if</span><span class="k2">(</span>p1.x <span class="k3">&lt;</span> <span class="n">0</span><span class="k2">)</span> p1.x <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  53</span><span class="k2">}</span>
<span class="number">  54</span><span class="k1">void</span> movePlayerRight<span class="k2">(</span>Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span>
<span class="number">  55</span><span class="k2">{</span>
<span class="number">  56</span>  <span class="k1">if</span><span class="k2">(</span>p1.picDir <span class="k3">!</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number">  57</span>  <span class="k2">{</span>p1.picDir <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span><span class="k2">}</span>
<span class="number">  58</span>  p1.x <span class="k3">+</span><span class="k3">=</span> p1.speed<span class="k2">;</span>
<span class="number">  59</span>  mousex <span class="k3">+</span><span class="k3">=</span> p1.speed<span class="k2">;</span>
<span class="number">  60</span>  <span class="k1">if</span><span class="k2">(</span>p1.x <span class="k3">+</span> <span class="n">30</span> <span class="k3">&gt;</span> width<span class="k2">)</span> p1.x <span class="k3">=</span> width <span class="k3">-</span> <span class="n">30</span><span class="k2">;</span>  
<span class="number">  61</span><span class="k2">}</span>
<span class="number">  62</span><span class="k1">void</span> drawPlayer<span class="k2">(</span>Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span>
<span class="number">  63</span><span class="k2">{</span>
<span class="number">  64</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>plchdr <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_bitmap"><span class="a">al_create_bitmap</span></a><span class="k2">(</span><span class="n">47</span>, <span class="n">41</span><span class="k2">)</span>, <span class="k3">*</span>plchdr1 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_bitmap"><span class="a">al_create_bitmap</span></a><span class="k2">(</span><span class="n">94</span>, <span class="n">82</span><span class="k2">)</span>, <span class="k3">*</span>prev_bmp<span class="k2">;</span>
<span class="number">  65</span>  prev_bmp <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_target_bitmap"><span class="a">al_get_target_bitmap</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_set_target_bitmap"><span class="a">al_set_target_bitmap</span></a><span class="k2">(</span>plchdr<span class="k2">)</span><span class="k2">;</span>
<span class="number">  67</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>p1.pic, p1.picNum <span class="k3">*</span> <span class="n">47</span>, p1.picDir <span class="k3">*</span> <span class="n">41</span>, <span class="n">47</span>, <span class="n">41</span>, <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">  68</span>  <a href="http://www.allegro.cc/manual/al_set_target_bitmap"><span class="a">al_set_target_bitmap</span></a><span class="k2">(</span>plchdr1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>  <a href="http://www.allegro.cc/manual/al_draw_scaled_bitmap"><span class="a">al_draw_scaled_bitmap</span></a><span class="k2">(</span>plchdr, <span class="n">0</span>, <span class="n">0</span>, <span class="n">47</span>, <span class="n">41</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">94</span>, <span class="n">82</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  70</span>  <a href="http://www.allegro.cc/manual/al_set_target_bitmap"><span class="a">al_set_target_bitmap</span></a><span class="k2">(</span>prev_bmp<span class="k2">)</span><span class="k2">;</span>
<span class="number">  71</span>  <a href="http://www.allegro.cc/manual/al_draw_rotated_bitmap"><span class="a">al_draw_rotated_bitmap</span></a><span class="k2">(</span>plchdr1, <span class="n">90</span>, <span class="n">41</span>, p1.x, p1.y, p1.angle, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  72</span>  <span class="c">//DEBUGGING: bounding box for player</span>
<span class="number">  73</span>  <span class="c">//al_draw_rectangle(p1.x - p1.boundx, p1.y - p1.boundy, p1.x + p1.boundx, p1.y + p1.boundy, al_map_rgb(255,255,255), 4);</span>
<span class="number">  74</span>  <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>plchdr<span class="k2">)</span><span class="k2">;</span>
<span class="number">  75</span>  <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>plchdr1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  76</span><span class="k2">}</span>
<span class="number">  77</span><span class="k1">void</span> drawHealth<span class="k2">(</span>Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span>
<span class="number">  78</span><span class="k2">{</span>
<span class="number">  79</span>  <span class="k1">if</span><span class="k2">(</span>p1.health <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span>
<span class="number">  80</span>  <span class="k2">{</span>
<span class="number">  81</span>    <span class="k1">float</span> curHealth <span class="k3">=</span> <span class="k2">(</span>p1.health <span class="k3">*</span> <span class="n">4</span><span class="k2">)</span> <span class="k3">+</span> <span class="n">20</span><span class="k2">;</span>
<span class="number">  82</span>    <a href="http://www.allegro.cc/manual/al_draw_filled_rectangle"><span class="a">al_draw_filled_rectangle</span></a><span class="k2">(</span><span class="n">20</span>, <span class="n">50</span>, curHealth, <span class="n">90</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">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  83</span>  <span class="k2">}</span>
<span class="number">  84</span>  <span class="k1">float</span> firstpoint <span class="k3">=</span> <span class="n">20</span><span class="k2">;</span>
<span class="number">  85</span>  <span class="k1">float</span> secondpoint <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  86</span>  <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> i <span class="k3">&lt;</span> <span class="n">11</span><span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  87</span>  <span class="k2">{</span>
<span class="number">  88</span>    <span class="k1">if</span><span class="k2">(</span>i <span class="k3">!</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number">  89</span>      firstpoint <span class="k3">+</span><span class="k3">=</span> <span class="n">40</span><span class="k2">;</span>
<span class="number">  90</span>    secondpoint <span class="k3">=</span> firstpoint <span class="k3">+</span> <span class="n">40</span><span class="k2">;</span>
<span class="number">  91</span>    <a href="http://www.allegro.cc/manual/al_draw_rectangle"><span class="a">al_draw_rectangle</span></a><span class="k2">(</span>firstpoint, <span class="n">50</span>, secondpoint, <span class="n">90</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">50</span>, <span class="n">50</span><span class="k2">)</span>, <span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  92</span>  <span class="k2">}</span>
<span class="number">  93</span><span class="k2">}</span>
<span class="number">  94</span>
<span class="number">  95</span><span class="k1">void</span> initBullet<span class="k2">(</span>Bullet bullet<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> size<span class="k2">)</span>
<span class="number">  96</span><span class="k2">{</span>
<span class="number">  97</span>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> size<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  98</span>  <span class="k2">{</span>
<span class="number">  99</span>    bullet<span class="k2">[</span>i<span class="k2">]</span>.ID <span class="k3">=</span> BULLET<span class="k2">;</span> 
<span class="number"> 100</span>    bullet<span class="k2">[</span>i<span class="k2">]</span>.speed <span class="k3">=</span> <span class="n">15</span><span class="k2">;</span>
<span class="number"> 101</span>    bullet<span class="k2">[</span>i<span class="k2">]</span>.destx <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 102</span>    bullet<span class="k2">[</span>i<span class="k2">]</span>.desty <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 103</span>    bullet<span class="k2">[</span>i<span class="k2">]</span>.distance <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 104</span>    bullet<span class="k2">[</span>i<span class="k2">]</span>.velx <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 105</span>    bullet<span class="k2">[</span>i<span class="k2">]</span>.vely <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 106</span>    bullet<span class="k2">[</span>i<span class="k2">]</span>.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 107</span>  <span class="k2">}</span>
<span class="number"> 108</span><span class="k1">void</span> drawBullet<span class="k2">(</span>Bullet bullet<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> size<span class="k2">)</span>
<span class="number"> 109</span><span class="k2">{</span>
<span class="number"> 110</span>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> size<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 111</span>  <span class="k2">{</span>
<span class="number"> 112</span>    <span class="k1">if</span><span class="k2">(</span>bullet<span class="k2">[</span>i<span class="k2">]</span>.live<span class="k2">)</span>
<span class="number"> 113</span>    <span class="k2">{</span>
<span class="number"> 114</span>      <a href="http://www.allegro.cc/manual/al_draw_line"><span class="a">al_draw_line</span></a><span class="k2">(</span>bullet<span class="k2">[</span>i<span class="k2">]</span>.x, bullet<span class="k2">[</span>i<span class="k2">]</span>.y, bullet<span class="k2">[</span>i<span class="k2">]</span>.x <span class="k3">+</span> bullet<span class="k2">[</span>i<span class="k2">]</span>.velx, bullet<span class="k2">[</span>i<span class="k2">]</span>.y <span class="k3">+</span> bullet<span class="k2">[</span>i<span class="k2">]</span>.vely, <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">0</span>, <span class="n">255</span>, <span class="n">0</span><span class="k2">)</span>, <span class="n">2</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 115</span>    <span class="k2">}</span>
<span class="number"> 116</span>  <span class="k2">}</span>
<span class="number"> 117</span><span class="k2">}</span>
<span class="number"> 118</span><span class="k1">void</span> fireBullet<span class="k2">(</span>Bullet bullet<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> size, Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span>
<span class="number"> 119</span><span class="k2">{</span>
<span class="number"> 120</span>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> size<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 121</span>  <span class="k2">{</span>
<span class="number"> 122</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>bullet<span class="k2">[</span>i<span class="k2">]</span>.live<span class="k2">)</span>
<span class="number"> 123</span>    <span class="k2">{</span>
<span class="number"> 124</span>      bullet<span class="k2">[</span>i<span class="k2">]</span>.x <span class="k3">=</span> p1.x<span class="k2">;</span>
<span class="number"> 125</span>      bullet<span class="k2">[</span>i<span class="k2">]</span>.y <span class="k3">=</span> p1.y<span class="k2">;</span>
<span class="number"> 126</span>      bullet<span class="k2">[</span>i<span class="k2">]</span>.destx <span class="k3">=</span> mousex<span class="k2">;</span>
<span class="number"> 127</span>      bullet<span class="k2">[</span>i<span class="k2">]</span>.desty <span class="k3">=</span> mousey<span class="k2">;</span>
<span class="number"> 128</span>      bullet<span class="k2">[</span>i<span class="k2">]</span>.distance <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_738.html" target="_blank">sqrt</a><span class="k2">(</span><span class="k2">(</span>bullet<span class="k2">[</span>i<span class="k2">]</span>.desty <span class="k3">-</span> bullet<span class="k2">[</span>i<span class="k2">]</span>.y<span class="k2">)</span> <span class="k3">*</span> <span class="k2">(</span>bullet<span class="k2">[</span>i<span class="k2">]</span>.desty <span class="k3">-</span> bullet<span class="k2">[</span>i<span class="k2">]</span>.y<span class="k2">)</span> <span class="k3">+</span> <span class="k2">(</span>bullet<span class="k2">[</span>i<span class="k2">]</span>.destx <span class="k3">-</span> bullet<span class="k2">[</span>i<span class="k2">]</span>.x<span class="k2">)</span> <span class="k3">*</span> <span class="k2">(</span>bullet<span class="k2">[</span>i<span class="k2">]</span>.destx <span class="k3">-</span> bullet<span class="k2">[</span>i<span class="k2">]</span>.x<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 129</span>      bullet<span class="k2">[</span>i<span class="k2">]</span>.velx <span class="k3">=</span> bullet<span class="k2">[</span>i<span class="k2">]</span>.speed <span class="k3">*</span> <span class="k2">(</span>bullet<span class="k2">[</span>i<span class="k2">]</span>.destx <span class="k3">-</span> bullet<span class="k2">[</span>i<span class="k2">]</span>.x<span class="k2">)</span> <span class="k3">/</span> bullet<span class="k2">[</span>i<span class="k2">]</span>.distance<span class="k2">;</span>
<span class="number"> 130</span>      bullet<span class="k2">[</span>i<span class="k2">]</span>.vely <span class="k3">=</span> bullet<span class="k2">[</span>i<span class="k2">]</span>.speed <span class="k3">*</span> <span class="k2">(</span>bullet<span class="k2">[</span>i<span class="k2">]</span>.desty <span class="k3">-</span> bullet<span class="k2">[</span>i<span class="k2">]</span>.y<span class="k2">)</span> <span class="k3">/</span> bullet<span class="k2">[</span>i<span class="k2">]</span>.distance<span class="k2">;</span>
<span class="number"> 131</span>      bullet<span class="k2">[</span>i<span class="k2">]</span>.live <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span> 
<span class="number"> 132</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 133</span>    <span class="k2">}</span>
<span class="number"> 134</span>  <span class="k2">}</span>
<span class="number"> 135</span><span class="k2">}</span>
<span class="number"> 136</span><span class="k1">void</span> updateBullet<span class="k2">(</span>Bullet bullet<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> size<span class="k2">)</span>
<span class="number"> 137</span><span class="k2">{</span>
<span class="number"> 138</span>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> size<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 139</span>  <span class="k2">{</span>
<span class="number"> 140</span>    <span class="k1">if</span><span class="k2">(</span>bullet<span class="k2">[</span>i<span class="k2">]</span>.live<span class="k2">)</span>
<span class="number"> 141</span>    <span class="k2">{</span>
<span class="number"> 142</span>      bullet<span class="k2">[</span>i<span class="k2">]</span>.x <span class="k3">+</span><span class="k3">=</span> bullet<span class="k2">[</span>i<span class="k2">]</span>.velx<span class="k2">;</span>
<span class="number"> 143</span>      bullet<span class="k2">[</span>i<span class="k2">]</span>.y <span class="k3">+</span><span class="k3">=</span> bullet<span class="k2">[</span>i<span class="k2">]</span>.vely<span class="k2">;</span>
<span class="number"> 144</span>      <span class="k1">if</span><span class="k2">(</span>bullet<span class="k2">[</span>i<span class="k2">]</span>.x <span class="k3">&gt;</span> width <span class="k3">|</span><span class="k3">|</span> bullet<span class="k2">[</span>i<span class="k2">]</span>.x <span class="k3">&lt;</span> <span class="n">0</span> <span class="k3">|</span><span class="k3">|</span> bullet<span class="k2">[</span>i<span class="k2">]</span>.y <span class="k3">&gt;</span> height <span class="k3">|</span><span class="k3">|</span> bullet<span class="k2">[</span>i<span class="k2">]</span>.y <span class="k3">&lt;</span> <span class="n">0</span><span class="k2">)</span>
<span class="number"> 145</span>        bullet<span class="k2">[</span>i<span class="k2">]</span>.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 146</span>    <span class="k2">}</span>
<span class="number"> 147</span>  <span class="k2">}</span>
<span class="number"> 148</span><span class="k2">}</span>
<span class="number"> 149</span><span class="k1">void</span> collideBullet<span class="k2">(</span>Bullet bullet<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> bsize, Enemies enemy<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> csize, Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span>
<span class="number"> 150</span><span class="k2">{</span>
<span class="number"> 151</span>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> bsize<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 152</span>  <span class="k2">{</span>
<span class="number"> 153</span>    <span class="k1">if</span><span class="k2">(</span>bullet<span class="k2">[</span>i<span class="k2">]</span>.live<span class="k2">)</span>
<span class="number"> 154</span>    <span class="k2">{</span>
<span class="number"> 155</span>      <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> j <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> j <span class="k3">&lt;</span> csize<span class="k2">;</span> j<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 156</span>      <span class="k2">{</span>
<span class="number"> 157</span>        <span class="k1">if</span><span class="k2">(</span>enemy<span class="k2">[</span>j<span class="k2">]</span>.live<span class="k2">)</span>
<span class="number"> 158</span>        <span class="k2">{</span>
<span class="number"> 159</span>          <span class="k1">if</span><span class="k2">(</span>bullet<span class="k2">[</span>i<span class="k2">]</span>.x <span class="k3">&gt;</span><span class="k3">=</span> <span class="k2">(</span>enemy<span class="k2">[</span>j<span class="k2">]</span>.x <span class="k3">-</span> enemy<span class="k2">[</span>j<span class="k2">]</span>.boundx<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span>
<span class="number"> 160</span>            bullet<span class="k2">[</span>i<span class="k2">]</span>.x <span class="k3">&lt;</span><span class="k3">=</span> <span class="k2">(</span>enemy<span class="k2">[</span>j<span class="k2">]</span>.x <span class="k3">+</span> enemy<span class="k2">[</span>j<span class="k2">]</span>.boundx<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span>
<span class="number"> 161</span>            bullet<span class="k2">[</span>i<span class="k2">]</span>.y <span class="k3">&gt;</span><span class="k3">=</span> <span class="k2">(</span>enemy<span class="k2">[</span>j<span class="k2">]</span>.y <span class="k3">-</span> enemy<span class="k2">[</span>j<span class="k2">]</span>.boundy<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span>
<span class="number"> 162</span>            bullet<span class="k2">[</span>i<span class="k2">]</span>.y <span class="k3">&lt;</span><span class="k3">=</span> <span class="k2">(</span>enemy<span class="k2">[</span>j<span class="k2">]</span>.y <span class="k3">+</span> enemy<span class="k2">[</span>j<span class="k2">]</span>.boundy<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 163</span>          <span class="k2">{</span>
<span class="number"> 164</span>            bullet<span class="k2">[</span>i<span class="k2">]</span>.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 165</span>            enemy<span class="k2">[</span>j<span class="k2">]</span>.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 166</span>            p1.expCur <span class="k3">+</span><span class="k3">=</span> enemy<span class="k2">[</span>j<span class="k2">]</span>.size<span class="k2">;</span>
<span class="number"> 167</span>          <span class="k2">}</span>
<span class="number"> 168</span>        <span class="k2">}</span>
<span class="number"> 169</span>
<span class="number"> 170</span>      <span class="k2">}</span>
<span class="number"> 171</span>    <span class="k2">}</span>
<span class="number"> 172</span>  <span class="k2">}</span>
<span class="number"> 173</span><span class="k2">}</span>
<span class="number"> 174</span>
<span class="number"> 175</span>
<span class="number"> 176</span><span class="k1">void</span> initPulse<span class="k2">(</span>Pulse <span class="k3">&amp;</span>pulseAttack<span class="k2">)</span>
<span class="number"> 177</span><span class="k2">{</span>
<span class="number"> 178</span>  pulseAttack.ID <span class="k3">=</span> BULLET<span class="k2">;</span>
<span class="number"> 179</span>  pulseAttack.pic <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">"Pulse.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 180</span>  <a href="http://www.allegro.cc/manual/al_convert_mask_to_alpha"><span class="a">al_convert_mask_to_alpha</span></a><span class="k2">(</span>pulseAttack.pic, <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">0</span>, <span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 181</span>  pulseAttack.picNum <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 182</span>  pulseAttack.picdelay <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 183</span>  pulseAttack.timer <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 184</span>  pulseAttack.spacing <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 185</span>  pulseAttack.destx <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 186</span>  pulseAttack.desty <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 187</span>  pulseAttack.velx <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 188</span>  pulseAttack.vely <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 189</span>  pulseAttack.distance <span class="k3">=</span> <span class="n">600</span><span class="k2">;</span>
<span class="number"> 190</span>  pulseAttack.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 191</span><span class="k2">}</span>
<span class="number"> 192</span><span class="k1">void</span> drawPulse<span class="k2">(</span>Pulse <span class="k3">&amp;</span>pulseAttack<span class="k2">)</span>
<span class="number"> 193</span><span class="k2">{</span>
<span class="number"> 194</span>  <span class="k1">if</span><span class="k2">(</span>pulseAttack.live<span class="k2">)</span>
<span class="number"> 195</span>  <span class="k2">{</span>
<span class="number"> 196</span>    <span class="k1">if</span><span class="k2">(</span>pulseAttack.timer <span class="k3">&lt;</span> <span class="n">4</span><span class="k2">)</span>
<span class="number"> 197</span>    <span class="k2">{</span>
<span class="number"> 198</span>      <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> pulseAttack.picNum<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 199</span>      <span class="k2">{</span>
<span class="number"> 200</span>        <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>plchdr <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_bitmap"><span class="a">al_create_bitmap</span></a><span class="k2">(</span><span class="n">15</span>, <span class="n">60</span><span class="k2">)</span>, <span class="k3">*</span>plchdr1 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_bitmap"><span class="a">al_create_bitmap</span></a><span class="k2">(</span><span class="n">240</span>, <span class="n">360</span><span class="k2">)</span>, <span class="k3">*</span>prev_bmp<span class="k2">;</span>
<span class="number"> 201</span>        prev_bmp <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_target_bitmap"><span class="a">al_get_target_bitmap</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 202</span>        <a href="http://www.allegro.cc/manual/al_set_target_bitmap"><span class="a">al_set_target_bitmap</span></a><span class="k2">(</span>plchdr<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 203</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>pulseAttack.pic, i <span class="k3">*</span> <span class="n">15</span>, <span class="n">0</span>, <span class="n">15</span>, <span class="n">60</span>, <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"> 204</span>        <a href="http://www.allegro.cc/manual/al_set_target_bitmap"><span class="a">al_set_target_bitmap</span></a><span class="k2">(</span>plchdr1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 205</span>        <a href="http://www.allegro.cc/manual/al_draw_scaled_bitmap"><span class="a">al_draw_scaled_bitmap</span></a><span class="k2">(</span>plchdr, <span class="n">0</span>, <span class="n">0</span>, <span class="n">15</span>, <span class="n">60</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">240</span>, <span class="n">360</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 206</span>        <a href="http://www.allegro.cc/manual/al_set_target_bitmap"><span class="a">al_set_target_bitmap</span></a><span class="k2">(</span>prev_bmp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 207</span>        <a href="http://www.allegro.cc/manual/al_draw_rotated_bitmap"><span class="a">al_draw_rotated_bitmap</span></a><span class="k2">(</span>plchdr1, <span class="n">80</span>, <span class="n">190</span>, pulseAttack.x <span class="k3">+</span> <span class="k2">(</span>pulseAttack.velx <span class="k3">*</span> <span class="k2">(</span>i <span class="k3">*</span> <span class="n">5</span><span class="k2">)</span><span class="k2">)</span>, pulseAttack.y <span class="k3">+</span> <span class="k2">(</span>pulseAttack.vely <span class="k3">*</span> <span class="k2">(</span>i <span class="k3">*</span> <span class="n">5</span><span class="k2">)</span><span class="k2">)</span>, pulseAttack.angle, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 208</span>        <span class="c">//DEBUGGING: bounding box for pulse</span>
<span class="number"> 209</span>        <span class="c">//al_draw_rectangle(pulseAttack.x, pulseAttack.y, pulseAttack.x, pulseAttack.y, al_map_rgb(255,255,255), 4);</span>
<span class="number"> 210</span>        <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>plchdr<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 211</span>        <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>plchdr1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 212</span>      <span class="k2">}</span>
<span class="number"> 213</span>    <span class="k2">}</span>
<span class="number"> 214</span>    <span class="k1">else</span>
<span class="number"> 215</span>    <span class="k2">{</span>
<span class="number"> 216</span>      <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> pulseAttack.picNum<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 217</span>        <span class="k2">{</span>
<span class="number"> 218</span>          <span class="k1">if</span><span class="k2">(</span>i <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> pulseAttack.timer <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">5</span> <span class="k3">|</span><span class="k3">|</span> i <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> pulseAttack.timer <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">6</span> <span class="k3">|</span><span class="k3">|</span> i <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> pulseAttack.timer <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">7</span> <span class="k3">|</span><span class="k3">|</span> i <span class="k3">=</span><span class="k3">=</span> <span class="n">3</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> pulseAttack.timer <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">8</span><span class="k2">)</span>
<span class="number"> 219</span>            <span class="k1">continue</span><span class="k2">;</span>
<span class="number"> 220</span>          <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>plchdr <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_bitmap"><span class="a">al_create_bitmap</span></a><span class="k2">(</span><span class="n">15</span>, <span class="n">60</span><span class="k2">)</span>, <span class="k3">*</span>plchdr1 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_bitmap"><span class="a">al_create_bitmap</span></a><span class="k2">(</span><span class="n">240</span>, <span class="n">360</span><span class="k2">)</span>, <span class="k3">*</span>prev_bmp<span class="k2">;</span>
<span class="number"> 221</span>          prev_bmp <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_target_bitmap"><span class="a">al_get_target_bitmap</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 222</span>          <a href="http://www.allegro.cc/manual/al_set_target_bitmap"><span class="a">al_set_target_bitmap</span></a><span class="k2">(</span>plchdr<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 223</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>pulseAttack.pic, i <span class="k3">*</span> <span class="n">15</span>, <span class="n">0</span>, <span class="n">15</span>, <span class="n">60</span>, <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"> 224</span>          <a href="http://www.allegro.cc/manual/al_set_target_bitmap"><span class="a">al_set_target_bitmap</span></a><span class="k2">(</span>plchdr1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 225</span>          <a href="http://www.allegro.cc/manual/al_draw_scaled_bitmap"><span class="a">al_draw_scaled_bitmap</span></a><span class="k2">(</span>plchdr, <span class="n">0</span>, <span class="n">0</span>, <span class="n">15</span>, <span class="n">60</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">240</span>, <span class="n">360</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 226</span>          <a href="http://www.allegro.cc/manual/al_set_target_bitmap"><span class="a">al_set_target_bitmap</span></a><span class="k2">(</span>prev_bmp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 227</span>          <a href="http://www.allegro.cc/manual/al_draw_rotated_bitmap"><span class="a">al_draw_rotated_bitmap</span></a><span class="k2">(</span>plchdr1, <span class="n">80</span>, <span class="n">190</span>, pulseAttack.x <span class="k3">+</span> <span class="k2">(</span>pulseAttack.velx <span class="k3">*</span> <span class="k2">(</span>i <span class="k3">*</span> <span class="n">5</span><span class="k2">)</span><span class="k2">)</span>, pulseAttack.y <span class="k3">+</span> <span class="k2">(</span>pulseAttack.vely <span class="k3">*</span> <span class="k2">(</span>i <span class="k3">*</span> <span class="n">5</span><span class="k2">)</span><span class="k2">)</span>, pulseAttack.angle, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 228</span>          <span class="c">//DEBUGGING: bounding box for pulse</span>
<span class="number"> 229</span>          <span class="c">//al_draw_rectangle(pulseAttack.x, pulseAttack.y, pulseAttack.x, pulseAttack.y, al_map_rgb(255,255,255), 4);</span>
<span class="number"> 230</span>          <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>plchdr<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 231</span>          <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>plchdr1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 232</span>        <span class="k2">}</span>
<span class="number"> 233</span>
<span class="number"> 234</span>    <span class="k2">}</span>
<span class="number"> 235</span>  <span class="k2">}</span>
<span class="number"> 236</span><span class="k2">}</span>
<span class="number"> 237</span><span class="k1">void</span> firePulse<span class="k2">(</span>Pulse <span class="k3">&amp;</span>pulseAttack, Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span>
<span class="number"> 238</span><span class="k2">{</span>
<span class="number"> 239</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>pulseAttack.live<span class="k2">)</span>
<span class="number"> 240</span>    <span class="k2">{</span>
<span class="number"> 241</span>      pulseAttack.x <span class="k3">=</span> p1.x<span class="k2">;</span>
<span class="number"> 242</span>      pulseAttack.y <span class="k3">=</span> p1.y<span class="k2">;</span>
<span class="number"> 243</span>      pulseAttack.destx <span class="k3">=</span> mousex<span class="k2">;</span>
<span class="number"> 244</span>      pulseAttack.desty <span class="k3">=</span> mousey<span class="k2">;</span>
<span class="number"> 245</span>      pulseAttack.velx <span class="k3">=</span> pulseAttack.spacing <span class="k3">*</span> <span class="k2">(</span>pulseAttack.destx <span class="k3">-</span> pulseAttack.x<span class="k2">)</span> <span class="k3">/</span> pulseAttack.distance<span class="k2">;</span>
<span class="number"> 246</span>      pulseAttack.vely <span class="k3">=</span> pulseAttack.spacing <span class="k3">*</span> <span class="k2">(</span>pulseAttack.desty <span class="k3">-</span> pulseAttack.y<span class="k2">)</span> <span class="k3">/</span> pulseAttack.distance<span class="k2">;</span>
<span class="number"> 247</span>      pulseAttack.angle <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_50.html" target="_blank">atan2</a><span class="k2">(</span><span class="k2">(</span>mousey <span class="k3">-</span> p1.y<span class="k2">)</span>, <span class="k2">(</span>mousex <span class="k3">-</span> p1.x<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 248</span>      pulseAttack.timer <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 249</span>      pulseAttack.picNum <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 250</span>      pulseAttack.live <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span> 
<span class="number"> 251</span>    <span class="k2">}</span>
<span class="number"> 252</span><span class="k2">}</span>
<span class="number"> 253</span><span class="k1">void</span> updatePulse<span class="k2">(</span>Pulse <span class="k3">&amp;</span>pulseAttack, Player1 <span class="k3">&amp;</span>p1<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>pulseAttack.live<span class="k2">)</span>
<span class="number"> 256</span>    <span class="k2">{</span>
<span class="number"> 257</span>      pulseAttack.picdelay<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 258</span>      pulseAttack.destx <span class="k3">=</span> mousex<span class="k2">;</span>
<span class="number"> 259</span>      pulseAttack.desty <span class="k3">=</span> mousey<span class="k2">;</span>
<span class="number"> 260</span>      pulseAttack.velx <span class="k3">=</span> pulseAttack.spacing <span class="k3">*</span> <span class="k2">(</span>pulseAttack.destx <span class="k3">-</span> pulseAttack.x<span class="k2">)</span> <span class="k3">/</span> pulseAttack.distance<span class="k2">;</span>
<span class="number"> 261</span>      pulseAttack.vely <span class="k3">=</span> pulseAttack.spacing <span class="k3">*</span> <span class="k2">(</span>pulseAttack.desty <span class="k3">-</span> pulseAttack.y<span class="k2">)</span> <span class="k3">/</span> pulseAttack.distance<span class="k2">;</span>
<span class="number"> 262</span>      pulseAttack.x <span class="k3">=</span> p1.x<span class="k2">;</span>
<span class="number"> 263</span>      pulseAttack.y <span class="k3">=</span> p1.y<span class="k2">;</span>
<span class="number"> 264</span>      pulseAttack.angle <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_50.html" target="_blank">atan2</a><span class="k2">(</span><span class="k2">(</span>mousey <span class="k3">-</span> p1.y<span class="k2">)</span>, <span class="k2">(</span>mousex <span class="k3">-</span> p1.x<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 265</span>      <span class="k1">if</span><span class="k2">(</span>pulseAttack.picdelay <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number"> 266</span>      <span class="k2">{</span>
<span class="number"> 267</span>        pulseAttack.picNum<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 268</span>        pulseAttack.picdelay <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 269</span>        pulseAttack.timer<span class="k3">+</span><span class="k3">+</span><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>pulseAttack.timer <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">8</span><span class="k2">)</span>
<span class="number"> 272</span>        pulseAttack.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 273</span>    <span class="k2">}</span>
<span class="number"> 274</span><span class="k2">}</span>
<span class="number"> 275</span><span class="k1">void</span> collidePulse<span class="k2">(</span>Pulse <span class="k3">&amp;</span>pulseAttack, Enemies enemy<span class="k2">[</span><span class="k2">]</span>, <span class="k1">int</span> csize, Player1 <span class="k3">&amp;</span>p1<span class="k2">)</span>
<span class="number"> 276</span><span class="k2">{</span>
<span class="number"> 277</span>  <span class="k1">if</span><span class="k2">(</span>pulseAttack.live<span class="k2">)</span>
<span class="number"> 278</span>    <span class="k2">{</span>
<span class="number"> 279</span>      <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> j <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> j <span class="k3">&lt;</span> csize<span class="k2">;</span> j<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 280</span>      <span class="k2">{</span>
<span class="number"> 281</span>        <span class="k1">if</span><span class="k2">(</span>enemy<span class="k2">[</span>j<span class="k2">]</span>.live<span class="k2">)</span>
<span class="number"> 282</span>        <span class="k2">{</span>
<span class="number"> 283</span>          <span class="k1">if</span><span class="k2">(</span>pulseAttack.x <span class="k3">&gt;</span><span class="k3">=</span> <span class="k2">(</span>enemy<span class="k2">[</span>j<span class="k2">]</span>.x <span class="k3">-</span> enemy<span class="k2">[</span>j<span class="k2">]</span>.boundx<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span>
<span class="number"> 284</span>            pulseAttack.x <span class="k3">&lt;</span><span class="k3">=</span> <span class="k2">(</span>enemy<span class="k2">[</span>j<span class="k2">]</span>.x <span class="k3">+</span> enemy<span class="k2">[</span>j<span class="k2">]</span>.boundx<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span>
<span class="number"> 285</span>            pulseAttack.y <span class="k3">&gt;</span><span class="k3">=</span> <span class="k2">(</span>enemy<span class="k2">[</span>j<span class="k2">]</span>.y <span class="k3">-</span> enemy<span class="k2">[</span>j<span class="k2">]</span>.boundy<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span>
<span class="number"> 286</span>            pulseAttack.y <span class="k3">&lt;</span><span class="k3">=</span> <span class="k2">(</span>enemy<span class="k2">[</span>j<span class="k2">]</span>.y <span class="k3">+</span> enemy<span class="k2">[</span>j<span class="k2">]</span>.boundy<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 287</span>          <span class="k2">{</span>
<span class="number"> 288</span>            enemy<span class="k2">[</span>j<span class="k2">]</span>.live <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 289</span>            p1.expCur <span class="k3">+</span><span class="k3">=</span> enemy<span class="k2">[</span>j<span class="k2">]</span>.size<span class="k2">;</span>
<span class="number"> 290</span>          <span class="k2">}</span>
<span class="number"> 291</span>        <span class="k2">}</span>
<span class="number"> 292</span>
<span class="number"> 293</span>      <span class="k2">}</span>
<span class="number"> 294</span>    <span class="k2">}</span>
<span class="number"> 295</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mishtiff)</author>
		<pubDate>Fri, 24 Oct 2014 13:22:19 +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/614741/1006332#target">Mishtiff</a> said:</div><div class="quote"><p>  im sorry but i couldnt not figure out how to upload the game so you could just DL it</p></div></div><p>You could put everything in a zipfile and use the Drop Attachments Here button </p><p><span class="remote-thumbnail"><span class="json">{"name":"608968","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/6\/8\/68ba347dffbacfa2bcb6f72dfbd5795a.png","w":492,"h":274,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/6\/8\/68ba347dffbacfa2bcb6f72dfbd5795a"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/6/8/68ba347dffbacfa2bcb6f72dfbd5795a-240.jpg" alt="608968" width="240" height="133" /></span></p><p>and it&#39;ll show up next to your name as a paperclip, which you could then put in a link with Formatting Help if you wanted.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Fri, 24 Oct 2014 13:27:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>there we go, i had to remove some things that weren&#39;t necessary. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> (file was too big before to upload i suppose)</p><p>ah crap i should have mentioned that the current game only works with an attached controller (i use a connected xbox 360 controller). it will not change shooting directions if you have no controller. </p><p>however you can still see the problem without being able to play.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mishtiff)</author>
		<pubDate>Fri, 24 Oct 2014 13:32:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I get these warnings, maybe fixing them will fix the problem.  Find out how to enable warnings for your compiler.
</p><pre>
main.cpp:316:79: warning: suggest parentheses around &#39;&amp;&amp;&#39; within &#39;||&#39; [-Wparentheses]
   else if(joystate.stick[0].axis[0] &gt;= -.3 &amp;&amp; joystate.stick[0].axis[0] &lt;= .3 &amp;&amp; Cntrlr[LRIGHT] || Cntrlr[LLEFT])
                                                                               ^
main.cpp:324:80: warning: suggest parentheses around &#39;&amp;&amp;&#39; within &#39;||&#39; [-Wparentheses]
   else if (joystate.stick[0].axis[1] &gt;= -.3 &amp;&amp; joystate.stick[0].axis[1] &lt;= .3 &amp;&amp; Cntrlr[LDOWN] || Cntrlr[LUP])
                                                                                ^
main.cpp: In function &#39;void drawPulse(Pulse&amp;)&#39;:
main.cpp:599:16: warning: suggest parentheses around &#39;&amp;&amp;&#39; within &#39;||&#39; [-Wparentheses]
      if(i == 0 &amp;&amp; pulseAttack.timer &gt;= 5 || i == 1 &amp;&amp; pulseAttack.timer &gt;= 6 || i == 2 &amp;&amp; pulseAttack.timer &gt;= 7 || i == 3 &amp;&amp; pulseAttack.timer &gt;= 8)
                ^
main.cpp:599:88: warning: suggest parentheses around &#39;&amp;&amp;&#39; within &#39;||&#39; [-Wparentheses]
      if(i == 0 &amp;&amp; pulseAttack.timer &gt;= 5 || i == 1 &amp;&amp; pulseAttack.timer &gt;= 6 || i == 2 &amp;&amp; pulseAttack.timer &gt;= 7 || i == 3 &amp;&amp; pulseAttack.timer &gt;= 8)
                                                                                        ^
main.cpp:599:124: warning: suggest parentheses around &#39;&amp;&amp;&#39; within &#39;||&#39; [-Wparentheses]
      if(i == 0 &amp;&amp; pulseAttack.timer &gt;= 5 || i == 1 &amp;&amp; pulseAttack.timer &gt;= 6 || i == 2 &amp;&amp; pulseAttack.timer &gt;= 7 || i == 3 &amp;&amp; pulseAttack.timer &gt;= 8)
                                                                                                                            ^
main.cpp: In function &#39;void initEnemy(Enemies*, int)&#39;:
main.cpp:688:13: warning: statement has no effect [-Wunused-value]
   enemy[i].x;
             ^
main.cpp:689:13: warning: statement has no effect [-Wunused-value]
   enemy[i].y;
             ^
main.cpp: In function &#39;int main()&#39;:
main.cpp:338:15: warning: array subscript is above array bounds [-Warray-bounds]
   {keys[SELECT] = true;
</pre><p>

I also see that player.cpp is 0 bytes?  Is that a mistake?</p><p>Also, allegro.log is 2.8 megs, probably leave that out.</p><p>I see there&#39;s a Project1.exe in debug, but my virtual XP machine says it&#39;s not a valid Win32 application?</p><p>Right now I&#39;m getting a crash in initPulse because the case of the image and the string in the program don&#39;t match (linux case sensitive).</p><p>I&#39;ll play with it a bit more, this is just an update.</p><p>[EDIT]</p><p>I finally got it to run, it hovers around 58-59 fps, and I don&#39;t see any choppiness, but it certainly does look...  odd.</p><p><span class="remote-thumbnail"><span class="json">{"name":"608970","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/d\/9\/d99b5c5b1dc6274e768323eaf57a8f1a.png","w":1440,"h":900,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/d\/9\/d99b5c5b1dc6274e768323eaf57a8f1a"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/d/9/d99b5c5b1dc6274e768323eaf57a8f1a-240.jpg" alt="608970" width="240" height="150" /></span></p><p>[EDIT2]</p><p>Compiling without debugging info makes it drop to around 45 fps.  Uninitialized pointers?</p><p><b>AHA!</b>  I see one bugaboo now, you&#39;re loading bitmaps meteor1.png and meteor2.png in startEnemy() and it&#39;s in the loop, so you&#39;re loading bitmaps forever.  You should load bitmaps to an ALLEGRO_BITMAP at initialization and only use the ALLEGRO_BITMAP * from then on.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Fri, 24 Oct 2014 14:03:35 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>thank you for your response, im going over each thing you have said to see what happens after the fixes. do you have any idea what i am supposed to do for these:</p><p>main.cpp:599:124: warning: suggest parentheses around &#39;&amp;&amp;&#39; within &#39;||&#39; [-Wparentheses]</p><div class="quote_container"><div class="title"><a href="http://">Arthur Kalliokoski</a> said:</div><div class="quote"><p>
AHA! I see one bugaboo now, you&#39;re loading bitmaps meteor1.png and meteor2.png in startEnemy() and it&#39;s in the loop, so you&#39;re loading bitmaps forever. You should load bitmaps to an ALLEGRO_BITMAP at initialization and only use the ALLEGRO_BITMAP * from then on.
</p></div></div><p>

this is a great point, thank you. i didnt realize it was such a big deal. i will just pass the loaded bitmap after its initialized in the beginning when the function runs.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mishtiff)</author>
		<pubDate>Fri, 24 Oct 2014 14:31:03 +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/614741/1006336#target">Arthur Kalliokoski</a> said:</div><div class="quote"><p> AHA! I see one bugaboo now, you&#39;re loading bitmaps meteor1.png and meteor2.png in startEnemy() and it&#39;s in the loop, so you&#39;re loading bitmaps forever. You should load bitmaps to an ALLEGRO_BITMAP at initialization and only use the ALLEGRO_BITMAP * from then on. </p></div></div><p>Right! you can also load on request only if the bitmap is nonexistant yet.</p><p>But, which this kind of thing shouldn&#39;t memory usage skyrocket? Correct me if I&#39;m wrong but this should happen also in debug version.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pkrcel)</author>
		<pubDate>Fri, 24 Oct 2014 14:32:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It wants it like this: FIXED so the compiler doesn&#39;t complain.
</p><div class="source-code snippet"><div class="inner"><pre>          <span class="k1">if</span><span class="k2">(</span>
            <span class="k2">(</span><span class="k2">(</span>i <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>pulseAttack.timer <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">5</span><span class="k2">)</span><span class="k2">)</span>
            <span class="k3">|</span><span class="k3">|</span>
            <span class="k2">(</span><span class="k2">(</span>i <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>pulseAttack.timer <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">6</span><span class="k2">)</span><span class="k2">)</span>
            <span class="k3">|</span><span class="k3">|</span>
            <span class="k2">(</span><span class="k2">(</span>i <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>pulseAttack.timer <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">7</span><span class="k2">)</span><span class="k2">)</span>
            <span class="k3">|</span><span class="k3">|</span>
            <span class="k2">(</span><span class="k2">(</span>i <span class="k3">=</span><span class="k3">=</span> <span class="n">3</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>pulseAttack.timer <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">8</span><span class="k2">)</span><span class="k2">)</span>

            <span class="k2">)</span>
            <span class="k1">continue</span><span class="k2">;</span>
</pre></div></div><p>

I think.  That&#39;s a horribly complicated line.  Maybe break it up more so it&#39;s easy to understand.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Fri, 24 Oct 2014 14:36:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://">Arthur Kalliokoski</a> said:</div><div class="quote"><p>
I also see that player.cpp is 0 bytes? Is that a mistake?
</p></div></div><p>
I was going to start working on a player .cpp and .h, but ran into troubles. I have put that aside for now until i understand how to call them easier in my main.cpp file.</p><div class="quote_container"><div class="title"><a href="http://">Arthur Kalliokoski</a> said:</div><div class="quote"><p>
It wants it like this: FIXED so the compiler doesn&#39;t complain.</p><p>          if(<br />            ((i == 0) &amp;&amp; (pulseAttack.timer &gt;= 5))<br />            ||<br />            ((i == 1) &amp;&amp; (pulseAttack.timer &gt;= 6))<br />            ||<br />            ((i == 2) &amp;&amp; (pulseAttack.timer &gt;= 7))<br />            ||<br />            ((i == 3) &amp;&amp; (pulseAttack.timer &gt;= 8))</p><p>            )<br />            continue;
</p></div></div><p>
wow so picky! it is SO much cleaner though. thank you for putting your time into that, ill fix it all soon <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>I will do my best to clean the code up tomorrow when I get up. Thank you for your time tonight. Hopefully you&#39;ll be around tomorrow <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> sleep well!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mishtiff)</author>
		<pubDate>Fri, 24 Oct 2014 14:37:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>No, wait, the compiler is still complaining.</p></div></div><p>It&#39;s the ||s and &amp;&amp;s. You want to tell it which is higher precedence... Something like:</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>i <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> pulseAttack.timer <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">5</span><span class="k2">)</span>
 <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span>i <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> pulseAttack.timer <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">6</span><span class="k2">)</span>
 <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span>i <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> pulseAttack.timer <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">7</span><span class="k2">)</span>
 <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span>i <span class="k3">=</span><span class="k3">=</span> <span class="n">3</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> pulseAttack.timer <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">8</span><span class="k2">)</span><span class="k2">)</span>
             <span class="k1">continue</span><span class="k2">;</span>
</pre></div></div><p>

At least I assume that&#39;s the logic you are going for.</p><p>Looks to be mostly the same as Arthur&#39;s but fewer typos<span class="ref"><sup>[<a href="#">1</a>]</sup></span> <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" />
</p><div class="ref-block"><h2>References</h2><ol><li>which might be a first for me <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /></li></ol></div></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Fri, 24 Oct 2014 14:43:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I don&#39;t know if you noticed one of my edits above, the post wasn&#39;t old enough to send to top</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/614741/1006336#target">Arthur Kalliokoski</a> said:</div><div class="quote"><p> AHA! I see one bugaboo now, you&#39;re loading bitmaps meteor1.png and meteor2.png in startEnemy() and it&#39;s in the loop, so you&#39;re loading bitmaps forever. You should load bitmaps to an ALLEGRO_BITMAP at initialization and only use the ALLEGRO_BITMAP * from then on.
</p></div></div></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Fri, 24 Oct 2014 14:44:52 +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/614741/1006350#target">Arthur Kalliokoski</a> said:</div><div class="quote"><p>I don&#39;t know if you noticed one of my edits above, the post wasn&#39;t old enough to send to top</p></div></div><p>I did. after I hit send <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Fri, 24 Oct 2014 14:54:46 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hey guys, I have been working for some time now to fix things. Still seems to stutter here and there, but overall its not as bad. Do you know how I could turn on the warnings that you are getting? I am currently using Visual Studio 2012.</p><p>I have fixed the bugs that was posted in your comment earlier, and removed the infinite load of bitmaps in the loop. Still having issues, but ill continue to change some of my code up in the mean time to see if it helps.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mishtiff)</author>
		<pubDate>Sat, 25 Oct 2014 03:06:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Only had a quick look at the code. I&#39;m pretty sure you&#39;re running into the issue on DirectX where every bitmap you draw into (via al_set_target_bitmap) has to get backed up because of the DirectX (mis)feature of losing graphics content sometimes. You have two options to fix it:</p><p>1) Use OpenGL (al_set_new_display_flags(ALLEGRO_OPENGL) before al_create_display)<br />2) Create your bitmaps with the ALLEGRO_NO_PRESERVE_TEXTURE flag (al_set_new_bitmap_flags(ALLEGRO_NO_PRESERVE_TEXTURE))
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Sat, 25 Oct 2014 12:50:11 +0000</pubDate>
	</item>
</rss>
