<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>[A5] Timer &amp; Keyboard issues</title>
		<link>http://www.allegro.cc/forums/view/606869</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Wed, 30 Mar 2011 11:23:42 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi to all.<br />I am new to the forum and i&#39;m trying to make my very first game with Allegro 5.<br />As it is new i can&#39;t find so much examples on the internet but with the help of the wiki i made something.<br />This &quot;simple&quot; program works like a charm exept for the fact that the scrolling of the choices in the menu is very slow. Another problem is that if i draw a filled circle at line 141, when i start the program the whole menu goes away and i have to go up and down with the keyboard 3-4 times and the menu comes back again.</p><p>Can you help me with the debugging? <br />Thanks in advance.
</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;allegro5/allegro.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_audio.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_acodec.h&gt;</span>
<span class="number">   7</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">   8</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">   9</span><span class="p">#define SCREEN_W 800</span>
<span class="number">  10</span><span class="p">#define SCREEN_H 600</span>
<span class="number">  11</span><span class="p">#define FPS 60</span>
<span class="number">  12</span>
<span class="number">  13</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="number">  14</span><span class="k2">{</span>
<span class="number">  15</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  16</span>    <span class="k2">{</span>
<span class="number">  17</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 initialize Allegro.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  18</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a><span class="k2">(</span><span class="s">"pause"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  19</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  20</span>    <span class="k2">}</span>
<span class="number">  21</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_install_keyboard"><span class="a">al_install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  22</span>    <span class="k2">{</span>
<span class="number">  23</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 initialize the keyboard!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  24</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a><span class="k2">(</span><span class="s">"pause"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  25</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  26</span>    <span class="k2">}</span>
<span class="number">  27</span>    <a href="http://www.allegro.cc/manual/al_init_font_addon"><span class="a">al_init_font_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  28</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init_ttf_addon"><span class="a">al_init_ttf_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  29</span>    <span class="k2">{</span>
<span class="number">  30</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 initialize the TTF addon!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  31</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a><span class="k2">(</span><span class="s">"pause"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  32</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  33</span>    <span class="k2">}</span>
<span class="number">  34</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_install_audio"><span class="a">al_install_audio</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  35</span>    <span class="k2">{</span>
<span class="number">  36</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 initialize the audio addon!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a><span class="k2">(</span><span class="s">"pause"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  39</span>    <span class="k2">}</span>
<span class="number">  40</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init_acodec_addon"><span class="a">al_init_acodec_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  41</span>    <span class="k2">{</span>
<span class="number">  42</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 initialize the acodec addon!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  43</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a><span class="k2">(</span><span class="s">"pause"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  45</span>    <span class="k2">}</span>
<span class="number">  46</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_reserve_samples"><span class="a">al_reserve_samples</span></a><span class="k2">(</span><span class="n">2</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  47</span>    <span class="k2">{</span>
<span class="number">  48</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 reserve the samples!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a><span class="k2">(</span><span class="s">"pause"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  50</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  51</span>    <span class="k2">}</span>
<span class="number">  52</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init_image_addon"><span class="a">al_init_image_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  53</span>    <span class="k2">{</span>
<span class="number">  54</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 initialize image addon!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a><span class="k2">(</span><span class="s">"pause"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  57</span>    <span class="k2">}</span>
<span class="number">  58</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init_primitives_addon"><span class="a">al_init_primitives_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  59</span>    <span class="k2">{</span>
<span class="number">  60</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 initialize the primitives addon!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  61</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a><span class="k2">(</span><span class="s">"pause"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  62</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  63</span>    <span class="k2">}</span>
<span class="number">  64</span>
<span class="number">  65</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_ttf_font"><span class="a">al_load_ttf_font</span></a><span class="k2">(</span><span class="s">"pirulen.ttf"</span>,<span class="n">96</span>,<span class="n">0</span> <span class="k2">)</span><span class="k2">;</span> <span class="c">// load the font | Font from Larabie Free Fonts</span>
<span class="number">  66</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span>font2 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_ttf_font"><span class="a">al_load_ttf_font</span></a><span class="k2">(</span><span class="s">"pirulen.ttf"</span>, <span class="n">30</span>,<span class="n">0</span> <span class="k2">)</span><span class="k2">;</span> <span class="c">// load the font | Font from Larabie Free Fonts</span>
<span class="number">  67</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span>font3 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_ttf_font"><span class="a">al_load_ttf_font</span></a><span class="k2">(</span><span class="s">"pirulen.ttf"</span>, <span class="n">12</span>,<span class="n">0</span> <span class="k2">)</span><span class="k2">;</span> <span class="c">// load the font | Font from Larabie Free Fonts</span>
<span class="number">  68</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  69</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>event_queue <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  70</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_SAMPLE"><span class="a">ALLEGRO_SAMPLE</span></a> <span class="k3">*</span>sample <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  71</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>sfondo <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  72</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> <span class="k3">*</span>timer <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  73</span>
<span class="number">  74</span>    timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> FPS<span class="k2">)</span><span class="k2">;</span>
<span class="number">  75</span>
<span class="number">  76</span>    <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  77</span>
<span class="number">  78</span>    <span class="k1">bool</span> doexit <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  79</span>    <span class="k1">bool</span> inizia <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span><span class="c">//false = iniziano i rossi; true = iniziano i gialli</span>
<span class="number">  80</span>    <span class="k1">bool</span> suoni <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span><span class="c">//true = attivati; false = spenti</span>
<span class="number">  81</span>    <span class="k1">int</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a> <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span><span class="c">//indica su quale voce del menu sono posizionato inizialmente</span>
<span class="number">  82</span>
<span class="number">  83</span>    <span class="c">//carico lo sfondo</span>
<span class="number">  84</span>    sfondo <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"background_t_p.jpg"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  85</span>
<span class="number">  86</span>    <span class="c">//creo il display principale</span>
<span class="number">  87</span>    display <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_display"><span class="a">al_create_display</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a>,<a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  88</span>
<span class="number">  89</span>    <span class="c">//carico la musica</span>
<span class="number">  90</span>    sample <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_sample"><span class="a">al_load_sample</span></a><span class="k2">(</span><span class="s">"around-the-world.wav"</span><span class="k2">)</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>sample<span class="k2">)</span>
<span class="number">  93</span>    <span class="k2">{</span>
<span class="number">  94</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 sample.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  95</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a><span class="k2">(</span><span class="s">"pause"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  96</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  97</span>    <span class="k2">}</span>
<span class="number">  98</span>
<span class="number">  99</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span>
<span class="number"> 100</span>    <span class="k2">{</span>
<span class="number"> 101</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 create display.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 102</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a><span class="k2">(</span><span class="s">"pause"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 103</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 104</span>    <span class="k2">}</span>
<span class="number"> 105</span>
<span class="number"> 106</span>    event_queue <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 107</span>
<span class="number"> 108</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>event_queue<span class="k2">)</span>
<span class="number"> 109</span>    <span class="k2">{</span>
<span class="number"> 110</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 create event_queue!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 111</span>      <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 112</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 113</span>    <span class="k2">}</span>
<span class="number"> 114</span>
<span class="number"> 115</span>    <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue, <a href="http://www.allegro.cc/manual/al_get_timer_event_source"><span class="a">al_get_timer_event_source</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 116</span>    <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue, <a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 117</span>    <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue, <a href="http://www.allegro.cc/manual/al_get_display_event_source"><span class="a">al_get_display_event_source</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 118</span>
<span class="number"> 119</span>    <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 120</span>
<span class="number"> 121</span>    <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span>doexit<span class="k2">)</span>
<span class="number"> 122</span>    <span class="k2">{</span>
<span class="number"> 123</span>      <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> ev<span class="k2">;</span>
<span class="number"> 124</span>      <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>event_queue, <span class="k3">&amp;</span>ev<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 125</span>
<span class="number"> 126</span>      <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_TIMER<span class="k2">)</span><span class="k3">&amp;</span><span class="k3">&amp;</span><span class="k2">(</span>redraw<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 127</span>      <span class="k2">{</span>
<span class="number"> 128</span>          <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"entro"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 129</span>          redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 130</span>
<span class="number"> 131</span>          <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>sfondo, <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"> 132</span>
<span class="number"> 133</span>          <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">204</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a><span class="k3">/</span><span class="n">2</span>, <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a><span class="k3">/</span><span class="n">8</span><span class="k2">)</span><span class="k3">-</span><span class="n">10</span>,ALLEGRO_ALIGN_CENTRE, <span class="s">"FORZA 4"</span><span class="k2">)</span><span class="k2">;</span><span class="c">// draw the text</span>
<span class="number"> 134</span>
<span class="number"> 135</span>          <span class="k1">if</span> <span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a><span class="k3">=</span><span class="k3">=</span><span class="n">0</span><span class="k2">)</span> <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font2, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a><span class="k3">/</span><span class="n">2</span><span class="k3">-</span><span class="n">20</span>, <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k3">-</span><span class="n">60</span>,ALLEGRO_ALIGN_CENTRE, <span class="s">"GIOCA"</span><span class="k2">)</span><span class="k2">;</span><span class="c">// draw the text</span>
<span class="number"> 136</span>          <span class="k1">else</span> <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font2, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a><span class="k3">/</span><span class="n">2</span><span class="k3">-</span><span class="n">20</span>, <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k3">-</span><span class="n">60</span>,ALLEGRO_ALIGN_CENTRE, <span class="s">"GIOCA"</span><span class="k2">)</span><span class="k2">;</span><span class="c">// draw the text</span>
<span class="number"> 137</span>
<span class="number"> 138</span>          <span class="k1">if</span> <span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a><span class="k3">=</span><span class="k3">=</span><span class="n">1</span><span class="k2">)</span> <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font2, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a><span class="k3">/</span><span class="n">2</span><span class="k3">-</span><span class="n">10</span>, <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k3">-</span><span class="n">20</span>,ALLEGRO_ALIGN_CENTRE, <span class="s">"INIZIA &lt;    &gt;"</span><span class="k2">)</span><span class="k2">;</span><span class="c">// draw the text</span>
<span class="number"> 139</span>          <span class="k1">else</span> <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font2, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a><span class="k3">/</span><span class="n">2</span><span class="k3">-</span><span class="n">10</span>, <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k3">-</span><span class="n">20</span>,ALLEGRO_ALIGN_CENTRE, <span class="s">"INIZIA &lt;    &gt;"</span><span class="k2">)</span><span class="k2">;</span><span class="c">// draw the text</span>
<span class="number"> 140</span>
<span class="number"> 141</span>          <span class="k1">if</span> <span class="k2">(</span>inizia<span class="k2">)</span> <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font2, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">255</span>,<span class="n">0</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a><span class="k3">/</span><span class="n">2</span><span class="k3">+</span><span class="n">55</span>, <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k3">-</span><span class="n">20</span>,ALLEGRO_ALIGN_CENTRE, <span class="s">"O"</span><span class="k2">)</span><span class="k2">;</span><span class="c">// draw the text</span>
<span class="number"> 142</span>          <span class="k1">else</span> <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font2, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a><span class="k3">/</span><span class="n">2</span><span class="k3">+</span><span class="n">55</span>, <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k3">-</span><span class="n">20</span>,ALLEGRO_ALIGN_CENTRE, <span class="s">"O"</span><span class="k2">)</span><span class="k2">;</span><span class="c">// draw the text</span>
<span class="number"> 143</span>
<span class="number"> 144</span>          <span class="k1">if</span> <span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a><span class="k3">=</span><span class="k3">=</span><span class="n">2</span><span class="k2">)</span>
<span class="number"> 145</span>          <span class="k2">{</span>
<span class="number"> 146</span>              <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font2, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a><span class="k3">/</span><span class="n">2</span><span class="k3">-</span><span class="n">70</span>, <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k3">+</span><span class="n">20</span>,ALLEGRO_ALIGN_CENTRE, <span class="s">"SUONI"</span><span class="k2">)</span><span class="k2">;</span><span class="c">// draw the text</span>
<span class="number"> 147</span>
<span class="number"> 148</span>              <span class="k1">if</span> <span class="k2">(</span>suoni<span class="k2">)</span> <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font2, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a><span class="k3">/</span><span class="n">2</span><span class="k3">+</span><span class="n">50</span>, <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k3">+</span><span class="n">20</span>,ALLEGRO_ALIGN_CENTRE, <span class="s">"&lt;ON&gt;"</span><span class="k2">)</span><span class="k2">;</span><span class="c">// draw the text</span>
<span class="number"> 149</span>              <span class="k1">else</span> <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font2, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a><span class="k3">/</span><span class="n">2</span><span class="k3">+</span><span class="n">50</span>, <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k3">+</span><span class="n">20</span>,ALLEGRO_ALIGN_CENTRE, <span class="s">"&lt;OFF&gt;"</span><span class="k2">)</span><span class="k2">;</span><span class="c">// draw the text</span>
<span class="number"> 150</span>          <span class="k2">}</span>
<span class="number"> 151</span>          <span class="k1">else</span>
<span class="number"> 152</span>          <span class="k2">{</span>
<span class="number"> 153</span>              <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font2, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a><span class="k3">/</span><span class="n">2</span><span class="k3">-</span><span class="n">70</span>, <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k3">+</span><span class="n">20</span>,ALLEGRO_ALIGN_CENTRE, <span class="s">"SUONI"</span><span class="k2">)</span><span class="k2">;</span><span class="c">// draw the text</span>
<span class="number"> 154</span>
<span class="number"> 155</span>              <span class="k1">if</span> <span class="k2">(</span>suoni<span class="k2">)</span> <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font2, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a><span class="k3">/</span><span class="n">2</span><span class="k3">+</span><span class="n">50</span>, <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k3">+</span><span class="n">20</span>,ALLEGRO_ALIGN_CENTRE, <span class="s">"&lt;ON&gt;"</span><span class="k2">)</span><span class="k2">;</span><span class="c">// draw the text</span>
<span class="number"> 156</span>              <span class="k1">else</span> <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font2, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a><span class="k3">/</span><span class="n">2</span><span class="k3">+</span><span class="n">50</span>, <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k3">+</span><span class="n">20</span>,ALLEGRO_ALIGN_CENTRE, <span class="s">"&lt;OFF&gt;"</span><span class="k2">)</span><span class="k2">;</span><span class="c">// draw the text</span>
<span class="number"> 157</span>          <span class="k2">}</span>
<span class="number"> 158</span>
<span class="number"> 159</span>          <span class="k1">if</span> <span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a><span class="k3">=</span><span class="k3">=</span><span class="n">3</span><span class="k2">)</span> <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font2, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a><span class="k3">/</span><span class="n">2</span><span class="k3">-</span><span class="n">20</span>, <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k3">+</span><span class="n">100</span>,ALLEGRO_ALIGN_CENTRE, <span class="s">"ESCI"</span><span class="k2">)</span><span class="k2">;</span><span class="c">// draw the text</span>
<span class="number"> 160</span>          <span class="k1">else</span> <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font2, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a><span class="k3">/</span><span class="n">2</span><span class="k3">-</span><span class="n">20</span>, <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k3">+</span><span class="n">100</span>,ALLEGRO_ALIGN_CENTRE, <span class="s">"ESCI"</span><span class="k2">)</span><span class="k2">;</span><span class="c">// draw the text</span>
<span class="number"> 161</span>
<span class="number"> 162</span>          <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font3, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span>, SCREEN_W-100, SCREEN_H-50,ALLEGRO_ALIGN_CENTRE, <span class="s">"by Joined ® 2011"</span><span class="k2">)</span><span class="k2">;</span><span class="c">// draw the text</span>
<span class="number"> 163</span>
<span class="number"> 164</span>          <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 165</span>      <span class="k2">}</span>
<span class="number"> 166</span>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_DISPLAY_CLOSE<span class="k2">)</span>
<span class="number"> 167</span>         <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 168</span>      <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_DOWN<span class="k2">)</span>
<span class="number"> 169</span>      <span class="k2">{</span>
<span class="number"> 170</span>          <span class="k1">switch</span><span class="k2">(</span>ev.keyboard.keycode<span class="k2">)</span>
<span class="number"> 171</span>          <span class="k2">{</span>
<span class="number"> 172</span>            <span class="k1">case</span> ALLEGRO_KEY_UP:
<span class="number"> 173</span>            <span class="k2">{</span>
<span class="number"> 174</span>               <span class="k1">if</span> <span class="k2">(</span>index&gt;0<span class="k2">)</span>
<span class="number"> 175</span>               <span class="k2">{</span>
<span class="number"> 176</span>                   index--<span class="k2">;</span>
<span class="number"> 177</span>                   redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 178</span>               <span class="k2">}</span>
<span class="number"> 179</span>               <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 180</span>            <span class="k2">}</span>
<span class="number"> 181</span>            <span class="k1">case</span> ALLEGRO_KEY_DOWN:
<span class="number"> 182</span>            <span class="k2">{</span>
<span class="number"> 183</span>               <span class="k1">if</span> <span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a><span class="k3">&lt;</span><span class="n">3</span><span class="k2">)</span>
<span class="number"> 184</span>               <span class="k2">{</span>
<span class="number"> 185</span>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a><span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 186</span>                   redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 187</span>               <span class="k2">}</span>
<span class="number"> 188</span>               <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 189</span>            <span class="k2">}</span>
<span class="number"> 190</span>            <span class="k1">case</span> ALLEGRO_KEY_LEFT:
<span class="number"> 191</span>            <span class="k2">{</span>
<span class="number"> 192</span>               <span class="k1">if</span> <span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a> <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 193</span>               <span class="k2">{</span>
<span class="number"> 194</span>                   <span class="k1">if</span> <span class="k2">(</span>inizia <span class="k3">=</span><span class="k3">=</span> <span class="k1">true</span><span class="k2">)</span>
<span class="number"> 195</span>                   <span class="k2">{</span>
<span class="number"> 196</span>                       inizia <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 197</span>                       redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 198</span>                   <span class="k2">}</span>
<span class="number"> 199</span>               <span class="k2">}</span>
<span class="number"> 200</span>               <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a> <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number"> 201</span>               <span class="k2">{</span>
<span class="number"> 202</span>                   <span class="k1">if</span> <span class="k2">(</span>suoni <span class="k3">=</span><span class="k3">=</span> <span class="k1">true</span><span class="k2">)</span>
<span class="number"> 203</span>                   <span class="k2">{</span>
<span class="number"> 204</span>                       suoni <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 205</span>                       redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 206</span>                       <a href="http://www.allegro.cc/manual/al_stop_samples"><span class="a">al_stop_samples</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 207</span>                   <span class="k2">}</span>
<span class="number"> 208</span>               <span class="k2">}</span>
<span class="number"> 209</span>               <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 210</span>            <span class="k2">}</span>
<span class="number"> 211</span>            <span class="k1">case</span> ALLEGRO_KEY_RIGHT:
<span class="number"> 212</span>            <span class="k2">{</span>
<span class="number"> 213</span>               <span class="k1">if</span> <span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a> <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 214</span>               <span class="k2">{</span>
<span class="number"> 215</span>                   <span class="k1">if</span> <span class="k2">(</span>inizia <span class="k3">=</span><span class="k3">=</span> <span class="k1">false</span><span class="k2">)</span>
<span class="number"> 216</span>                   <span class="k2">{</span>
<span class="number"> 217</span>                       inizia <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 218</span>                       redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 219</span>                   <span class="k2">}</span>
<span class="number"> 220</span>               <span class="k2">}</span>
<span class="number"> 221</span>               <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a> <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number"> 222</span>               <span class="k2">{</span>
<span class="number"> 223</span>                   <span class="k1">if</span> <span class="k2">(</span>suoni <span class="k3">=</span><span class="k3">=</span> <span class="k1">false</span><span class="k2">)</span>
<span class="number"> 224</span>                   <span class="k2">{</span>
<span class="number"> 225</span>                       suoni <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 226</span>                       redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 227</span>                       <a href="http://www.allegro.cc/manual/al_play_sample"><span class="a">al_play_sample</span></a><span class="k2">(</span>sample, <span class="n">1</span>.<span class="n">0</span>, <span class="n">0</span>.<span class="n">0</span>, <span class="n">1</span>.<span class="n">0</span>, ALLEGRO_PLAYMODE_LOOP, NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 228</span>                   <span class="k2">}</span>
<span class="number"> 229</span>               <span class="k2">}</span>
<span class="number"> 230</span>               <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 231</span>            <span class="k2">}</span>
<span class="number"> 232</span>            <span class="k1">case</span> ALLEGRO_KEY_ENTER:
<span class="number"> 233</span>            <span class="k2">{</span>
<span class="number"> 234</span>               <span class="k1">if</span> <span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a> <span class="k3">=</span><span class="k3">=</span> <span class="n">3</span><span class="k2">)</span>
<span class="number"> 235</span>                doexit<span class="k3">=</span><span class="k1">true</span><span class="k2">;</span>
<span class="number"> 236</span>               <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 237</span>            <span class="k2">}</span>
<span class="number"> 238</span>         <span class="k2">}</span>
<span class="number"> 239</span>      <span class="k2">}</span>
<span class="number"> 240</span>    <span class="k2">}</span>
<span class="number"> 241</span>
<span class="number"> 242</span>    <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 243</span>    <a href="http://www.allegro.cc/manual/al_uninstall_audio"><span class="a">al_uninstall_audio</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 244</span>    <a href="http://www.allegro.cc/manual/al_destroy_timer"><span class="a">al_destroy_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 245</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>sfondo<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 246</span>    <a href="http://www.allegro.cc/manual/al_destroy_event_queue"><span class="a">al_destroy_event_queue</span></a><span class="k2">(</span>event_queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 247</span>
<span class="number"> 248</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 249</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Joined)</author>
		<pubDate>Tue, 29 Mar 2011 20:59:33 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>As for your program being slow I suggest you move the addon initialization code (like primitives and font addons) and put it after display creation. That should help.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kenmasters1976)</author>
		<pubDate>Wed, 30 Mar 2011 01:42:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>As a clarification of the previous comment, it&#39;s not so much that you should move the initialisation code after creating the display, but you should load bitmaps and fonts after creating the display. Otherwise the bitmaps will be created as &#39;memory&#39; bitmaps, which are always drawn with relatively slow software routines, instead of &#39;video&#39; bitmaps, which can take advantage of hardware rendering.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Wed, 30 Mar 2011 04:00:35 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Your structure is like this (psuedocode) :
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">while</span> <span class="k2">(</span><span class="k3">!</span>quit<span class="k2">)</span> <span class="k2">{</span>
   wait_for_event<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
   <span class="k1">if</span> <span class="k2">(</span>is_timer_event<span class="k2">(</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> redraw<span class="k2">)</span> <span class="k2">{</span>
      Redraw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
      redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
   <span class="k2">}</span>
   <span class="c">// logic</span>
   <span class="k1">if</span> <span class="k2">(</span>stuff_changes<span class="k2">)</span> <span class="k2">{</span>redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span><span class="k2">}</span>
<span class="k2">}</span>
</pre></div></div><p>

