<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>[Allegro C] Multuple object and deleting object</title>
		<link>http://www.allegro.cc/forums/view/611203</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Thu, 11 Oct 2012 00:50:25 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi i was trying to make tank-shooting game. I am new to proggraming so i thought it would be nice to try out allegro. I have a tank that moves, when you press space a bullet appers and fly&#39;s in the direction of tank&#39;s movment and when the bullet touches the wall it is trnasfered out of the screen.</p><p>So i have 2 questions ...<br />-How can i make multiple bullets at the same time?<br />-as for now the bullet after hitting the wall goes to x=-100 y=-100 but does not dissapear ... how do i make it dissapear as an imige?</p><p>my code:
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span><span class="p">#include &lt;stdio.h&gt;</span>
<span class="number">   2</span><span class="p">#include &lt;stdlib.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;allegro.h&gt;</span>
<span class="number">   4</span>
<span class="number">   5</span><span class="k1">volatile</span> <span class="k1">long</span> speed <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">   6</span><span class="k1">void</span> increment_speed<span class="k2">(</span><span class="k2">)</span>
<span class="number">   7</span><span class="k2">{</span>
<span class="number">   8</span>     speed<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number">   9</span><span class="k2">}</span>
<span class="number">  10</span><a href="http://www.allegro.cc/manual/END_OF_FUNCTION"><span class="a">END_OF_FUNCTION</span></a><span class="k2">(</span>increment_speed<span class="k2">)</span><span class="k2">;</span> 
<span class="number">  11</span><a href="http://www.allegro.cc/manual/LOCK_VARIABLE"><span class="a">LOCK_VARIABLE</span></a><span class="k2">(</span>speed<span class="k2">)</span><span class="k2">;</span>
<span class="number">  12</span><a href="http://www.allegro.cc/manual/LOCK_FUNCTION"><span class="a">LOCK_FUNCTION</span></a><span class="k2">(</span>increment_speed<span class="k2">)</span><span class="k2">;</span>  
<span class="number">  13</span>
<span class="number">  14</span>
<span class="number">  15</span>
<span class="number">  16</span>
<span class="number">  17</span>
<span class="number">  18</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span>argv<span class="k2">[</span><span class="k2">]</span><span class="k2">)</span>
<span class="number">  19</span><span class="k2">{</span>
<span class="number">  20</span>
<span class="number">  21</span>    <a href="http://www.allegro.cc/manual/allegro_init"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  22</span>    <a href="http://www.allegro.cc/manual/install_keyboard"><span class="a">install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  23</span>    <a href="http://www.allegro.cc/manual/set_color_depth"><span class="a">set_color_depth</span></a><span class="k2">(</span><span class="n">16</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  24</span>    <a href="http://www.allegro.cc/manual/set_gfx_mode"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_AUTODETECT_WINDOWED,<span class="n">800</span>,<span class="n">600</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  25</span>    <a href="http://www.allegro.cc/manual/clear_to_color"><span class="a">clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/makecol"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">128</span>,<span class="n">128</span>,<span class="n">128</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  26</span>    <a href="http://www.allegro.cc/manual/install_timer"><span class="a">install_timer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>    <a href="http://www.allegro.cc/manual/install_int_ex"><span class="a">install_int_ex</span></a><span class="k2">(</span>increment_speed, BPS_TO_TIMER<span class="k2">(</span><span class="n">40</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  28</span>
<span class="number">  29</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span>bufor <span class="k3">=</span> NULL<span class="k2">;</span> 
<span class="number">  30</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span>player <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  31</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span>background <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  32</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span>bullet <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  33</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span>wyb1 <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  34</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span>wyb2 <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  35</span>    
<span class="number">  36</span>    bufor <span class="k3">=</span> <a href="http://www.allegro.cc/manual/create_bitmap"><span class="a">create_bitmap</span></a><span class="k2">(</span><span class="n">800</span>,<span class="n">600</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span>    background <span class="k3">=</span> <a href="http://www.allegro.cc/manual/create_bitmap"><span class="a">create_bitmap</span></a><span class="k2">(</span><span class="n">800</span>,<span class="n">600</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</span>    
<span class="number">  39</span>    <a href="http://www.allegro.cc/manual/install_timer"><span class="a">install_timer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>                                                                  <span class="c">//  timery</span>
<span class="number">  40</span>    <a href="http://www.allegro.cc/manual/install_int_ex"><span class="a">install_int_ex</span></a><span class="k2">(</span>increment_speed, BPS_TO_TIMER<span class="k2">(</span><span class="n">100</span><span class="k2">)</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">if</span> <span class="k2">(</span><span class="k3">!</span>bufor<span class="k2">)</span>
<span class="number">  44</span>               <span class="k2">{</span>
<span class="number">  45</span>               <a href="http://www.allegro.cc/manual/set_gfx_mode"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_TEXT,<span class="n">0</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">  46</span>               <a href="http://www.allegro.cc/manual/allegro_message"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Nie mogę utworzyć bufora !"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  47</span>               <a href="http://www.allegro.cc/manual/allegro_exit"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  48</span>               <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  49</span>               <span class="k2">}</span>
<span class="number">  50</span>               
<span class="number">  51</span>
<span class="number">  52</span>    player <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"player.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  53</span>    background <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"trawa.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  54</span>    bullet <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"pociskhorizontal.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>    wyb1 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"wyb1.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>    wyb2 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"wyb2.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</span>    
<span class="number">  58</span>    
<span class="number">  59</span>               <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>wyb1<span class="k2">)</span>
<span class="number">  60</span>               <span class="k2">{</span>
<span class="number">  61</span>               <a href="http://www.allegro.cc/manual/set_gfx_mode"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_TEXT,<span class="n">0</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">  62</span>               <a href="http://www.allegro.cc/manual/allegro_message"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Nie mogę utworzyć wby 1 !"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  63</span>               <a href="http://www.allegro.cc/manual/allegro_exit"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  64</span>               <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  65</span>               <span class="k2">}</span>
<span class="number">  66</span>               
<span class="number">  67</span>               <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>wyb2<span class="k2">)</span>
<span class="number">  68</span>               <span class="k2">{</span>
<span class="number">  69</span>               <a href="http://www.allegro.cc/manual/set_gfx_mode"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_TEXT,<span class="n">0</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">  70</span>               <a href="http://www.allegro.cc/manual/allegro_message"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Nie mogę utworzyć wyb 2 !"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  71</span>               <a href="http://www.allegro.cc/manual/allegro_exit"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  72</span>               <span class="k1">return</span> <span class="n">0</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="k1">if</span> <span class="k2">(</span><span class="k3">!</span>background<span class="k2">)</span>
<span class="number">  76</span>              <span class="k2">{</span>
<span class="number">  77</span>               <a href="http://www.allegro.cc/manual/set_gfx_mode"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_TEXT,<span class="n">0</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">  78</span>               <a href="http://www.allegro.cc/manual/allegro_message"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"nie mogę załadować tlo !"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  79</span>               <a href="http://www.allegro.cc/manual/allegro_exit"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  80</span>              <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  81</span>              <span class="k2">}</span>
<span class="number">  82</span>
<span class="number">  83</span>              <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>player<span class="k2">)</span>
<span class="number">  84</span>              <span class="k2">{</span>
<span class="number">  85</span>              <a href="http://www.allegro.cc/manual/set_gfx_mode"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_TEXT,<span class="n">0</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">  86</span>              <a href="http://www.allegro.cc/manual/allegro_message"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Blad przy wczytywaniu gracza!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  87</span>              <a href="http://www.allegro.cc/manual/allegro_exit"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  88</span>              <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  89</span>              <span class="k2">}</span>
<span class="number">  90</span>
<span class="number">  91</span> 
<span class="number">  92</span>
<span class="number">  93</span>    <span class="k1">int</span> player_x <span class="k3">=</span> <span class="n">350</span>, player_y <span class="k3">=</span> <span class="n">250</span><span class="k2">;</span>
<span class="number">  94</span>    <span class="k1">int</span> bullet_x , bullet_y<span class="k2">;</span>  
<span class="number">  95</span>    <span class="k1">int</span> face <span class="k3">=</span> <span class="n">3</span><span class="k2">;</span>
<span class="number">  96</span>    <span class="k1">int</span> counter <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  97</span>    <span class="k1">int</span> leci<span class="k2">;</span>
<span class="number">  98</span>    <span class="k1">int</span> pociskleci <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  99</span>    <span class="k1">int</span> kolizja <span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 100</span>    
<span class="number"> 101</span>    <span class="k1">int</span> wyb1_x, wyb1_y, wyb2_x, wyb2_y<span class="k2">;</span>
<span class="number"> 102</span>    <span class="k1">int</span> framewyb <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 103</span>    
<span class="number"> 104</span>    <span class="k1">int</span> leci_lewo <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 105</span>    <span class="k1">int</span> leci_prawo <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 106</span>    <span class="k1">int</span> leci_gora <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 107</span>    <span class="k1">int</span> leci_dol <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 108</span>    
<span class="number"> 109</span>    <span class="k1">while</span><span class="k2">(</span>speed <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span>
<span class="number"> 110</span>    <span class="k2">{</span>
<span class="number"> 111</span>    <span class="k1">while</span><span class="k2">(</span> <span class="k3">!</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_ESC<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 112</span>
<span class="number"> 113</span>    <span class="k2">{</span>
<span class="number"> 114</span>
<span class="number"> 115</span>           <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 116</span>                <span class="k2">{</span>
<span class="number"> 117</span>                player_x--<span class="k2">;</span>
<span class="number"> 118</span>                player <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"player_LEFT.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 119</span>                face <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 120</span>                <span class="k2">}</span>
<span class="number"> 121</span>                  
<span class="number"> 122</span>           <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 123</span>                <span class="k2">{</span>
<span class="number"> 124</span>                player_x<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 125</span>                player <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"player_RIGHT.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 126</span>                face <span class="k3">=</span> <span class="n">2</span><span class="k2">;</span>
<span class="number"> 127</span>                <span class="k2">}</span>
<span class="number"> 128</span>           <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 129</span>                <span class="k2">{</span>
<span class="number"> 130</span>                player_y--<span class="k2">;</span>
<span class="number"> 131</span>                player <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"player_UP.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 132</span>                face <span class="k3">=</span> <span class="n">3</span><span class="k2">;</span>
<span class="number"> 133</span>                <span class="k2">}</span>
<span class="number"> 134</span>           <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_DOWN<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 135</span>                <span class="k2">{</span>
<span class="number"> 136</span>                player_y<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 137</span>                player <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"player_DOWN.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 138</span>                face <span class="k3">=</span> <span class="n">4</span><span class="k2">;</span>
<span class="number"> 139</span>                <span class="k2">}</span>
<span class="number"> 140</span>                
<span class="number"> 141</span>                         <span class="c">//kolizje czołgu ze ścianą</span>
<span class="number"> 142</span>                         <span class="k1">if</span><span class="k2">(</span>player_x&gt;<span class="k3">=</span><span class="n">28</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">28</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">600</span><span class="k2">)</span> <span class="k2">{</span>player_x<span class="k3">=</span><span class="n">30</span><span class="k2">;</span> player_y<span class="k3">=</span>player_y<span class="k2">;</span><span class="k2">}</span> <span class="c">//lewa sciana ekranu </span>
<span class="number"> 143</span>                         <span class="k1">if</span><span class="k2">(</span>player_x&gt;<span class="k3">=</span><span class="n">700</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">700</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">600</span><span class="k2">)</span> <span class="k2">{</span>player_x<span class="k3">=</span><span class="n">699</span><span class="k2">;</span> player_y<span class="k3">=</span>player_y<span class="k2">;</span><span class="k2">}</span> <span class="c">// prawa sciana ekranu</span>
<span class="number"> 144</span>                         <span class="k1">if</span><span class="k2">(</span>player_x&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">800</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y&gt;<span class="k3">=</span><span class="n">33</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">33</span><span class="k2">)</span> <span class="k2">{</span>player_x<span class="k3">=</span>player_x<span class="k2">;</span> player_y<span class="k3">=</span><span class="n">35</span><span class="k2">;</span><span class="k2">}</span> <span class="c">// gorna sciana ekranu </span>
<span class="number"> 145</span>                         <span class="k1">if</span><span class="k2">(</span>player_x&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">800</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y&gt;<span class="k3">=</span><span class="n">500</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">500</span><span class="k2">)</span> <span class="k2">{</span>player_x<span class="k3">=</span>player_x<span class="k2">;</span> player_y<span class="k3">=</span><span class="n">498</span><span class="k2">;</span><span class="k2">}</span> <span class="c">// dolna sciana ekranu</span>
<span class="number"> 146</span>               
<span class="number"> 147</span>                                        
<span class="number"> 148</span>                
<span class="number"> 149</span>                
<span class="number"> 150</span>           <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_SPACE<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 151</span>           <span class="k2">{</span>
<span class="number"> 152</span>                <span class="k1">if</span><span class="k2">(</span> face <span class="k3">=</span><span class="k3">=</span> <span class="n">3</span><span class="k2">)</span>
<span class="number"> 153</span>                <span class="k2">{</span>
<span class="number"> 154</span>                       leci_gora <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 155</span>                       bullet_x <span class="k3">=</span> player_x<span class="k3">+</span><span class="n">25</span><span class="k2">;</span>
<span class="number"> 156</span>                       bullet_y <span class="k3">=</span> player_y-19<span class="k2">;</span>
<span class="number"> 157</span>                       bullet <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"pociskhorizontal.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 158</span>                       pociskleci<span class="k3">=</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 159</span>                                             
<span class="number"> 160</span>                <span class="k2">}</span>
<span class="number"> 161</span>                
<span class="number"> 162</span>                <span class="k1">if</span><span class="k2">(</span> face <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 163</span>                <span class="k2">{</span>
<span class="number"> 164</span>                       leci_lewo <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>  
<span class="number"> 165</span>                       bullet_x <span class="k3">=</span> player_x-19<span class="k2">;</span>
<span class="number"> 166</span>                       bullet_y <span class="k3">=</span> player_y<span class="k3">+</span><span class="n">25</span><span class="k2">;</span>
<span class="number"> 167</span>                       bullet <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"pociskvertical.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 168</span>                       pociskleci<span class="k3">=</span><span class="n">1</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="number"> 172</span>                <span class="k1">if</span><span class="k2">(</span> face <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number"> 173</span>                <span class="k2">{</span>
<span class="number"> 174</span>                       leci_prawo <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>  
<span class="number"> 175</span>                       bullet_x <span class="k3">=</span> player_x<span class="k3">+</span><span class="n">52</span><span class="k2">;</span>
<span class="number"> 176</span>                       bullet_y <span class="k3">=</span> player_y<span class="k3">+</span><span class="n">25</span><span class="k2">;</span>
<span class="number"> 177</span>                       bullet <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"pociskvertical.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 178</span>                       pociskleci<span class="k3">=</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 179</span>                       
<span class="number"> 180</span>                <span class="k2">}</span> 
<span class="number"> 181</span>                 
<span class="number"> 182</span>                <span class="k1">if</span><span class="k2">(</span> face <span class="k3">=</span><span class="k3">=</span> <span class="n">4</span><span class="k2">)</span>
<span class="number"> 183</span>                <span class="k2">{</span>
<span class="number"> 184</span>                        leci_dol <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> 
<span class="number"> 185</span>                        bullet_x <span class="k3">=</span> player_x<span class="k3">+</span><span class="n">25</span><span class="k2">;</span>
<span class="number"> 186</span>                        bullet_y <span class="k3">=</span> player_y<span class="k3">+</span><span class="n">53</span><span class="k2">;</span>
<span class="number"> 187</span>                        bullet <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"pociskhorizontal.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 188</span>                        pociskleci<span class="k3">=</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 189</span>                        
<span class="number"> 190</span>                                    
<span class="number"> 191</span>                <span class="k2">}</span>
<span class="number"> 192</span>              
<span class="number"> 193</span>                              
<span class="number"> 194</span>           <span class="k2">}</span>
<span class="number"> 195</span>            
<span class="number"> 196</span>            
<span class="number"> 197</span>            <span class="c">///* kolizje pocisk-ściana</span>
<span class="number"> 198</span>                    <span class="k1">if</span><span class="k2">(</span>bullet_x&gt;<span class="k3">=</span><span class="n">28</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">28</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_y&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">600</span><span class="k2">)</span> <span class="k2">{</span>kolizja <span class="k3">=</span><span class="n">1</span><span class="k2">;</span> <span class="k2">}</span> <span class="c">//lewa sciana ekranu </span>
<span class="number"> 199</span>                    <span class="k1">if</span><span class="k2">(</span>bullet_x&gt;<span class="k3">=</span><span class="n">700</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">700</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_y&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">600</span><span class="k2">)</span> <span class="k2">{</span>kolizja <span class="k3">=</span><span class="n">1</span><span class="k2">;</span><span class="k2">}</span> <span class="c">// prawa sciana ekranu</span>
<span class="number"> 200</span>                    <span class="k1">if</span><span class="k2">(</span>bullet_x&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">800</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_y&gt;<span class="k3">=</span><span class="n">33</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">33</span><span class="k2">)</span> <span class="k2">{</span>kolizja <span class="k3">=</span><span class="n">1</span><span class="k2">;</span><span class="k2">}</span> <span class="c">// gorna sciana ekranu </span>
<span class="number"> 201</span>                    <span class="k1">if</span><span class="k2">(</span>bullet_x&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">800</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_y&gt;<span class="k3">=</span><span class="n">500</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">500</span><span class="k2">)</span> <span class="k2">{</span>kolizja <span class="k3">=</span><span class="n">1</span><span class="k2">;</span><span class="k2">}</span> <span class="c">// dolna sciana ekranu</span>
<span class="number"> 202</span>            <span class="c">//*/</span>
<span class="number"> 203</span>                
<span class="number"> 204</span>                
<span class="number"> 205</span>             
<span class="number"> 206</span>                
<span class="number"> 207</span>                
<span class="number"> 208</span>            <span class="k1">if</span><span class="k2">(</span>pociskleci <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 209</span>            <span class="k2">{</span>
<span class="number"> 210</span>                          <span class="k1">if</span><span class="k2">(</span>leci_lewo <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 211</span>                          <span class="k2">{</span>                   
<span class="number"> 212</span>                                  leci_gora<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 213</span>                                  leci_dol<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 214</span>                                  leci_prawo<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>                                          
<span class="number"> 215</span>                                  bullet_x <span class="k3">-</span><span class="k3">-</span><span class="k2">;</span>
<span class="number"> 216</span>                          <span class="k2">}</span>                                 
<span class="number"> 217</span>                          <span class="k1">if</span><span class="k2">(</span>leci_prawo <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 218</span>                          <span class="k2">{</span>
<span class="number"> 219</span>                                  leci_gora<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 220</span>                                  leci_dol<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 221</span>                                  leci_lewo<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 222</span>                                  bullet_x <span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 223</span>                          <span class="k2">}</span>
<span class="number"> 224</span>                          <span class="k1">if</span><span class="k2">(</span>leci_gora <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 225</span>                          <span class="k2">{</span>
<span class="number"> 226</span>                                  leci_lewo<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 227</span>                                  leci_dol<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 228</span>                                  leci_prawo<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 229</span>                                  bullet_y <span class="k3">-</span><span class="k3">-</span><span class="k2">;</span>
<span class="number"> 230</span>                          <span class="k2">}</span>
<span class="number"> 231</span>                          <span class="k1">if</span><span class="k2">(</span>leci_dol <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span> 
<span class="number"> 232</span>                          <span class="k2">{</span>   
<span class="number"> 233</span>                                  leci_gora<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 234</span>                                  leci_lewo<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 235</span>                                  leci_prawo<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>        
<span class="number"> 236</span>                                  bullet_y <span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 237</span>                          <span class="k2">}</span>
<span class="number"> 238</span>            
<span class="number"> 239</span>                          <span class="k1">if</span><span class="k2">(</span>kolizja <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 240</span>                                  <span class="k2">{</span>
<span class="number"> 241</span>                                  pociskleci<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 242</span>                                  kolizja<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 243</span>                                  leci_dol <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 244</span>                                  leci_gora <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 245</span>                                  leci_lewo <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 246</span>                                  leci_prawo <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 247</span>                                  
<span class="number"> 248</span>                                  wyb1_x <span class="k3">=</span> bullet_x<span class="k2">;</span>
<span class="number"> 249</span>                                  wyb1_y <span class="k3">=</span> bullet_y<span class="k2">;</span>
<span class="number"> 250</span>                                  wyb2_x <span class="k3">=</span> bullet_x<span class="k2">;</span>
<span class="number"> 251</span>                                  wyb2_y <span class="k3">=</span> bullet_y<span class="k2">;</span>
<span class="number"> 252</span>                                  
<span class="number"> 253</span>                                  
<span class="number"> 254</span>                                        framewyb<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 255</span>                                  
<span class="number"> 256</span>                                  <span class="k1">if</span><span class="k2">(</span> framewyb <span class="k3">&gt;</span> <span class="n">40</span><span class="k2">)</span> 
<span class="number"> 257</span>                                      framewyb<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>  
<span class="number"> 258</span>                                       
<span class="number"> 259</span>                                  
<span class="number"> 260</span>                                  bullet_x <span class="k3">=</span> <span class="k3">-</span><span class="n">100</span><span class="k2">;</span>    <span class="c">// zamiast tego bede musiał usunąć obrazek</span>
<span class="number"> 261</span>                                  bullet_y <span class="k3">=</span> <span class="k3">-</span><span class="n">100</span><span class="k2">;</span>
<span class="number"> 262</span>                                  <span class="k2">}</span>
<span class="number"> 263</span>            <span class="k2">}</span>
<span class="number"> 264</span>                              
<span class="number"> 265</span>                
<span class="number"> 266</span>                
<span class="number"> 267</span>    <a href="http://www.allegro.cc/manual/clear_to_color"><span class="a">clear_to_color</span></a><span class="k2">(</span>bufor, <a href="http://www.allegro.cc/manual/makecol"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">150</span>,<span class="n">150</span>,<span class="n">150</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 268</span>
<span class="number"> 269</span>    <span class="k1">if</span><span class="k2">(</span> framewyb<span class="k3">&lt;</span><span class="n">20</span><span class="k2">)</span>
<span class="number"> 270</span>        <a href="http://www.allegro.cc/manual/draw_sprite"><span class="a">draw_sprite</span></a><span class="k2">(</span>bufor, wyb1, wyb1_x, wyb1_y<span class="k2">)</span><span class="k2">;</span> 
<span class="number"> 271</span>                                       
<span class="number"> 272</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span> framewyb&gt;<span class="k3">=</span><span class="n">20</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> framewyb<span class="k3">&lt;</span><span class="n">40</span><span class="k2">)</span>
<span class="number"> 273</span>         <a href="http://www.allegro.cc/manual/draw_sprite"><span class="a">draw_sprite</span></a><span class="k2">(</span>bufor, wyb2, wyb2_x, wyb2_y<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 274</span>
<span class="number"> 275</span>    <a href="http://www.allegro.cc/manual/blit"><span class="a">blit</span></a><span class="k2">(</span> background, bufor,<span class="n">0</span>,<span class="n">0</span>, <span class="n">0</span>,<span class="n">0</span>, <span class="n">800</span>,<span class="n">600</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 276</span>    <a href="http://www.allegro.cc/manual/masked_blit"><span class="a">masked_blit</span></a><span class="k2">(</span> player, bufor, <span class="n">0</span>,<span class="n">0</span>, player_x, player_y, player-&gt;w, player-&gt;h<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 277</span>    <a href="http://www.allegro.cc/manual/masked_blit"><span class="a">masked_blit</span></a><span class="k2">(</span> bullet, bufor, <span class="n">0</span>,<span class="n">0</span>, bullet_x, bullet_y, bullet-&gt;w, bullet-&gt;h<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 278</span>    <a href="http://www.allegro.cc/manual/blit"><span class="a">blit</span></a><span class="k2">(</span> bufor, <a href="http://www.allegro.cc/manual/screen"><span class="a">screen</span></a>, <span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>, <span class="n">800</span>,<span class="n">600</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 279</span>
<span class="number"> 280</span>    <span class="c">//rest(2);</span>
<span class="number"> 281</span>    
<span class="number"> 282</span>    <span class="k2">}</span>
<span class="number"> 283</span>    speed--<span class="k2">;</span>
<span class="number"> 284</span>    <span class="k2">}</span>
<span class="number"> 285</span>
<span class="number"> 286</span>
<span class="number"> 287</span>
<span class="number"> 288</span>
<span class="number"> 289</span>
<span class="number"> 290</span><a href="http://www.allegro.cc/manual/remove_int"><span class="a">remove_int</span></a><span class="k2">(</span> increment_speed<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 291</span><a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>player<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 292</span><a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>bufor<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 293</span><a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>background<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 294</span><a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>bullet<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 295</span><a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>wyb1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 296</span><a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>wyb2<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 297</span>
<span class="number"> 298</span><a href="http://www.allegro.cc/manual/allegro_exit"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 299</span>
<span class="number"> 300</span><span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 301</span>
<span class="number"> 302</span><span class="k2">}</span>
<span class="number"> 303</span>
<span class="number"> 304</span><a href="http://www.allegro.cc/manual/END_OF_MAIN"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>  
<span class="number"> 305</span><span class="k2">;</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (wisien92)</author>
		<pubDate>Sun, 07 Oct 2012 19:11:07 +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/611203/967597#target">wisien92</a> said:</div><div class="quote"><p> -How can i make multiple bullets at the same time?</p></div></div><p>Have an array of bullets.  I&#39;s suggest you create a struct to hold info about bullets. something like this:</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">typedef</span> <span class="k1">struct</span> <span class="k2">{</span>

   <span class="k1">int</span> active<span class="k2">;</span>
   <span class="k1">int</span> x<span class="k2">;</span>
   <span class="k1">int</span> y<span class="k2">;</span>
   <span class="k1">int</span> w<span class="k2">;</span>
   <span class="k1">int</span> h<span class="k2">;</span>

<span class="k2">}</span> BULLET<span class="k2">;</span>
</pre></div></div><p>

Now you can create an array of as many bullets as you need. eg:</p><p><span class="source-code">BULLET bullets<span class="k2">[</span><span class="n">100</span><span class="k2">]</span><span class="k2">;</span></span></p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p> as for now the bullet after hitting the wall goes to x=-100 y=-100 but does not dissapear ... how do i make it dissapear as an imige?</p></div></div><p>By using the <span class="source-code">active</span> member of the struct we just used.  When a bullet is created, set active to 1. When a bullet goes off screen (or is no longer needed for some other reason), set active to 0.  </p><p>Only draw or update bullets where active == 1.</p><p>One thing I noticed in your code is that you have a HUGE memory leak, as you are constantly loading bitmaps.  Each time you call <span class="source-code"><a href="http://www.allegro.cc/manual/load_bitmap"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="k2">)</span></span> and assign the result to an already existing pointer.  Any BITMAP that pointer was already pointing to now becomes inaccessible, but is not freed from memory, so your program will take up more and more resources constantly.  You need to call <span class="source-code"><a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span><span class="k2">)</span></span> for each time you call <span class="source-code"><a href="http://www.allegro.cc/manual/load_bitmap"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="k2">)</span></span> in order to free the memory.</p><p>This still isn&#39;t the ideal solution however, as calling <span class="source-code"><a href="http://www.allegro.cc/manual/load_bitmap"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="k2">)</span></span> constantly not only keeps allocating more memory, it is also very slow.</p><p>A better way to do this is load all the player and bullet BITMAPS you will need at the start, and then create a current player and bullet BITMAP pointer that can point to any of the bitmaps you loaded initially.  Each time you need to change the BITMAP, just change where the current BITMAP pointer is pointing to.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Sun, 07 Oct 2012 19:39:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>so in main function:
</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">typedef</span> <span class="k1">struct</span> <span class="k2">{</span>
<span class="number">  2</span>
<span class="number">  3</span>   <span class="k1">int</span> active<span class="k2">;</span>  <span class="c">//determins if bullet is "alive"</span>
<span class="number">  4</span>   <span class="k1">int</span> x<span class="k2">;</span>  <span class="c">//x coordinate</span>
<span class="number">  5</span>   <span class="k1">int</span> y<span class="k2">;</span>  <span class="c">//y cooridinate</span>
<span class="number">  6</span> 
<span class="number">  7</span><span class="k2">}</span> BULLET<span class="k2">;</span>
<span class="number">  8</span>
<span class="number">  9</span>BULLET bullets<span class="k2">[</span><span class="n">100</span><span class="k2">]</span><span class="k2">;</span> <span class="c">// max number of bullets 100</span>
<span class="number"> 10</span>
<span class="number"> 11</span><span class="k1">int</span> a<span class="k2">;</span>   <span class="c">//for use in BULLET bullets[a]</span>
</div></div><p>

in shooting</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">  2</span>
<span class="number">  3</span><span class="k1">if</span><span class="k2">(</span> face <span class="k3">=</span><span class="k3">=</span> <span class="n">3</span><span class="k2">)</span>
<span class="number">  4</span><span class="k2">{</span>
<span class="number">  5</span>  leci_gora <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  6</span>  <span class="k1">for</span><span class="k2">(</span>a<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>a<span class="k3">&lt;</span><span class="k3">=</span><span class="n">100</span><span class="k2">;</span>a<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  7</span>  <span class="k2">{</span>
<span class="number">  8</span>     bullets<span class="k2">[</span>a<span class="k2">]</span>.x <span class="k3">=</span> player_x<span class="k3">+</span><span class="n">25</span><span class="k2">;</span>
<span class="number">  9</span>     bullets<span class="k2">[</span>a<span class="k2">]</span>.y <span class="k3">=</span> player_y-19<span class="k2">;</span>
<span class="number"> 10</span>     bullet <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"pociskhorizontal.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span> <span class="c">//later pointer</span>
<span class="number"> 11</span>     pociskleci<span class="k3">=</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 12</span>     
<span class="number"> 13</span>   <span class="k2">}</span>                                            
<span class="number"> 14</span><span class="k2">}</span>
</div></div><p>

and when deleting bullet a--;</p><p>something like this? i&#39;m not sure how to use strucktures since i did not have it on my lessons ;/
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (wisien92)</author>
		<pubDate>Sun, 07 Oct 2012 21:00:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>If i got it your code, when you are shooting, you are moving ALL the array, and loading each time 100 images, what will cause a great memory leak. Other thing, the struct doesnt need to be in main function, is better to be outside any function.</p><p>About the shoot, you could make this way...
</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">typedef</span> <span class="k1">struct</span><span class="k2">{</span>
<span class="number">  2</span>  <span class="k1">int</span> x<span class="k2">;</span>
<span class="number">  3</span>  <span class="k1">int</span> y<span class="k2">;</span>
<span class="number">  4</span>  <span class="k1">bool</span> active<span class="k2">;</span>
<span class="number">  5</span><span class="k2">}</span><span class="k2">;</span>Bullet<span class="k2">;</span>
<span class="number">  6</span>
<span class="number">  7</span><span class="c">// in main function</span>
<span class="number">  8</span>Bullet bullet<span class="k2">[</span><span class="n">100</span><span class="k2">]</span><span class="k2">;</span> <span class="c">// or any number you want to shoots you can shoot per time</span>
<span class="number">  9</span>
<span class="number"> 10</span><span class="c">// in shoot function</span>
<span class="number"> 11</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> <span class="n">100</span><span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 12</span><span class="k2">{</span>
<span class="number"> 13</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>bullet<span class="k2">[</span>i<span class="k2">]</span>.active<span class="k2">)</span> <span class="c">// here you check if the bullet is not active</span>
<span class="number"> 14</span>  <span class="k2">{</span>
<span class="number"> 15</span>    bullet<span class="k2">[</span>i<span class="k2">]</span>.active <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span> <span class="c">// here you make it active</span>
<span class="number"> 16</span>    bullet<span class="k2">[</span>i<span class="k2">]</span>.init<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// here you initialize his position</span>
<span class="number"> 17</span>  <span class="k2">}</span>
<span class="number"> 18</span><span class="k2">}</span>
<span class="number"> 19</span>
<span class="number"> 20</span><span class="c">// the code when its collide or is out of the screen</span>
<span class="number"> 21</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> <span class="n">100</span><span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 22</span><span class="k2">{</span>
<span class="number"> 23</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> screen_width<span class="k2">)</span> <span class="c">// check if the bullet is out of the screen</span>
<span class="number"> 24</span>  <span class="k2">{</span>
<span class="number"> 25</span>    bullet<span class="k2">[</span>i<span class="k2">]</span>.active <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 26</span>    bullet<span class="k2">[</span>i<span class="k2">]</span>.deInit<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// here you clear the bullet position</span>
<span class="number"> 27</span>  <span class="k2">}</span>
<span class="number"> 28</span><span class="k2">}</span>
</div></div><p>
this is not the proper way... but is a little start to understand the object oriented programing
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Gabriel Campos)</author>
		<pubDate>Mon, 08 Oct 2012 00:47:42 +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/611203/967630#target">Gabriel Campos</a> said:</div><div class="quote"><p> this is not the proper way... but is a little start to understand the object oriented programing</p></div></div><p>He&#39;s using C, not C++.</p><p>So instead:</p><div class="source-code snippet"><div class="inner"><pre><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> <span class="n">100</span><span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="k2">{</span>
  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>bullet<span class="k2">[</span>i<span class="k2">]</span>.active<span class="k2">)</span> <span class="c">// here you check if the bullet is not active</span>
  <span class="k2">{</span>
    bullet<span class="k2">[</span>i<span class="k2">]</span>.active <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> <span class="c">// here you make it active</span>
    init_bullet<span class="k2">(</span>bullet<span class="k2">[</span>i<span class="k2">]</span><span class="k2">)</span><span class="k2">;</span>
  <span class="k2">}</span>
<span class="k2">}</span>
</pre></div></div><p>

The init_bullet() function will check which direction the ship is facing and set the x and y values accordingly.</p><p>A deInit() function isn&#39;t really required.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Mon, 08 Oct 2012 01:29:33 +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/611203/967637#target">LennyLen</a> said:</div><div class="quote"><p>
He&#39;s using C, not C++.
</p></div></div><p>
Sorry, i didnt saw that... <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Gabriel Campos)</author>
		<pubDate>Mon, 08 Oct 2012 01:35:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I get error </p><p>164 C:\Documents and Settings\kuba\Pulpit\Projekt Infa\main.c structure has no member named `active&#39; </p><p>but in structure there is int active  or am i missing something?</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">int</span> init_bullet<span class="k2">(</span><span class="k2">)</span>
<span class="number">  2</span><span class="k2">{</span>
<span class="number">  3</span>    
<span class="number">  4</span>    <span class="c">//bullet function where we check what side is player facing etc.</span>
<span class="number">  5</span>    
<span class="number">  6</span>    
<span class="number">  7</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  8</span><span class="k2">}</span>
</div></div><p>

should there be something in the () of buller ini function?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (wisien92)</author>
		<pubDate>Mon, 08 Oct 2012 22:12:32 +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/611203/967728#target">wisien92</a> said:</div><div class="quote"><p> structure has no member named `active&#39; </p></div></div><p>I get those errors all the time, due to my mixing up &#39;.&#39; and &#39;-&gt;&#39;.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Mon, 08 Oct 2012 22:19:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You only need to load each bitmap one time. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> All 100 bullets can draw the same bitmap. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> For small games it is normal to load all bitmaps one time at the beginning of the program (i.e., right after initializing Allegro) and keeping them in memory for the life of the program.</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;allegro.h&gt;</span>
<span class="number">  2</span><span class="p">#include &lt;stdio.h&gt;</span>
<span class="number">  3</span>
<span class="number">  4</span><span class="k1">struct</span> bullet_t
<span class="number">  5</span><span class="k2">{</span>
<span class="number">  6</span>    <span class="k1">int</span> active<span class="k2">;</span>
<span class="number">  7</span>    <span class="k1">int</span> x<span class="k2">;</span>
<span class="number">  8</span>    <span class="k1">int</span> y<span class="k2">;</span>
<span class="number">  9</span><span class="k2">}</span><span class="k2">;</span>
<span class="number"> 10</span>
<span class="number"> 11</span><span class="k1">typedef</span> <span class="k1">struct</span> bullet_t bullet_t<span class="k2">;</span>
<span class="number"> 12</span>
<span class="number"> 13</span><span class="p">#define NUM_BULLETS 100</span>
<span class="number"> 14</span>
<span class="number"> 15</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span> argv<span class="k2">[</span><span class="k2">]</span><span class="k2">)</span>
<span class="number"> 16</span><span class="k2">{</span>
<div class="highlight"><span class="number"> 17</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span> bullet_sprite <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> </div><span class="number"> 18</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span> scrbuf <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 19</span>    bullet_t bullets<span class="k2">[</span>NUM_BULLETS<span class="k2">]</span> <span class="k3">=</span> <span class="k2">{</span><span class="n">0</span><span class="k2">}</span><span class="k2">;</span>
<span class="number"> 20</span>    <span class="k1">int</span> i<span class="k2">;</span>
<span class="number"> 21</span>
<span class="number"> 22</span>    <span class="c">// initialize Allegro, back-buffer, etc.</span>
<span class="number"> 23</span>
<div class="highlight"><span class="number"> 24</span>    bullet_sprite <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bitmap"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="s">"pociskhorizontal.bmp"</span>, <a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span> </div><span class="number"> 25</span>
<span class="number"> 26</span>    <span class="k1">if</span><span class="k2">(</span>bullet_sprite <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span>
<span class="number"> 27</span>    <span class="k2">{</span>
<span class="number"> 28</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"Failed to load bullet sprite.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 29</span>        <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 30</span>    <span class="k2">}</span>
<span class="number"> 31</span>
<span class="number"> 32</span>    <span class="c">// ...etc...</span>
<span class="number"> 33</span>
<span class="number"> 34</span>    <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>ESC<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 35</span>    <span class="k2">{</span>
<span class="number"> 36</span>        <span class="c">// logic...</span>
<span class="number"> 37</span>
<span class="number"> 38</span>        <span class="k1">for</span><span class="k2">(</span>i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> i<span class="k3">&lt;</span>NUM_BULLETS<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 39</span>        <span class="k2">{</span>
<span class="number"> 40</span>            bullet_t <span class="k3">*</span> bullet <span class="k3">=</span> <span class="k3">&amp;</span>bullets<span class="k2">[</span>i<span class="k2">]</span><span class="k2">;</span>
<span class="number"> 41</span>
<span class="number"> 42</span>            <span class="k1">if</span><span class="k2">(</span>bullet-&gt;active<span class="k2">)</span>
<span class="number"> 43</span>            <span class="k2">{</span>
<span class="number"> 44</span>                <a href="http://www.allegro.cc/manual/draw_sprite"><span class="a">draw_sprite</span></a><span class="k2">(</span>
<span class="number"> 45</span>                        scrbuf,
<div class="highlight"><span class="number"> 46</span>                        bullet_sprite, </div><span class="number"> 47</span>                        bullet-&gt;x,
<span class="number"> 48</span>                        bullet-&gt;y<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 49</span>            <span class="k2">}</span>
<span class="number"> 50</span>        <span class="k2">}</span>
<span class="number"> 51</span>
<span class="number"> 52</span>        <a href="http://www.allegro.cc/manual/blit"><span class="a">blit</span></a><span class="k2">(</span>scrbuf, <a href="http://www.allegro.cc/manual/screen"><span class="a">screen</span></a>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, scrbuf-&gt;w, scrbuf-&gt;h<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 53</span>    <span class="k2">}</span>
<span class="number"> 54</span>
<span class="number"> 55</span>    <span class="c">/*</span>
<span class="number"> 56</span><span class="c">     * Clean up (technically optional at this point, but it's</span>
<span class="number"> 57</span><span class="c">     * useful to understand anyway).</span>
<span class="number"> 58</span><span class="c">     */</span>
<div class="highlight"><span class="number"> 59</span>    <a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>bullet_sprite<span class="k2">)</span><span class="k2">;</span> </div><span class="number"> 60</span>
<span class="number"> 61</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 62</span><span class="k2">}</span>
</div></div><p>

We load the bullet sprite <u>once</u>, use it for all 100 bullets, and we destroy it once when we&#39;re completely finished with it (i.e., when the user exits).</p><p>I&#39;m glad to see you checking return values. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> Your indentation is a little bit sporadic though.</p><p>I&#39;m not sure why you&#39;re using <span class="source-code"><a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a></span> directly. I think that&#39;s a slightly lower-level function. I think the correct front-end is <span class="source-code"><a href="http://www.allegro.cc/manual/load_bitmap"><span class="a">load_bitmap</span></a></span>, which does pretty much the same thing, but I think supports a few variations of formats. That said, if you&#39;re using <span class="source-code"><a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a></span> for a good reason then that&#39;s fine. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (bamccaig)</author>
		<pubDate>Mon, 08 Oct 2012 22:45:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I used load_bmp &#39;couse i didn&#39;t know any other functions <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" /> as i said i am proggraming for one and a half week and learning in allegro is something that i do for myself becouse in school we have basics right now.</p><p>there is error in loading scrbuf (what it supose to do anyway?)</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="number">   2</span>
<span class="number">   3</span><span class="p">#include &lt;stdio.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;stdlib.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro.h&gt;</span>
<span class="number">   6</span>
<span class="number">   7</span><span class="p">#define NUM_BULLETS 100</span>
<span class="number">   8</span>
<span class="number">   9</span><span class="k1">volatile</span> <span class="k1">long</span> speed <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  10</span><span class="k1">void</span> increment_speed<span class="k2">(</span><span class="k2">)</span>
<span class="number">  11</span><span class="k2">{</span>
<span class="number">  12</span>     speed<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number">  13</span><span class="k2">}</span>
<span class="number">  14</span><a href="http://www.allegro.cc/manual/END_OF_FUNCTION"><span class="a">END_OF_FUNCTION</span></a><span class="k2">(</span>increment_speed<span class="k2">)</span><span class="k2">;</span> 
<span class="number">  15</span><a href="http://www.allegro.cc/manual/LOCK_VARIABLE"><span class="a">LOCK_VARIABLE</span></a><span class="k2">(</span>speed<span class="k2">)</span><span class="k2">;</span>
<span class="number">  16</span><a href="http://www.allegro.cc/manual/LOCK_FUNCTION"><span class="a">LOCK_FUNCTION</span></a><span class="k2">(</span>increment_speed<span class="k2">)</span><span class="k2">;</span>  
<span class="number">  17</span>
<span class="number">  18</span><span class="k1">struct</span> bullet_t <span class="k2">{</span>
<span class="number">  19</span>
<span class="number">  20</span>   <span class="k1">int</span> active<span class="k2">;</span>
<span class="number">  21</span>   <span class="k1">int</span> x<span class="k2">;</span>
<span class="number">  22</span>   <span class="k1">int</span> y<span class="k2">;</span>
<span class="number">  23</span>   
<span class="number">  24</span><span class="k2">}</span> <span class="k2">;</span>
<span class="number">  25</span><span class="k1">typedef</span> <span class="k1">struct</span> bullet_t bullet_t<span class="k2">;</span>
<span class="number">  26</span>
<span class="number">  27</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span>argv<span class="k2">[</span><span class="k2">]</span><span class="k2">)</span>
<span class="number">  28</span><span class="k2">{</span>
<span class="number">  29</span>
<span class="number">  30</span>    <a href="http://www.allegro.cc/manual/allegro_init"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  31</span>    <a href="http://www.allegro.cc/manual/install_keyboard"><span class="a">install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  32</span>    <a href="http://www.allegro.cc/manual/set_color_depth"><span class="a">set_color_depth</span></a><span class="k2">(</span><span class="n">16</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  33</span>    <a href="http://www.allegro.cc/manual/set_gfx_mode"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_AUTODETECT_WINDOWED,<span class="n">800</span>,<span class="n">600</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  34</span>    <a href="http://www.allegro.cc/manual/clear_to_color"><span class="a">clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/makecol"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">128</span>,<span class="n">128</span>,<span class="n">128</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  35</span>    <a href="http://www.allegro.cc/manual/install_timer"><span class="a">install_timer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  36</span>    <a href="http://www.allegro.cc/manual/install_int_ex"><span class="a">install_int_ex</span></a><span class="k2">(</span>increment_speed, BPS_TO_TIMER<span class="k2">(</span><span class="n">40</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span>
<span class="number">  38</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span>bufor <span class="k3">=</span> NULL<span class="k2">;</span> 
<span class="number">  39</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span>player <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  40</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span>background <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  41</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span>bullet <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  42</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span>wyb1 <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  43</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span>wyb2 <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  44</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span> bullet_sprite <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>  
<span class="number">  45</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span> scrbuf <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>              
<span class="number">  46</span>    
<span class="number">  47</span>    
<span class="number">  48</span>    bufor <span class="k3">=</span> <a href="http://www.allegro.cc/manual/create_bitmap"><span class="a">create_bitmap</span></a><span class="k2">(</span><span class="n">800</span>,<span class="n">600</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</span>    background <span class="k3">=</span> <a href="http://www.allegro.cc/manual/create_bitmap"><span class="a">create_bitmap</span></a><span class="k2">(</span><span class="n">800</span>,<span class="n">600</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  50</span>    
<span class="number">  51</span>    <a href="http://www.allegro.cc/manual/install_timer"><span class="a">install_timer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>                                                                  <span class="c">//  timery</span>
<span class="number">  52</span>    <a href="http://www.allegro.cc/manual/install_int_ex"><span class="a">install_int_ex</span></a><span class="k2">(</span>increment_speed, BPS_TO_TIMER<span class="k2">(</span><span class="n">100</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>  
<span class="number">  53</span>    
<span class="number">  54</span>      
<span class="number">  55</span>    
<span class="number">  56</span> 
<span class="number">  57</span>               <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>bufor<span class="k2">)</span>
<span class="number">  58</span>               <span class="k2">{</span>
<span class="number">  59</span>               <a href="http://www.allegro.cc/manual/set_gfx_mode"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_TEXT,<span class="n">0</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">  60</span>               <a href="http://www.allegro.cc/manual/allegro_message"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Nie mogę utworzyć bufora !"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  61</span>               <a href="http://www.allegro.cc/manual/allegro_exit"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  62</span>               <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  63</span>               <span class="k2">}</span>
<span class="number">  64</span>               
<span class="number">  65</span>
<span class="number">  66</span>    player <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"player.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  67</span>    background <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"trawa.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  68</span>    <span class="c">//bullet = load_bmp("pociskhorizontal.bmp",default_palette);</span>
<span class="number">  69</span>    <span class="c">//bullet = load_bmp("pociskvertical.bmp",default_palette);</span>
<span class="number">  70</span>    wyb1 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"wyb1.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  71</span>    wyb2 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"wyb2.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  72</span>    
<span class="number">  73</span>    bullet_sprite <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bitmap"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="s">"bullet.bmp"</span>, <a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  74</span>    
<span class="number">  75</span>    
<span class="number">  76</span>               <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>wyb1<span class="k2">)</span>
<span class="number">  77</span>               <span class="k2">{</span>
<span class="number">  78</span>               <a href="http://www.allegro.cc/manual/set_gfx_mode"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_TEXT,<span class="n">0</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">  79</span>               <a href="http://www.allegro.cc/manual/allegro_message"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Nie mogę utworzyć wby 1 !"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  80</span>               <a href="http://www.allegro.cc/manual/allegro_exit"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  81</span>               <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  82</span>               <span class="k2">}</span>
<span class="number">  83</span>               
<span class="number">  84</span>               <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>wyb2<span class="k2">)</span>
<span class="number">  85</span>               <span class="k2">{</span>
<span class="number">  86</span>               <a href="http://www.allegro.cc/manual/set_gfx_mode"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_TEXT,<span class="n">0</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">  87</span>               <a href="http://www.allegro.cc/manual/allegro_message"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Nie mogę utworzyć wyb 2 !"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  88</span>               <a href="http://www.allegro.cc/manual/allegro_exit"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  89</span>               <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  90</span>               <span class="k2">}</span>
<span class="number">  91</span>          
<span class="number">  92</span>              <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>background<span class="k2">)</span>
<span class="number">  93</span>              <span class="k2">{</span>
<span class="number">  94</span>               <a href="http://www.allegro.cc/manual/set_gfx_mode"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_TEXT,<span class="n">0</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">  95</span>               <a href="http://www.allegro.cc/manual/allegro_message"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"nie mogę załadować tlo !"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  96</span>               <a href="http://www.allegro.cc/manual/allegro_exit"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  97</span>              <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  98</span>              <span class="k2">}</span>
<span class="number">  99</span>
<span class="number"> 100</span>              <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>player<span class="k2">)</span>
<span class="number"> 101</span>              <span class="k2">{</span>
<span class="number"> 102</span>              <a href="http://www.allegro.cc/manual/set_gfx_mode"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_TEXT,<span class="n">0</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"> 103</span>              <a href="http://www.allegro.cc/manual/allegro_message"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Blad przy wczytywaniu gracza!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 104</span>              <a href="http://www.allegro.cc/manual/allegro_exit"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 105</span>              <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 106</span>              <span class="k2">}</span>
<span class="number"> 107</span>              
<span class="number"> 108</span>              <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>bullet_sprite<span class="k2">)</span>
<span class="number"> 109</span>              <span class="k2">{</span>
<span class="number"> 110</span>              <a href="http://www.allegro.cc/manual/set_gfx_mode"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_TEXT,<span class="n">0</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"> 111</span>              <a href="http://www.allegro.cc/manual/allegro_message"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Blad przy wczytywaniu gracza!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 112</span>              <a href="http://www.allegro.cc/manual/allegro_exit"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 113</span>              <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 114</span>              <span class="k2">}</span>
<span class="number"> 115</span>              
<span class="number"> 116</span>              <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>scrbuf<span class="k2">)</span>
<span class="number"> 117</span>              <span class="k2">{</span>
<span class="number"> 118</span>              <a href="http://www.allegro.cc/manual/set_gfx_mode"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_TEXT,<span class="n">0</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"> 119</span>              <a href="http://www.allegro.cc/manual/allegro_message"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Blad przy wczytywaniu scrbuf!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 120</span>              <a href="http://www.allegro.cc/manual/allegro_exit"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 121</span>              <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 122</span>              <span class="k2">}</span>
<span class="number"> 123</span>            
<span class="number"> 124</span>              
<span class="number"> 125</span>
<span class="number"> 126</span>    <span class="k1">int</span> player_x <span class="k3">=</span> <span class="n">350</span>, player_y <span class="k3">=</span> <span class="n">250</span><span class="k2">;</span>
<span class="number"> 127</span>    <span class="k1">int</span> bullet_x , bullet_y<span class="k2">;</span>  
<span class="number"> 128</span>    <span class="k1">int</span> face <span class="k3">=</span> <span class="n">3</span><span class="k2">;</span>
<span class="number"> 129</span>    <span class="k1">int</span> counter <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 130</span>    <span class="k1">int</span> leci<span class="k2">;</span>
<span class="number"> 131</span>    <span class="k1">int</span> pociskleci <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 132</span>    <span class="k1">int</span> kolizja <span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 133</span>    <span class="k1">int</span> i<span class="k2">;</span>
<span class="number"> 134</span>    <span class="k1">int</span> wyb1_x, wyb1_y, wyb2_x, wyb2_y<span class="k2">;</span>
<span class="number"> 135</span>    <span class="k1">int</span> framewyb <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 136</span>    bullet_t bullets<span class="k2">[</span>NUM_BULLETS<span class="k2">]</span> <span class="k3">=</span> <span class="k2">{</span><span class="n">0</span><span class="k2">}</span><span class="k2">;</span>
<span class="number"> 137</span>    <span class="k1">int</span> leci_lewo <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 138</span>    <span class="k1">int</span> leci_prawo <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 139</span>    <span class="k1">int</span> leci_gora <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 140</span>    <span class="k1">int</span> leci_dol <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 141</span>    
<span class="number"> 142</span>    <span class="k1">while</span><span class="k2">(</span>speed <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span>
<span class="number"> 143</span>    <span class="k2">{</span>
<span class="number"> 144</span>    <span class="k1">while</span><span class="k2">(</span> <span class="k3">!</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_ESC<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 145</span>
<span class="number"> 146</span>    <span class="k2">{</span>
<span class="number"> 147</span>
<span class="number"> 148</span>           <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 149</span>                <span class="k2">{</span>
<span class="number"> 150</span>                player_x--<span class="k2">;</span>
<span class="number"> 151</span>                player <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"player_LEFT.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 152</span>                face <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 153</span>                <span class="k2">}</span>
<span class="number"> 154</span>                  
<span class="number"> 155</span>           <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 156</span>                <span class="k2">{</span>
<span class="number"> 157</span>                player_x<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 158</span>                player <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"player_RIGHT.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 159</span>                face <span class="k3">=</span> <span class="n">2</span><span class="k2">;</span>
<span class="number"> 160</span>                <span class="k2">}</span>
<span class="number"> 161</span>           <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 162</span>                <span class="k2">{</span>
<span class="number"> 163</span>                player_y--<span class="k2">;</span>
<span class="number"> 164</span>                player <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"player_UP.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 165</span>                face <span class="k3">=</span> <span class="n">3</span><span class="k2">;</span>
<span class="number"> 166</span>                <span class="k2">}</span>
<span class="number"> 167</span>           <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_DOWN<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 168</span>                <span class="k2">{</span>
<span class="number"> 169</span>                player_y<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 170</span>                player <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"player_DOWN.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 171</span>                face <span class="k3">=</span> <span class="n">4</span><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="c">//kolizje czołgu ze ścianą</span>
<span class="number"> 175</span>                         <span class="k1">if</span><span class="k2">(</span>player_x&gt;<span class="k3">=</span><span class="n">28</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">28</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">600</span><span class="k2">)</span> <span class="k2">{</span>player_x<span class="k3">=</span><span class="n">30</span><span class="k2">;</span> player_y<span class="k3">=</span>player_y<span class="k2">;</span><span class="k2">}</span> <span class="c">//lewa sciana ekranu </span>
<span class="number"> 176</span>                         <span class="k1">if</span><span class="k2">(</span>player_x&gt;<span class="k3">=</span><span class="n">700</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">700</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">600</span><span class="k2">)</span> <span class="k2">{</span>player_x<span class="k3">=</span><span class="n">699</span><span class="k2">;</span> player_y<span class="k3">=</span>player_y<span class="k2">;</span><span class="k2">}</span> <span class="c">// prawa sciana ekranu</span>
<span class="number"> 177</span>                         <span class="k1">if</span><span class="k2">(</span>player_x&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">800</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y&gt;<span class="k3">=</span><span class="n">33</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">33</span><span class="k2">)</span> <span class="k2">{</span>player_x<span class="k3">=</span>player_x<span class="k2">;</span> player_y<span class="k3">=</span><span class="n">35</span><span class="k2">;</span><span class="k2">}</span> <span class="c">// gorna sciana ekranu </span>
<span class="number"> 178</span>                         <span class="k1">if</span><span class="k2">(</span>player_x&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">800</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y&gt;<span class="k3">=</span><span class="n">500</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">500</span><span class="k2">)</span> <span class="k2">{</span>player_x<span class="k3">=</span>player_x<span class="k2">;</span> player_y<span class="k3">=</span><span class="n">498</span><span class="k2">;</span><span class="k2">}</span> <span class="c">// dolna sciana ekranu</span>
<span class="number"> 179</span>               
<span class="number"> 180</span>                                        
<span class="number"> 181</span>                
<span class="number"> 182</span>                
<span class="number"> 183</span>           <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_SPACE<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 184</span>           <span class="k2">{</span>                
<span class="number"> 185</span>                        <span class="k1">for</span><span class="k2">(</span>i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> i<span class="k3">&lt;</span>NUM_BULLETS<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 186</span>                        <span class="k2">{</span>
<span class="number"> 187</span>                                 bullet_t <span class="k3">*</span> bullet <span class="k3">=</span> <span class="k3">&amp;</span>bullets<span class="k2">[</span>i<span class="k2">]</span><span class="k2">;</span>
<span class="number"> 188</span>
<span class="number"> 189</span>                                 <span class="k1">if</span><span class="k2">(</span>bullet-&gt;active<span class="k2">)</span>
<span class="number"> 190</span>                                 <span class="k2">{</span>
<span class="number"> 191</span>                                         <a href="http://www.allegro.cc/manual/draw_sprite"><span class="a">draw_sprite</span></a><span class="k2">(</span>
<span class="number"> 192</span>                                          bullet_sprite,         
<span class="number"> 193</span>                                          scrbuf,
<span class="number"> 194</span>                                          bullet-&gt;x,
<span class="number"> 195</span>                                          bullet-&gt;y<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 196</span>                                 <span class="k2">}</span>
<span class="number"> 197</span>                           <span class="k2">}</span> 
<span class="number"> 198</span>              
<span class="number"> 199</span>                              
<span class="number"> 200</span>              <span class="k2">}</span>
<span class="number"> 201</span>            
<span class="number"> 202</span>            
<span class="number"> 203</span>            <span class="c">///* kolizje pocisk-ściana</span>
<span class="number"> 204</span>                    <span class="k1">if</span><span class="k2">(</span>bullet_x&gt;<span class="k3">=</span><span class="n">28</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">28</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_y&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">600</span><span class="k2">)</span> <span class="k2">{</span>kolizja <span class="k3">=</span><span class="n">1</span><span class="k2">;</span> <span class="k2">}</span> <span class="c">//lewa sciana ekranu </span>
<span class="number"> 205</span>                    <span class="k1">if</span><span class="k2">(</span>bullet_x&gt;<span class="k3">=</span><span class="n">700</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">700</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_y&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">600</span><span class="k2">)</span> <span class="k2">{</span>kolizja <span class="k3">=</span><span class="n">1</span><span class="k2">;</span><span class="k2">}</span> <span class="c">// prawa sciana ekranu</span>
<span class="number"> 206</span>                    <span class="k1">if</span><span class="k2">(</span>bullet_x&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">800</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_y&gt;<span class="k3">=</span><span class="n">33</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">33</span><span class="k2">)</span> <span class="k2">{</span>kolizja <span class="k3">=</span><span class="n">1</span><span class="k2">;</span><span class="k2">}</span> <span class="c">// gorna sciana ekranu </span>
<span class="number"> 207</span>                    <span class="k1">if</span><span class="k2">(</span>bullet_x&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">800</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_y&gt;<span class="k3">=</span><span class="n">500</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullet_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">500</span><span class="k2">)</span> <span class="k2">{</span>kolizja <span class="k3">=</span><span class="n">1</span><span class="k2">;</span><span class="k2">}</span> <span class="c">// dolna sciana ekranu</span>
<span class="number"> 208</span>            <span class="c">//*/</span>
<span class="number"> 209</span>                
<span class="number"> 210</span>            
<span class="number"> 211</span>                
<span class="number"> 212</span>    <a href="http://www.allegro.cc/manual/clear_to_color"><span class="a">clear_to_color</span></a><span class="k2">(</span>bufor, <a href="http://www.allegro.cc/manual/makecol"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">150</span>,<span class="n">150</span>,<span class="n">150</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 213</span>
<span class="number"> 214</span>    
<span class="number"> 215</span>    <a href="http://www.allegro.cc/manual/blit"><span class="a">blit</span></a><span class="k2">(</span> background, bufor,<span class="n">0</span>,<span class="n">0</span>, <span class="n">0</span>,<span class="n">0</span>, <span class="n">800</span>,<span class="n">600</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 216</span>    <a href="http://www.allegro.cc/manual/masked_blit"><span class="a">masked_blit</span></a><span class="k2">(</span> player, bufor, <span class="n">0</span>,<span class="n">0</span>, player_x, player_y, player-&gt;w, player-&gt;h<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 217</span>    <a href="http://www.allegro.cc/manual/blit"><span class="a">blit</span></a><span class="k2">(</span>scrbuf, bufor, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, scrbuf-&gt;w, scrbuf-&gt;h<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 218</span>    <span class="c">//masked_blit( bullet, bufor, 0,0, bullet_x, bullet_y, bullet-&gt;w, bullet-&gt;h);</span>
<span class="number"> 219</span>    <a href="http://www.allegro.cc/manual/blit"><span class="a">blit</span></a><span class="k2">(</span> bufor, <a href="http://www.allegro.cc/manual/screen"><span class="a">screen</span></a>, <span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>, <span class="n">800</span>,<span class="n">600</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 220</span>
<span class="number"> 221</span>    <span class="c">//rest(2);</span>
<span class="number"> 222</span>    
<span class="number"> 223</span>    <span class="k2">}</span>
<span class="number"> 224</span>    speed--<span class="k2">;</span>
<span class="number"> 225</span>    <span class="k2">}</span>
<span class="number"> 226</span>
<span class="number"> 227</span>
<span class="number"> 228</span>
<span class="number"> 229</span>
<span class="number"> 230</span>
<span class="number"> 231</span><a href="http://www.allegro.cc/manual/remove_int"><span class="a">remove_int</span></a><span class="k2">(</span> increment_speed<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 232</span>
<span class="number"> 233</span><a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>bullet_sprite<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 234</span><a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>scrbuf<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 235</span><a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>player<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 236</span><a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>bufor<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 237</span><a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>background<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 238</span><a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>bullet<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 239</span><a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>wyb1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 240</span><a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>wyb2<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 241</span>
<span class="number"> 242</span><a href="http://www.allegro.cc/manual/allegro_exit"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 243</span>
<span class="number"> 244</span><span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 245</span>
<span class="number"> 246</span><span class="k2">}</span>
<span class="number"> 247</span>
<span class="number"> 248</span><a href="http://www.allegro.cc/manual/END_OF_MAIN"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (wisien92)</author>
		<pubDate>Mon, 08 Oct 2012 23:28:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><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">while</span><span class="k2">(</span> <span class="k3">!</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_ESC<span class="k2">]</span><span class="k2">)</span>
<span class="number">  2</span> <span class="n">144</span>
<span class="number">  3</span> <span class="n">145</span>    <span class="k2">{</span>
<span class="number">  4</span> <span class="n">146</span>
<span class="number">  5</span> <span class="n">147</span>           <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span>
<span class="number">  6</span> <span class="n">148</span>                <span class="k2">{</span>
<span class="number">  7</span> <span class="n">149</span>                player_x--<span class="k2">;</span>
<span class="number">  8</span> <span class="n">150</span>                player <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"player_LEFT.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  9</span> <span class="n">151</span>                face <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 10</span> <span class="n">152</span>                <span class="k2">}</span>
<span class="number"> 11</span> <span class="n">153</span>                  
<span class="number"> 12</span> <span class="n">154</span>           <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 13</span> <span class="n">155</span>                <span class="k2">{</span>
<span class="number"> 14</span> <span class="n">156</span>                player_x<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 15</span> <span class="n">157</span>                player <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"player_RIGHT.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 16</span> <span class="n">158</span>                face <span class="k3">=</span> <span class="n">2</span><span class="k2">;</span>
<span class="number"> 17</span> <span class="n">159</span>                <span class="k2">}</span>
<span class="number"> 18</span> <span class="n">160</span>           <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 19</span> <span class="n">161</span>                <span class="k2">{</span>
<span class="number"> 20</span> <span class="n">162</span>                player_y--<span class="k2">;</span>
<span class="number"> 21</span> <span class="n">163</span>                player <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"player_UP.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 22</span> <span class="n">164</span>                face <span class="k3">=</span> <span class="n">3</span><span class="k2">;</span>
<span class="number"> 23</span> <span class="n">165</span>                <span class="k2">}</span>
<span class="number"> 24</span> <span class="n">166</span>           <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_DOWN<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 25</span> <span class="n">167</span>                <span class="k2">{</span>
<span class="number"> 26</span> <span class="n">168</span>                player_y<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 27</span> <span class="n">169</span>                player <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"player_DOWN.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 28</span> <span class="n">170</span>                face <span class="k3">=</span> <span class="n">4</span><span class="k2">;</span>
<span class="number"> 29</span> <span class="n">171</span>                <span class="k2">}</span>
</div></div><p>
It is wrong yet. Pay close attention, your are loading the bitmaps on key press. So, with you press lets say, key down 300 times, u will load 300 images. This is memory leak! Load all bitmaps you will need ONLY ONE TIME. Then use them.<br />For example...
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="k2">{</span>
  <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span>player<span class="k2">[</span><span class="n">4</span><span class="k2">]</span><span class="k2">;</span>
  player<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bitmap"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="s">"player_UP.bmp"</span>, default_pallete<span class="k2">)</span><span class="k2">;</span>
  player<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bitmap"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="s">"player_DOWN.bmp"</span>, default_pallete<span class="k2">)</span><span class="k2">;</span>
  player<span class="k2">[</span><span class="n">2</span><span class="k2">]</span> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bitmap"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="s">"player_LEFT.bmp"</span>, default_pallete<span class="k2">)</span><span class="k2">;</span>
  player<span class="k2">[</span><span class="n">3</span><span class="k2">]</span> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bitmap"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="s">"player_RIGHT.bmp"</span>, default_pallete<span class="k2">)</span><span class="k2">;</span>

<span class="c">// In your draw function</span>
  <a href="http://www.allegro.cc/manual/masked_blit"><span class="a">masked_blit</span></a><span class="k2">(</span>player<span class="k2">[</span>face<span class="k2">]</span>, bufor, <span class="n">0</span>, <span class="n">0</span> player_x, player_y, player<span class="k2">[</span>face<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>w, player<span class="k2">[</span>face<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>h<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
There still errors in shooting bullets, but try to figure out first. Try to compile the code in your head and see what are happening.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Gabriel Campos)</author>
		<pubDate>Mon, 08 Oct 2012 23:41:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>player[face] don&#39;t give errors but there is game error and it doesn&#39;t compile</p><p>old code without shooting to test out</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;stdio.h&gt;</span>
<span class="number">   2</span><span class="p">#include &lt;stdlib.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;allegro.h&gt;</span>
<span class="number">   4</span>
<span class="number">   5</span><span class="k1">volatile</span> <span class="k1">long</span> speed <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">   6</span><span class="k1">void</span> increment_speed<span class="k2">(</span><span class="k2">)</span>
<span class="number">   7</span><span class="k2">{</span>
<span class="number">   8</span>     speed<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number">   9</span><span class="k2">}</span>
<span class="number">  10</span><a href="http://www.allegro.cc/manual/END_OF_FUNCTION"><span class="a">END_OF_FUNCTION</span></a><span class="k2">(</span>increment_speed<span class="k2">)</span><span class="k2">;</span> 
<span class="number">  11</span><a href="http://www.allegro.cc/manual/LOCK_VARIABLE"><span class="a">LOCK_VARIABLE</span></a><span class="k2">(</span>speed<span class="k2">)</span><span class="k2">;</span>
<span class="number">  12</span><a href="http://www.allegro.cc/manual/LOCK_FUNCTION"><span class="a">LOCK_FUNCTION</span></a><span class="k2">(</span>increment_speed<span class="k2">)</span><span class="k2">;</span>  
<span class="number">  13</span>
<span class="number">  14</span>
<span class="number">  15</span>
<span class="number">  16</span>
<span class="number">  17</span>
<span class="number">  18</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span>argv<span class="k2">[</span><span class="k2">]</span><span class="k2">)</span>
<span class="number">  19</span><span class="k2">{</span>
<span class="number">  20</span>
<span class="number">  21</span>    <a href="http://www.allegro.cc/manual/allegro_init"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  22</span>    <a href="http://www.allegro.cc/manual/install_keyboard"><span class="a">install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  23</span>    <a href="http://www.allegro.cc/manual/set_color_depth"><span class="a">set_color_depth</span></a><span class="k2">(</span><span class="n">16</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  24</span>    <a href="http://www.allegro.cc/manual/set_gfx_mode"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_AUTODETECT_WINDOWED,<span class="n">800</span>,<span class="n">600</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  25</span>    <a href="http://www.allegro.cc/manual/clear_to_color"><span class="a">clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/makecol"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">128</span>,<span class="n">128</span>,<span class="n">128</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  26</span>    <a href="http://www.allegro.cc/manual/install_timer"><span class="a">install_timer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>    <a href="http://www.allegro.cc/manual/install_int_ex"><span class="a">install_int_ex</span></a><span class="k2">(</span>increment_speed, BPS_TO_TIMER<span class="k2">(</span><span class="n">40</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  28</span>
<span class="number">  29</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span>bufor <span class="k3">=</span> NULL<span class="k2">;</span> 
<span class="number">  30</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span>player<span class="k2">[</span><span class="n">4</span><span class="k2">]</span><span class="k2">;</span>
<span class="number">  31</span>    <a href="http://www.allegro.cc/manual/BITMAP"><span class="a">BITMAP</span></a> <span class="k3">*</span>background <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  32</span>
<span class="number">  33</span>    
<span class="number">  34</span>    bufor <span class="k3">=</span> <a href="http://www.allegro.cc/manual/create_bitmap"><span class="a">create_bitmap</span></a><span class="k2">(</span><span class="n">800</span>,<span class="n">600</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  35</span>    background <span class="k3">=</span> <a href="http://www.allegro.cc/manual/create_bitmap"><span class="a">create_bitmap</span></a><span class="k2">(</span><span class="n">800</span>,<span class="n">600</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  36</span>    
<span class="number">  37</span>    <a href="http://www.allegro.cc/manual/install_timer"><span class="a">install_timer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>                                                                  <span class="c">//  timery</span>
<span class="number">  38</span>    <a href="http://www.allegro.cc/manual/install_int_ex"><span class="a">install_int_ex</span></a><span class="k2">(</span>increment_speed, BPS_TO_TIMER<span class="k2">(</span><span class="n">100</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>      
<span class="number">  39</span>    
<span class="number">  40</span> 
<span class="number">  41</span>               <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>bufor<span class="k2">)</span>
<span class="number">  42</span>               <span class="k2">{</span>
<span class="number">  43</span>               <a href="http://www.allegro.cc/manual/set_gfx_mode"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_TEXT,<span class="n">0</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">  44</span>               <a href="http://www.allegro.cc/manual/allegro_message"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Nie mogę utworzyć bufora !"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span>               <a href="http://www.allegro.cc/manual/allegro_exit"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  46</span>               <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  47</span>               <span class="k2">}</span>
<span class="number">  48</span>               
<span class="number">  49</span>
<span class="number">  50</span>    <span class="c">//player = load_bmp("player.bmp",default_palette);</span>
<span class="number">  51</span>    background <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"trawa.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  52</span>    bullet <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"pociskhorizontal.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  53</span>    wyb1 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"wyb1.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  54</span>    wyb2 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"wyb2.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>    
<span class="number">  56</span>    
<span class="number">  57</span>    player<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"player_UP.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  58</span>    player<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"player_DOWN.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  59</span>    player<span class="k2">[</span><span class="n">2</span><span class="k2">]</span> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"player_LEFT.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  60</span>    player<span class="k2">[</span><span class="n">3</span><span class="k2">]</span> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bmp"><span class="a">load_bmp</span></a><span class="k2">(</span><span class="s">"player_RIGHT.bmp"</span>,<a href="http://www.allegro.cc/manual/default_palette"><span class="a">default_palette</span></a><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="number">  64</span>              <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>background<span class="k2">)</span>
<span class="number">  65</span>              <span class="k2">{</span>
<span class="number">  66</span>               <a href="http://www.allegro.cc/manual/set_gfx_mode"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_TEXT,<span class="n">0</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">  67</span>               <a href="http://www.allegro.cc/manual/allegro_message"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"nie mogę załadować tlo !"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  68</span>               <a href="http://www.allegro.cc/manual/allegro_exit"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>              <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  70</span>              <span class="k2">}</span>
<span class="number">  71</span>
<span class="number">  72</span>              <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>player<span class="k2">[</span><span class="n">4</span><span class="k2">]</span><span class="k2">)</span>
<span class="number">  73</span>              <span class="k2">{</span>
<span class="number">  74</span>              <a href="http://www.allegro.cc/manual/set_gfx_mode"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_TEXT,<span class="n">0</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">  75</span>              <a href="http://www.allegro.cc/manual/allegro_message"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Blad przy wczytywaniu gracza!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  76</span>              <a href="http://www.allegro.cc/manual/allegro_exit"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  77</span>              <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  78</span>              <span class="k2">}</span>
<span class="number">  79</span>
<span class="number">  80</span> 
<span class="number">  81</span>
<span class="number">  82</span>    <span class="k1">int</span> player_x <span class="k3">=</span> <span class="n">350</span>, player_y <span class="k3">=</span> <span class="n">250</span><span class="k2">;</span>
<span class="number">  83</span>    <span class="k1">int</span> face <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  84</span>    
<span class="number">  85</span>    
<span class="number">  86</span>    <span class="k1">while</span><span class="k2">(</span>speed <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span>
<span class="number">  87</span>    <span class="k2">{</span>
<span class="number">  88</span>    <span class="k1">while</span><span class="k2">(</span> <span class="k3">!</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_ESC<span class="k2">]</span><span class="k2">)</span>
<span class="number">  89</span>
<span class="number">  90</span>    <span class="k2">{</span>
<span class="number">  91</span>
<span class="number">  92</span>           <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span>
<span class="number">  93</span>                <span class="k2">{</span>
<span class="number">  94</span>                player_x--<span class="k2">;</span>
<span class="number">  95</span>                face <span class="k3">=</span> <span class="n">2</span><span class="k2">;</span>
<span class="number">  96</span>                <span class="k2">}</span>
<span class="number">  97</span>                  
<span class="number">  98</span>           <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span><span class="k2">)</span>
<span class="number">  99</span>                <span class="k2">{</span>
<span class="number"> 100</span>                player_x<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 101</span>                face <span class="k3">=</span> <span class="n">3</span><span class="k2">;</span>
<span class="number"> 102</span>                <span class="k2">}</span>
<span class="number"> 103</span>           <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 104</span>                <span class="k2">{</span>
<span class="number"> 105</span>                player_y--<span class="k2">;</span>
<span class="number"> 106</span>                face <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 107</span>                <span class="k2">}</span>
<span class="number"> 108</span>           <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_DOWN<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 109</span>                <span class="k2">{</span>
<span class="number"> 110</span>                player_y<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 111</span>                face <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 112</span>                <span class="k2">}</span>
<span class="number"> 113</span>                
<span class="number"> 114</span>                         <span class="c">//kolizje czołgu ze ścianą</span>
<span class="number"> 115</span>                         <span class="k1">if</span><span class="k2">(</span>player_x&gt;<span class="k3">=</span><span class="n">28</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">28</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">600</span><span class="k2">)</span> <span class="k2">{</span>player_x<span class="k3">=</span><span class="n">30</span><span class="k2">;</span> player_y<span class="k3">=</span>player_y<span class="k2">;</span><span class="k2">}</span> <span class="c">//lewa sciana ekranu </span>
<span class="number"> 116</span>                         <span class="k1">if</span><span class="k2">(</span>player_x&gt;<span class="k3">=</span><span class="n">700</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">700</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">600</span><span class="k2">)</span> <span class="k2">{</span>player_x<span class="k3">=</span><span class="n">699</span><span class="k2">;</span> player_y<span class="k3">=</span>player_y<span class="k2">;</span><span class="k2">}</span> <span class="c">// prawa sciana ekranu</span>
<span class="number"> 117</span>                         <span class="k1">if</span><span class="k2">(</span>player_x&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">800</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y&gt;<span class="k3">=</span><span class="n">33</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">33</span><span class="k2">)</span> <span class="k2">{</span>player_x<span class="k3">=</span>player_x<span class="k2">;</span> player_y<span class="k3">=</span><span class="n">35</span><span class="k2">;</span><span class="k2">}</span> <span class="c">// gorna sciana ekranu </span>
<span class="number"> 118</span>                         <span class="k1">if</span><span class="k2">(</span>player_x&gt;<span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_x<span class="k3">&lt;</span><span class="k3">=</span><span class="n">800</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y&gt;<span class="k3">=</span><span class="n">500</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> player_y<span class="k3">&lt;</span><span class="k3">=</span><span class="n">500</span><span class="k2">)</span> <span class="k2">{</span>player_x<span class="k3">=</span>player_x<span class="k2">;</span> player_y<span class="k3">=</span><span class="n">498</span><span class="k2">;</span><span class="k2">}</span> <span class="c">// dolna sciana ekranu</span>
<span class="number"> 119</span>               
<span class="number"> 120</span>     
<span class="number"> 121</span>        
<span class="number"> 122</span>                
<span class="number"> 123</span>    <a href="http://www.allegro.cc/manual/clear_to_color"><span class="a">clear_to_color</span></a><span class="k2">(</span>bufor, <a href="http://www.allegro.cc/manual/makecol"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">150</span>,<span class="n">150</span>,<span class="n">150</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 124</span>
<span class="number"> 125</span>
<span class="number"> 126</span>    <a href="http://www.allegro.cc/manual/blit"><span class="a">blit</span></a><span class="k2">(</span> background, bufor,<span class="n">0</span>,<span class="n">0</span>, <span class="n">0</span>,<span class="n">0</span>, <span class="n">800</span>,<span class="n">600</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 127</span>    <a href="http://www.allegro.cc/manual/masked_blit"><span class="a">masked_blit</span></a><span class="k2">(</span> player<span class="k2">[</span>face<span class="k2">]</span>, bufor, <span class="n">0</span>,<span class="n">0</span>, player_x, player_y, player<span class="k2">[</span>face<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>w, player<span class="k2">[</span>face<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>h<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 128</span>    <a href="http://www.allegro.cc/manual/masked_blit"><span class="a">masked_blit</span></a><span class="k2">(</span> bullet, bufor, <span class="n">0</span>,<span class="n">0</span>, bullet_x, bullet_y, bullet-&gt;w, bullet-&gt;h<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 129</span>    <a href="http://www.allegro.cc/manual/blit"><span class="a">blit</span></a><span class="k2">(</span> bufor, <a href="http://www.allegro.cc/manual/screen"><span class="a">screen</span></a>, <span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>, <span class="n">800</span>,<span class="n">600</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 130</span>
<span class="number"> 131</span>    <span class="c">//rest(2);</span>
<span class="number"> 132</span>    
<span class="number"> 133</span>    <span class="k2">}</span>
<span class="number"> 134</span>    speed--<span class="k2">;</span>
<span class="number"> 135</span>    <span class="k2">}</span>
<span class="number"> 136</span>
<span class="number"> 137</span>
<span class="number"> 138</span>
<span class="number"> 139</span>
<span class="number"> 140</span>
<span class="number"> 141</span><a href="http://www.allegro.cc/manual/remove_int"><span class="a">remove_int</span></a><span class="k2">(</span> increment_speed<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 142</span><a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>player<span class="k2">[</span><span class="n">4</span><span class="k2">]</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 143</span><a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>bufor<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 144</span><a href="http://www.allegro.cc/manual/destroy_bitmap"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>background<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 145</span>
<span class="number"> 146</span><a href="http://www.allegro.cc/manual/allegro_exit"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 147</span>
<span class="number"> 148</span><span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 149</span>
<span class="number"> 150</span><span class="k2">}</span>
<span class="number"> 151</span>
<span class="number"> 152</span><a href="http://www.allegro.cc/manual/END_OF_MAIN"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (wisien92)</author>
		<pubDate>Tue, 09 Oct 2012 00:01:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>scrbuf = bufor<br />Its just a name for buffer BITMAP. <img src="http://www.allegro.cc/forums/smileys/rolleyes.gif" alt="::)" /></p><p>EDIT<br />Hint: destroy_bitmap only destroys one bitmap.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Gabriel Campos)</author>
		<pubDate>Tue, 09 Oct 2012 00:19:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>So i deleted the scrbuf completly and in draw_sprite i put bufor and it compiles (as well with your player[4] instad of puttinig images)</p><p>so i will try to make it fire multiple times. if i fail completly i will as you guys again for help but i hope i won&#39;t need to <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" /></p><p>thank you all again!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (wisien92)</author>
		<pubDate>Tue, 09 Oct 2012 00:26:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Sorry, I didn&#39;t have the energy to write a fully working program. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> There are implicit parts missing. Also, note that I passed the two bitmaps in the wrong order to <span class="source-code"><a href="http://www.allegro.cc/manual/draw_sprite"><span class="a">draw_sprite</span></a></span> (it&#39;s been a while since I&#39;ve written A4)... Fixed. <img src="http://www.allegro.cc/forums/smileys/rolleyes.gif" alt="::)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (bamccaig)</author>
		<pubDate>Tue, 09 Oct 2012 01:00:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>ok i have multiple bullets and showing them depending on face of the tank. now i work on their movment and collision with wall and i have problem of making sprite move</p><p>code:</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="k1">if</span><span class="k2">(</span>face<span class="k3">=</span><span class="k3">=</span><span class="n">3</span><span class="k2">)</span>
<span class="number">  2</span>                            <span class="k2">{</span> 
<span class="number">  3</span>                                 bullet_t <span class="k3">*</span> bullet <span class="k3">=</span> <span class="k3">&amp;</span>bullets<span class="k2">[</span>i<span class="k2">]</span><span class="k2">;</span>
<span class="number">  4</span>                                 bullets<span class="k2">[</span>i<span class="k2">]</span>.active <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  5</span>                                 <span class="k1">if</span><span class="k2">(</span>bullets<span class="k2">[</span>i<span class="k2">]</span>.active <span class="k3">=</span><span class="k3">=</span><span class="n">1</span><span class="k2">)</span>
<span class="number">  6</span>                                 <span class="k2">{</span>
<span class="number">  7</span>                                         <a href="http://www.allegro.cc/manual/draw_sprite"><span class="a">draw_sprite</span></a><span class="k2">(</span>
<span class="number">  8</span>                                          background,         
<span class="number">  9</span>                                          bullet_sprite,
<span class="number"> 10</span>                                          player_x,
<span class="number"> 11</span>                                          player_y<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 12</span>                                          
<span class="number"> 13</span>                                          bullets<span class="k2">[</span>i<span class="k2">]</span>.x <span class="k3">+</span><span class="k3">+</span><span class="k2">;</span> <span class="c">//shouldn't this line make bullet move as long as bullets[i].active=1?</span>
<span class="number"> 14</span>                                 <span class="k2">}</span>
<span class="number"> 15</span>                                 
<span class="number"> 16</span>                            <span class="k2">}</span>
<span class="number"> 17</span>                           
<span class="number"> 18</span>                    <span class="c">//collisions bullet-walls:      </span>
<span class="number"> 19</span>                    <span class="k1">if</span><span class="k2">(</span>bullets<span class="k2">[</span>i<span class="k2">]</span>.x <span class="k3">&gt;</span><span class="k3">=</span><span class="n">28</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullets<span class="k2">[</span>i<span class="k2">]</span>.x <span class="k3">&lt;</span><span class="k3">=</span><span class="n">28</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullets<span class="k2">[</span>i<span class="k2">]</span>.y <span class="k3">&gt;</span><span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullets<span class="k2">[</span>i<span class="k2">]</span>.y <span class="k3">&lt;</span><span class="k3">=</span><span class="n">600</span><span class="k2">)</span> <span class="k2">{</span>bullets<span class="k2">[</span>i<span class="k2">]</span>.active <span class="k3">=</span><span class="n">0</span><span class="k2">;</span><span class="k2">}</span> <span class="c">//lewa sciana ekranu </span>
<span class="number"> 20</span>                    <span class="k1">if</span><span class="k2">(</span>bullets<span class="k2">[</span>i<span class="k2">]</span>.x <span class="k3">&gt;</span><span class="k3">=</span><span class="n">700</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullets<span class="k2">[</span>i<span class="k2">]</span>.x <span class="k3">&lt;</span><span class="k3">=</span><span class="n">700</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullets<span class="k2">[</span>i<span class="k2">]</span>.y <span class="k3">&gt;</span><span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullets<span class="k2">[</span>i<span class="k2">]</span>.y <span class="k3">&lt;</span><span class="k3">=</span><span class="n">600</span><span class="k2">)</span> <span class="k2">{</span>bullets<span class="k2">[</span>i<span class="k2">]</span>.active <span class="k3">=</span><span class="n">0</span><span class="k2">;</span><span class="k2">}</span> <span class="c">// prawa sciana ekranu</span>
<span class="number"> 21</span>                    <span class="k1">if</span><span class="k2">(</span>bullets<span class="k2">[</span>i<span class="k2">]</span>.x <span class="k3">&gt;</span><span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullets<span class="k2">[</span>i<span class="k2">]</span>.x <span class="k3">&lt;</span><span class="k3">=</span><span class="n">800</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullets<span class="k2">[</span>i<span class="k2">]</span>.y <span class="k3">&gt;</span><span class="k3">=</span><span class="n">33</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullets<span class="k2">[</span>i<span class="k2">]</span>.y <span class="k3">&lt;</span><span class="k3">=</span><span class="n">33</span><span class="k2">)</span> <span class="k2">{</span>bullets<span class="k2">[</span>i<span class="k2">]</span>.active <span class="k3">=</span><span class="n">0</span><span class="k2">;</span><span class="k2">}</span> <span class="c">// gorna sciana ekranu </span>
<span class="number"> 22</span>                    <span class="k1">if</span><span class="k2">(</span>bullets<span class="k2">[</span>i<span class="k2">]</span>.x <span class="k3">&gt;</span><span class="k3">=</span><span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullets<span class="k2">[</span>i<span class="k2">]</span>.x <span class="k3">&lt;</span><span class="k3">=</span><span class="n">800</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullets<span class="k2">[</span>i<span class="k2">]</span>.y <span class="k3">&gt;</span><span class="k3">=</span><span class="n">500</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> bullets<span class="k2">[</span>i<span class="k2">]</span>.y <span class="k3">&lt;</span><span class="k3">=</span><span class="n">500</span><span class="k2">)</span> <span class="k2">{</span>bullets<span class="k2">[</span>i<span class="k2">]</span>.active <span class="k3">=</span><span class="n">0</span><span class="k2">;</span><span class="k2">}</span> <span class="c">// dolna sciana ekranu</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (wisien92)</author>
		<pubDate>Wed, 10 Oct 2012 00:30:06 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>In that code you have there, you set bullets[i].active to 1 and then in the next line check if it equals 1, which doesn&#39;t make much sense.</p><p>Also, without seeing the rest of the code you have, I&#39;m guessing that all your bullets will move in whatever direction the ship is currently facing, while they should be moving in the direction the ship was facing when they were fired.  You can fix this by either storing the direction they are traveling in the bullet struct, or store the x and y component of their velocities.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Wed, 10 Oct 2012 00:50:46 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Does this make any sense?</p><p>i have added face in bullets structure</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">for</span><span class="k2">(</span>i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>i<span class="k3">&lt;</span><span class="k3">=</span>NUM_BULLETS<span class="k2">;</span>i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  2</span><span class="k2">{</span>
<span class="number">  3</span> <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">(</span>KEY_SPACE<span class="k2">)</span><span class="k2">)</span>
<span class="number">  4</span> <span class="k2">{</span>
<span class="number">  5</span>   <span class="k1">if</span><span class="k2">(</span>face<span class="k3">=</span><span class="k3">=</span><span class="n">0</span><span class="k2">)</span>
<span class="number">  6</span>   <span class="k2">{</span>
<span class="number">  7</span>     bullets<span class="k2">[</span>i<span class="k2">]</span>.face<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number">  8</span>     bullets<span class="k2">[</span>i<span class="k2">]</span>active<span class="k3">=</span><span class="n">1</span><span class="k2">:</span>
<span class="number">  9</span>   <span class="k2">}</span>
<span class="number"> 10</span>   <span class="c">//rest of face's</span>
<span class="number"> 11</span>
<span class="number"> 12</span> <span class="k2">}</span>
<span class="number"> 13</span>
<span class="number"> 14</span> <span class="c">//collision if collision bullets[i].active=0</span>
<span class="number"> 15</span>
<span class="number"> 16</span> <span class="k1">while</span><span class="k2">(</span>bullets<span class="k2">[</span>i<span class="k2">]</span>.active<span class="k3">=</span><span class="k3">=</span><span class="n">1</span><span class="k2">)</span>
<span class="number"> 17</span> <span class="k2">{</span>
<span class="number"> 18</span>    drawsprite<span class="k2">;</span>
<span class="number"> 19</span>    <span class="k1">if</span><span class="k2">(</span>bullets<span class="k2">[</span>i<span class="k2">]</span>.strona<span class="k3">=</span><span class="k3">=</span><span class="n">0</span><span class="k2">)</span>
<span class="number"> 20</span>       bullets<span class="k2">[</span>i<span class="k2">]</span>.x <span class="k3">-</span><span class="k3">-</span><span class="k2">;</span>
<span class="number"> 21</span>    <span class="c">//rest of bullets faces</span>
<span class="number"> 22</span>
<span class="number"> 23</span> <span class="k2">}</span>
<span class="number"> 24</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (wisien92)</author>
		<pubDate>Wed, 10 Oct 2012 22:51:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>First please specify what you are trying to do <u>right now</u>? The code you posted doesn&#39;t make sense (i.e., <tt>if face is 0 then set face to 0</tt>; <b>but it already is</b> <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />). It looks like you don&#39;t understand what it is you&#39;re trying to do and if you don&#39;t know that then we can&#39;t help you. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>I would recommend that you abstract the concept of &quot;shooting&quot; into a function. For [crude] example:</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> fire_bullet<span class="k2">(</span><span class="k1">int</span> num_bullets, bullet_t <span class="k3">*</span> pool, <span class="k1">int</span> x, <span class="k1">int</span> y, <span class="k1">int</span> facing<span class="k2">)</span>
<span class="number">  2</span><span class="k2">{</span>
<span class="number">  3</span>    <span class="k1">int</span> i<span class="k2">;</span>
<span class="number">  4</span>
<span class="number">  5</span>    <span class="c">// Search for an unused bullet from the pool.</span>
<span class="number">  6</span>    <span class="k1">for</span><span class="k2">(</span>i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> i<span class="k3">&lt;</span>num_bullets<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  7</span>    <span class="k2">{</span>
<span class="number">  8</span>        bullet_t <span class="k3">*</span> bullet <span class="k3">=</span> <span class="k3">&amp;</span>pool<span class="k2">[</span>i<span class="k2">]</span><span class="k2">;</span>
<span class="number">  9</span>
<span class="number"> 10</span>        <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>bullet-&gt;active<span class="k2">)</span>
<span class="number"> 11</span>        <span class="k2">{</span>
<span class="number"> 12</span>            <span class="c">// We found one! Activate and initialize it</span>
<span class="number"> 13</span>            <span class="c">// with the player's position.</span>
<span class="number"> 14</span>            bullet-&gt;active <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 15</span>            bullet-&gt;facing <span class="k3">=</span> facing<span class="k2">;</span>
<span class="number"> 16</span>            bullet-&gt;x <span class="k3">=</span> x<span class="k2">;</span>
<span class="number"> 17</span>            bullet-&gt;y <span class="k3">=</span> y<span class="k2">;</span>
<span class="number"> 18</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 19</span>        <span class="k2">}</span>
<span class="number"> 20</span>    <span class="k2">}</span>
<span class="number"> 21</span><span class="k2">}</span>
</div></div><p>

Then if you want to fire a bullet when you press the space bar then you could just do something like:</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_SPACE<span class="k2">]</span><span class="k2">)</span>
<span class="k2">{</span>
    fire_bullet<span class="k2">(</span>NUM_BULLETS, bullets, player_x, player_y, face<span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>

Of course, this only shows how you can record a newly fired bullet. You still need to write the logic to move and draw active bullets (independent of the player). Does this make sense to you? Copy/paste will get you nowhere. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (bamccaig)</author>
		<pubDate>Wed, 10 Oct 2012 23:30:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>face was the facing of the tank and i wanted to store that variable in bullet structer so that&#39;s why there is bullet.face</p><p>but yeah making other function for shooting would be better <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (wisien92)</author>
		<pubDate>Thu, 11 Oct 2012 00:50:25 +0000</pubDate>
	</item>
</rss>