The problem with it is that redraw may be set to true by your logic, but it has to wait until the next event fires to perform the Redraw(). You won&#39;t have to wait very long because of the timer events, but it&#39;s still a little funky.</p><p>A better layout would be :
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">while</span> <span class="k2">(</span><span class="k3">!</span>quit<span class="k2">)</span> <span class="k2">{</span>
   <span class="k1">while</span> <span class="k2">(</span><span class="n">1</span><span class="k2">)</span> <span class="k2">{</span>
      wait_for_event<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
      <span class="k1">if</span> <span class="k2">(</span>stuff_changes<span class="k2">)</span> <span class="k2">{</span>redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span><span class="k2">}</span>
      <span class="k1">if</span> <span class="k2">(</span>is_timer_event<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>update_logic<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span><span class="k2">}</span>
      <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>events_in_queue<span class="k2">)</span> <span class="k2">{</span><span class="k1">break</span><span class="k2">;</span><span class="k2">}</span>
   <span class="k2">}</span>
   <span class="k1">if</span> <span class="k2">(</span>redraw<span class="k2">)</span> <span class="k2">{</span>
      Redraw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
      redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
   <span class="k2">}</span>
<span class="k2">}</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Wed, 30 Mar 2011 11:23:42 +0000</pubDate>
	</item>
</rss>
