<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Screen is cleared and a new one appears Allegro5 in C?</title>
		<link>http://www.allegro.cc/forums/view/618407</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sat, 29 May 2021 03:00:12 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>HELLO!!!</p><p>I&#39;m making a very simple game in C with allegro5, and I&#39;m trying to trigger a screen change by clicking on a certain key. For example, if you press ENTER, the entire screen is cleared and a new one appears, with a new message. Does anyone know how to tell me what I do wrong? Pressing ENTER does disappear the music aand the text, but the new one don&#39;t appear in the display.</p><p>There is no error message and the document compiles, but it does not do what I want.</p><p>Here is the 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;allegro5/allegro5.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt; // permite colocar formas simples, linhas, pontos, etc. (formas primitivas)</span>
<span class="number">   7</span><span class="p">#include &lt;allegro5/allegro_audio.h&gt; // biblioteca de som</span>
<span class="number">   8</span><span class="p">#include &lt;allegro5/allegro_acodec.h&gt;</span>
<span class="number">   9</span>
<span class="number">  10</span><span class="k1">void</span> must_init<span class="k2">(</span><span class="k1">bool</span> test, <span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>description<span class="k2">)</span><span class="k2">{</span>
<span class="number">  11</span>    <span class="k1">if</span><span class="k2">(</span>test<span class="k2">)</span> <span class="k1">return</span><span class="k2">;</span>
<span class="number">  12</span>
<span class="number">  13</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"couldn't initialize %s\n"</span>, description<span class="k2">)</span><span class="k2">;</span>
<span class="number">  14</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  15</span><span class="k2">}</span>
<span class="number">  16</span>
<span class="number">  17</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  18</span>    must_init<span class="k2">(</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="s">"allegro"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// auxilia o must_init(), evitar de colocar instruções a mais par averificar erros.</span>
<span class="number">  19</span>    must_init<span class="k2">(</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="s">"keyboard"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  20</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span>, <span class="s">"mouse"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// instalando o mouse</span>
<span class="number">  21</span>
<span class="number">  22</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">30</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  23</span>    must_init<span class="k2">(</span>timer, <span class="s">"timer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  24</span>
<span class="number">  25</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a><span class="k3">*</span> 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">  26</span>    must_init<span class="k2">(</span>queue, <span class="s">"queue"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>
<span class="number">  28</span>     <span class="c">// Permite que as formas e linhas tenham maior definição, deixar mais suave</span>
<span class="number">  29</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  30</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">8</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  31</span>    <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>ALLEGRO_MIN_LINEAR <span class="k3">|</span> ALLEGRO_MAG_LINEAR<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  32</span>
<span class="number">  33</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a><span class="k3">*</span> disp <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><span class="n">1200</span>, <span class="n">800</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  34</span>    must_init<span class="k2">(</span>disp, <span class="s">"display"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  35</span>
<span class="number">  36</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> al_create_builtin_font<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <span class="s">"font"</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/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a><span class="k3">*</span> font1 <span class="k3">=</span> al_create_builtin_font<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  40</span>    must_init<span class="k2">(</span>font1, <span class="s">"font1"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  41</span>
<span class="number">  42</span>    must_init<span class="k2">(</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="s">"image addon"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  43</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> dino_apresentacao <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">"dino_apresentacao.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</span>    must_init<span class="k2">(</span>dino_apresentacao, <span class="s">"dino_apresentacao"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span>
<span class="number">  46</span>    must_init<span class="k2">(</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="s">"primitives"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Para inserir linhas, formas e pontos no código</span>
<span class="number">  47</span>
<span class="number">  48</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>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">  49</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>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>disp<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  50</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>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">  51</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>queue, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">// adicionado para o mouse funcionar</span>
<span class="number">  52</span>
<span class="number">  53</span>    <span class="c">// adicionando o audio ao jogo</span>
<span class="number">  54</span>    must_init<span class="k2">(</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="s">"audio"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>    must_init<span class="k2">(</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="s">"audio codecs"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>    must_init<span class="k2">(</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">16</span><span class="k2">)</span>, <span class="s">"reserve samples"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</span>
<span class="number">  58</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_SAMPLE"><span class="a">ALLEGRO_SAMPLE</span></a><span class="k3">*</span> elephant <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">"elephant.wav"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// audio // verificar a extenção, não funciona em mp3</span>
<span class="number">  59</span>    must_init<span class="k2">(</span>elephant, <span class="s">"elephant"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  60</span>
<span class="number">  61</span>    <span class="c">// para música longa</span>
<span class="number">  62</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_AUDIO_STREAM"><span class="a">ALLEGRO_AUDIO_STREAM</span></a><span class="k3">*</span> music <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_audio_stream"><span class="a">al_load_audio_stream</span></a><span class="k2">(</span><span class="s">"music.opus"</span>, <span class="n">2</span>, <span class="n">2048</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// os números são referentes as áreas da memoria onde a musica sera armazenada. não mudar</span>
<span class="number">  63</span>    must_init<span class="k2">(</span>music, <span class="s">"music"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  64</span>    <a href="http://www.allegro.cc/manual/al_set_audio_stream_playmode"><span class="a">al_set_audio_stream_playmode</span></a><span class="k2">(</span>music, ALLEGRO_PLAYMODE_LOOP<span class="k2">)</span><span class="k2">;</span> <span class="c">// música em loop</span>
<span class="number">  65</span>    <a href="http://www.allegro.cc/manual/al_attach_audio_stream_to_mixer"><span class="a">al_attach_audio_stream_to_mixer</span></a><span class="k2">(</span>music, <a href="http://www.allegro.cc/manual/al_get_default_mixer"><span class="a">al_get_default_mixer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// linha para o som sair, senão tem sai</span>
<span class="number">  66</span>
<span class="number">  67</span>    <span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  68</span>    <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  69</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number">  70</span>
<span class="number">  71</span>    <span class="k1">float</span> x, y<span class="k2">;</span>
<span class="number">  72</span>    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number">  73</span>    y <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number">  74</span>
<span class="number">  75</span>    <span class="p">#define KEY_SEEN     1</span>
<span class="number">  76</span>    <span class="p">#define KEY_RELEASED 2</span>
<span class="number">  77</span>
<span class="number">  78</span>    <span class="k1">unsigned</span> <span class="k1">char</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>ALLEGRO_KEY_MAX<span class="k2">]</span><span class="k2">;</span> 
<span class="number">  79</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_569.html" target="_blank">memset</a><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a>, <span class="n">0</span>, <span class="k1">sizeof</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// tem que iniciar zerado</span>
<span class="number">  80</span>    <a href="http://www.allegro.cc/manual/al_hide_mouse_cursor"><span class="a">al_hide_mouse_cursor</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span> <span class="c">// faz com que o mouse do computador suma</span>
<span class="number">  81</span>
<span class="number">  82</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">  83</span>    <span class="k1">while</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  84</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>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number">  85</span>
<span class="number">  86</span>        <span class="k1">switch</span><span class="k2">(</span>event.type<span class="k2">)</span> <span class="c">// movimento do teclado</span>
<span class="number">  87</span>        <span class="k2">{</span>
<span class="number">  88</span>            <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number">  89</span>                <span class="c">// once again, no game logic. fishy? maybe.</span>
<span class="number">  90</span>                redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  91</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number">  92</span>
<span class="number">  93</span>            <span class="k1">case</span> ALLEGRO_EVENT_KEY_CHAR: <span class="c">// usar na criação dos menus de navegação</span>
<span class="number">  94</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ENTER<span class="k2">)</span>
<span class="number">  95</span>                <span class="k2">{</span>
<span class="number">  96</span>                    <a href="http://www.allegro.cc/manual/al_destroy_audio_stream"><span class="a">al_destroy_audio_stream</span></a><span class="k2">(</span>music<span class="k2">)</span><span class="k2">;</span>
<span class="number">  97</span>                    <span class="c">//al_destroy_display(disp);</span>
<span class="number">  98</span>                    <span class="c">//al_destroy_event_queue(queue);</span>
<span class="number">  99</span>                    <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 100</span>                    <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 101</span>                    <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font1, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">200</span>, <span class="n">750</span>, <span class="n">0</span>, <span class="s">"APERTEI ENTER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 102</span>                    <span class="c">//al_flip_display()</span>
<span class="number"> 103</span>                    <span class="k1">if</span><span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 104</span>                    <span class="k2">{</span>
<span class="number"> 105</span>                            <span class="c">//al_get_new_display_refresh_rate();</span>
<span class="number"> 106</span>                            <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 107</span>                            <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font1, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">200</span>, <span class="n">750</span>, <span class="n">0</span>, <span class="s">"APERTEI ENTER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 108</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"> 109</span>
<span class="number"> 110</span>                            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 111</span>                    <span class="k2">}</span>
<span class="number"> 112</span>                <span class="k2">}</span>
<span class="number"> 113</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_F<span class="k2">)</span>
<span class="number"> 114</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">430</span>, <span class="n">750</span>, <span class="n">0</span>, <span class="s">"@ TODOS DIREITOS RESERVADOS AO DINO PESCOÇUDO @"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 115</span>
<span class="number"> 116</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">!</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 117</span>                    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 118</span>
<span class="number"> 119</span>            <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 120</span>                done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 121</span>                <span class="k1">break</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="k1">if</span><span class="k2">(</span>done<span class="k2">)</span>
<span class="number"> 125</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 126</span>
<span class="number"> 127</span>        <span class="k1">if</span><span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 128</span>        <span class="k2">{</span>
<span class="number"> 129</span>            <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 130</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">200</span>, <span class="n">450</span>, <span class="n">0</span>, <span class="s">"TESTE"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 131</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"> 132</span>
<span class="number"> 133</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 134</span>        <span class="k2">}</span>
<span class="number"> 135</span>
<span class="number"> 136</span>        
<span class="number"> 137</span>    <span class="k2">}</span>
<span class="number"> 138</span>
<span class="number"> 139</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>dino_apresentacao<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 140</span>    <a href="http://www.allegro.cc/manual/al_destroy_sample"><span class="a">al_destroy_sample</span></a><span class="k2">(</span>elephant<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 141</span>    <a href="http://www.allegro.cc/manual/al_destroy_audio_stream"><span class="a">al_destroy_audio_stream</span></a><span class="k2">(</span>music<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 142</span>    <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 143</span>    <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 144</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"> 145</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>queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 146</span>
<span class="number"> 147</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 148</span><span class="k2">}</span>
</div></div><p>

Can someone help me?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (mayna azevedo)</author>
		<pubDate>Mon, 03 May 2021 02:35:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>There is quite a lot wrong here; unfortunately I don&#39;t have your resources (images/sounds/music) so I can&#39;t run it myself.</p><p>You should really be running a state system, rather than having 2 places where you try and draw.</p><p>This is a very basic example, based on your code. Here the logic is seperated from the drawing. The drawing only happens once.</p><p>You need to loop these steps:</p><p>get event<br />workout logic<br />draw screen</p><p>Here is working code to get you started:
</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;allegro5/allegro5.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt; // permite colocar formas simples, linhas, pontos, etc. (formas primitivas)</span>
<span class="number">   7</span>
<span class="number">   8</span><span class="k1">char</span> text<span class="k2">[</span><span class="n">255</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">"TESTE"</span><span class="k2">;</span>
<span class="number">   9</span>
<span class="number">  10</span><span class="k1">void</span> must_init<span class="k2">(</span><span class="k1">bool</span> test, <span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>description<span class="k2">)</span><span class="k2">{</span>
<span class="number">  11</span>    <span class="k1">if</span><span class="k2">(</span>test<span class="k2">)</span> <span class="k1">return</span><span class="k2">;</span>
<span class="number">  12</span>
<span class="number">  13</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"couldn't initialize %s\n"</span>, description<span class="k2">)</span><span class="k2">;</span>
<span class="number">  14</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  15</span><span class="k2">}</span>
<span class="number">  16</span>
<span class="number">  17</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  18</span>    must_init<span class="k2">(</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="s">"allegro"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// auxilia o must_init(), evitar de colocar instruções a mais par averificar erros.</span>
<span class="number">  19</span>    must_init<span class="k2">(</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="s">"keyboard"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  20</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span>, <span class="s">"mouse"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// instalando o mouse</span>
<span class="number">  21</span>
<span class="number">  22</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">30</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  23</span>    must_init<span class="k2">(</span>timer, <span class="s">"timer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  24</span>
<span class="number">  25</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a><span class="k3">*</span> 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">  26</span>    must_init<span class="k2">(</span>queue, <span class="s">"queue"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>
<span class="number">  28</span>     <span class="c">// Permite que as formas e linhas tenham maior definição, deixar mais suave</span>
<span class="number">  29</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  30</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">8</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  31</span>    <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>ALLEGRO_MIN_LINEAR <span class="k3">|</span> ALLEGRO_MAG_LINEAR<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  32</span>
<span class="number">  33</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a><span class="k3">*</span> disp <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><span class="n">1200</span>, <span class="n">800</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  34</span>    must_init<span class="k2">(</span>disp, <span class="s">"display"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  35</span>
<span class="number">  36</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> al_create_builtin_font<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <span class="s">"font"</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/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a><span class="k3">*</span> font1 <span class="k3">=</span> al_create_builtin_font<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  40</span>    must_init<span class="k2">(</span>font1, <span class="s">"font1"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  41</span>
<span class="number">  42</span>    must_init<span class="k2">(</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="s">"image addon"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  43</span>
<span class="number">  44</span>    must_init<span class="k2">(</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="s">"primitives"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Para inserir linhas, formas e pontos no código</span>
<span class="number">  45</span>
<span class="number">  46</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">  47</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>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">  48</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>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>disp<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</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>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">  50</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>queue, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">// adicionado para o mouse funcionar</span>
<span class="number">  51</span>
<span class="number">  52</span>    <span class="c">// adicionando o audio ao jogo</span>
<span class="number">  53</span>
<span class="number">  54</span>
<span class="number">  55</span>    <span class="c">// para música longa</span>
<span class="number">  56</span>
<span class="number">  57</span>    <span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  58</span>    <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  59</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number">  60</span>
<span class="number">  61</span>    <span class="k1">float</span> x, y<span class="k2">;</span>
<span class="number">  62</span>    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number">  63</span>    y <span class="k3">=</span> <span class="n">450</span><span class="k2">;</span>
<span class="number">  64</span>
<span class="number">  65</span>    <span class="p">#define KEY_SEEN     1</span>
<span class="number">  66</span>    <span class="p">#define KEY_RELEASED 2</span>
<span class="number">  67</span>
<span class="number">  68</span>    <span class="k1">unsigned</span> <span class="k1">char</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>ALLEGRO_KEY_MAX<span class="k2">]</span><span class="k2">;</span>
<span class="number">  69</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_569.html" target="_blank">memset</a><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a>, <span class="n">0</span>, <span class="k1">sizeof</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  70</span>    <a href="http://www.allegro.cc/manual/al_hide_mouse_cursor"><span class="a">al_hide_mouse_cursor</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number">  71</span>
<span class="number">  72</span>
<span class="number">  73</span>
<span class="number">  74</span>    <span class="k1">while</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  75</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>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number">  76</span>
<span class="number">  77</span>        <span class="k1">switch</span><span class="k2">(</span>event.type<span class="k2">)</span>
<span class="number">  78</span>        <span class="k2">{</span>
<span class="number">  79</span>            <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number">  80</span>            <span class="k2">{</span>
<span class="number">  81</span>                redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  82</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number">  83</span>            <span class="k2">}</span>
<span class="number">  84</span>
<span class="number">  85</span>            <span class="k1">case</span> ALLEGRO_EVENT_KEY_CHAR:
<span class="number">  86</span>            <span class="k2">{</span>
<span class="number">  87</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ENTER<span class="k2">)</span>
<span class="number">  88</span>                <span class="k2">{</span>
<span class="number">  89</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"APERTEI ENTER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  90</span>                    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number">  91</span>                    y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number">  92</span>                <span class="k2">}</span>
<span class="number">  93</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_F<span class="k2">)</span>
<span class="number">  94</span>                <span class="k2">{</span>
<span class="number">  95</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"@ TODOS DIREITOS RESERVADOS AO DINO PESCOÇUDO @"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  96</span>                    x <span class="k3">=</span> <span class="n">430</span><span class="k2">;</span>
<span class="number">  97</span>                    y <span class="k3">=</span> <span class="n">750</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>event.keyboard.keycode <span class="k3">!</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 101</span>                <span class="k2">{</span>
<span class="number"> 102</span>                    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 103</span>                <span class="k2">}</span>
<span class="number"> 104</span>            <span class="k2">}</span>
<span class="number"> 105</span>
<span class="number"> 106</span>            <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 107</span>            <span class="k2">{</span>
<span class="number"> 108</span>                done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 109</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 110</span>            <span class="k2">}</span>
<span class="number"> 111</span>        <span class="k2">}</span>
<span class="number"> 112</span>
<span class="number"> 113</span>        <span class="k1">if</span><span class="k2">(</span>done<span class="k2">)</span>
<span class="number"> 114</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 115</span>
<span class="number"> 116</span>        <span class="k1">if</span><span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>queue<span class="k2">)</span><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/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 119</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, x, y, <span class="n">0</span>, text<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 120</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"> 121</span>
<span class="number"> 122</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 123</span>        <span class="k2">}</span>
<span class="number"> 124</span>
<span class="number"> 125</span>
<span class="number"> 126</span>    <span class="k2">}</span>
<span class="number"> 127</span>
<span class="number"> 128</span>    <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 129</span>    <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 130</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"> 131</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>queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 132</span>
<span class="number"> 133</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 134</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dizzy Egg)</author>
		<pubDate>Mon, 03 May 2021 15:54:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>WOW, it did work!</p><p>Can you answer another question? How do I make an if() in another if() work? Example: After press ENTER, it questions if a person want option A or B. How can I do this? I try to create a new if, but it did not work...</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;allegro5/allegro5.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt; // permite colocar formas simples, linhas, pontos, etc. (formas primitivas)</span>
<span class="number">   7</span>
<span class="number">   8</span><span class="k1">char</span> text<span class="k2">[</span><span class="n">255</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">"TESTE"</span><span class="k2">;</span>
<span class="number">   9</span>
<span class="number">  10</span><span class="k1">void</span> must_init<span class="k2">(</span><span class="k1">bool</span> test, <span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>description<span class="k2">)</span><span class="k2">{</span>
<span class="number">  11</span>    <span class="k1">if</span><span class="k2">(</span>test<span class="k2">)</span> <span class="k1">return</span><span class="k2">;</span>
<span class="number">  12</span>
<span class="number">  13</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"couldn't initialize %s\n"</span>, description<span class="k2">)</span><span class="k2">;</span>
<span class="number">  14</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  15</span><span class="k2">}</span>
<span class="number">  16</span>
<span class="number">  17</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  18</span>    must_init<span class="k2">(</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="s">"allegro"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// auxilia o must_init(), evitar de colocar instruções a mais par averificar erros.</span>
<span class="number">  19</span>    must_init<span class="k2">(</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="s">"keyboard"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  20</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span>, <span class="s">"mouse"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// instalando o mouse</span>
<span class="number">  21</span>
<span class="number">  22</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">30</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  23</span>    must_init<span class="k2">(</span>timer, <span class="s">"timer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  24</span>
<span class="number">  25</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a><span class="k3">*</span> 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">  26</span>    must_init<span class="k2">(</span>queue, <span class="s">"queue"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>
<span class="number">  28</span>     <span class="c">// Permite que as formas e linhas tenham maior definição, deixar mais suave</span>
<span class="number">  29</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  30</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">8</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  31</span>    <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>ALLEGRO_MIN_LINEAR <span class="k3">|</span> ALLEGRO_MAG_LINEAR<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  32</span>
<span class="number">  33</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a><span class="k3">*</span> disp <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><span class="n">1200</span>, <span class="n">800</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  34</span>    must_init<span class="k2">(</span>disp, <span class="s">"display"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  35</span>
<span class="number">  36</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> al_create_builtin_font<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <span class="s">"font"</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/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a><span class="k3">*</span> font1 <span class="k3">=</span> al_create_builtin_font<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  40</span>    must_init<span class="k2">(</span>font1, <span class="s">"font1"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  41</span>
<span class="number">  42</span>    must_init<span class="k2">(</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="s">"image addon"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  43</span>
<span class="number">  44</span>    must_init<span class="k2">(</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="s">"primitives"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Para inserir linhas, formas e pontos no código</span>
<span class="number">  45</span>
<span class="number">  46</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">  47</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>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">  48</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>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>disp<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</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>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">  50</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>queue, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">// adicionado para o mouse funcionar</span>
<span class="number">  51</span>
<span class="number">  52</span>    <span class="c">// adicionando o audio ao jogo</span>
<span class="number">  53</span>
<span class="number">  54</span>
<span class="number">  55</span>    <span class="c">// para música longa</span>
<span class="number">  56</span>
<span class="number">  57</span>    <span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  58</span>    <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  59</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number">  60</span>
<span class="number">  61</span>    <span class="k1">float</span> x, y<span class="k2">;</span>
<span class="number">  62</span>    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number">  63</span>    y <span class="k3">=</span> <span class="n">450</span><span class="k2">;</span>
<span class="number">  64</span>
<span class="number">  65</span>    <span class="p">#define KEY_SEEN     1</span>
<span class="number">  66</span>    <span class="p">#define KEY_RELEASED 2</span>
<span class="number">  67</span>
<span class="number">  68</span>    <span class="k1">unsigned</span> <span class="k1">char</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>ALLEGRO_KEY_MAX<span class="k2">]</span><span class="k2">;</span>
<span class="number">  69</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_569.html" target="_blank">memset</a><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a>, <span class="n">0</span>, <span class="k1">sizeof</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  70</span>    <a href="http://www.allegro.cc/manual/al_hide_mouse_cursor"><span class="a">al_hide_mouse_cursor</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number">  71</span>
<span class="number">  72</span>
<span class="number">  73</span>
<span class="number">  74</span>    <span class="k1">while</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  75</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>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number">  76</span>
<span class="number">  77</span>        <span class="k1">switch</span><span class="k2">(</span>event.type<span class="k2">)</span>
<span class="number">  78</span>        <span class="k2">{</span>
<span class="number">  79</span>            <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number">  80</span>            <span class="k2">{</span>
<span class="number">  81</span>                redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  82</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number">  83</span>            <span class="k2">}</span>
<span class="number">  84</span>
<span class="number">  85</span>            <span class="k1">case</span> ALLEGRO_EVENT_KEY_CHAR:
<span class="number">  86</span>            <span class="k2">{</span>
<span class="number">  87</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ENTER<span class="k2">)</span>
<span class="number">  88</span>                <span class="k2">{</span>
<span class="number">  89</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"APERTEI ENTER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  90</span>                    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number">  91</span>                    y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number">  92</span>
<span class="number">  93</span>                    <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A<span class="k2">)</span>
<span class="number">  94</span>                    <span class="k2">{</span>
<span class="number">  95</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PRESS A"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  96</span>                    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number">  97</span>                    y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number">  98</span>
<span class="number">  99</span>                        <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B<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_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PRESS B"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 102</span>                            x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 103</span>                            y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 104</span>                        <span class="k2">}</span>
<span class="number"> 105</span>                    <span class="k2">}</span>
<span class="number"> 106</span>                <span class="k2">}</span>
<span class="number"> 107</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_F<span class="k2">)</span>
<span class="number"> 108</span>                <span class="k2">{</span>
<span class="number"> 109</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"@ TODOS DIREITOS RESERVADOS AO DINO PESCOÇUDO @"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 110</span>                    x <span class="k3">=</span> <span class="n">430</span><span class="k2">;</span>
<span class="number"> 111</span>                    y <span class="k3">=</span> <span class="n">750</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="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">!</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 115</span>                <span class="k2">{</span>
<span class="number"> 116</span>                    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 117</span>                <span class="k2">}</span>
<span class="number"> 118</span>            <span class="k2">}</span>
<span class="number"> 119</span>
<span class="number"> 120</span>            <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 121</span>            <span class="k2">{</span>
<span class="number"> 122</span>                done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 123</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 124</span>            <span class="k2">}</span>
<span class="number"> 125</span>        <span class="k2">}</span>
<span class="number"> 126</span>
<span class="number"> 127</span>        <span class="k1">if</span><span class="k2">(</span>done<span class="k2">)</span>
<span class="number"> 128</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 129</span>
<span class="number"> 130</span>        <span class="k1">if</span><span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 131</span>        <span class="k2">{</span>
<span class="number"> 132</span>            <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, x, y, <span class="n">0</span>, text<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 134</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"> 135</span>
<span class="number"> 136</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 137</span>        <span class="k2">}</span>
<span class="number"> 138</span>
<span class="number"> 139</span>
<span class="number"> 140</span>    <span class="k2">}</span>
<span class="number"> 141</span>
<span class="number"> 142</span>    <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 143</span>    <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 144</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"> 145</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>queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 146</span>
<span class="number"> 147</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 148</span><span class="k2">}</span>
</div></div><p>

Many thanks
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (mayna azevedo)</author>
		<pubDate>Fri, 07 May 2021 03:11:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>This is why we need a &quot;state&quot;; we need to know what state the game is in, because we only want to drawn once in our loop.</p><p>We create different states, and when we press keys, we check our state to see what should happen.</p><p>In this code, we check the key pressed, but we also check the state, to see what we should do.</p><p>Now you can press enter if the state is &quot;STATE_START&quot;. Then you can press A or B.</p><p>You can also press backspace; if you have only pressed enter, we will go back to the start; if you have pressed enter, then pressed A or B, we will go back to &quot;STATE_PRESSED_ENTER&quot;. We can then press backspace again, to go back to start, or we can press A or B again.</p><p>It is important to know what state our game is in, then we can make decisions in our logic. If we do not know what state the game is in, we cannot make decisions:</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;allegro5/allegro5.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt; // permite colocar formas simples, linhas, pontos, etc. (formas primitivas)</span>
<span class="number">   7</span>
<span class="number">   8</span><span class="c">//HERE ARE THE GAME STATES, WE NEED TO KNOW WHAT "STATE" THE GAME IS IN...</span>
<span class="number">   9</span><span class="p">#define STATE_START 1</span>
<span class="number">  10</span><span class="p">#define STATE_PRESSED_ENTER 2</span>
<span class="number">  11</span><span class="p">#define STATE_PRESSED_A_OR_B 3</span>
<span class="number">  12</span>
<span class="number">  13</span><span class="k1">int</span> gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//HERE IS OUR STARTING STATE, WE CAN CHANGE THIS TO USE IN OUR "IF"</span>
<span class="number">  14</span>
<span class="number">  15</span>
<span class="number">  16</span><span class="k1">char</span> text<span class="k2">[</span><span class="n">255</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">"TESTE"</span><span class="k2">;</span>
<span class="number">  17</span>
<span class="number">  18</span><span class="k1">void</span> must_init<span class="k2">(</span><span class="k1">bool</span> test, <span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>description<span class="k2">)</span><span class="k2">{</span>
<span class="number">  19</span>    <span class="k1">if</span><span class="k2">(</span>test<span class="k2">)</span> <span class="k1">return</span><span class="k2">;</span>
<span class="number">  20</span>
<span class="number">  21</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"couldn't initialize %s\n"</span>, description<span class="k2">)</span><span class="k2">;</span>
<span class="number">  22</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  23</span><span class="k2">}</span>
<span class="number">  24</span>
<span class="number">  25</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  26</span>    must_init<span class="k2">(</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="s">"allegro"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// auxilia o must_init(), evitar de colocar instruções a mais par averificar erros.</span>
<span class="number">  27</span>    must_init<span class="k2">(</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="s">"keyboard"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  28</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span>, <span class="s">"mouse"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// instalando o mouse</span>
<span class="number">  29</span>
<span class="number">  30</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">30</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  31</span>    must_init<span class="k2">(</span>timer, <span class="s">"timer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  32</span>
<span class="number">  33</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a><span class="k3">*</span> 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">  34</span>    must_init<span class="k2">(</span>queue, <span class="s">"queue"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  35</span>
<span class="number">  36</span>     <span class="c">// Permite que as formas e linhas tenham maior definição, deixar mais suave</span>
<span class="number">  37</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  38</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">8</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  39</span>    <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>ALLEGRO_MIN_LINEAR <span class="k3">|</span> ALLEGRO_MAG_LINEAR<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  40</span>
<span class="number">  41</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a><span class="k3">*</span> disp <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><span class="n">1200</span>, <span class="n">800</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  42</span>    must_init<span class="k2">(</span>disp, <span class="s">"display"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  43</span>
<span class="number">  44</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> al_create_builtin_font<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <span class="s">"font"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  46</span>
<span class="number">  47</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a><span class="k3">*</span> font1 <span class="k3">=</span> al_create_builtin_font<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  48</span>    must_init<span class="k2">(</span>font1, <span class="s">"font1"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</span>
<span class="number">  50</span>    must_init<span class="k2">(</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="s">"image addon"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  51</span>
<span class="number">  52</span>    must_init<span class="k2">(</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="s">"primitives"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Para inserir linhas, formas e pontos no código</span>
<span class="number">  53</span>
<span class="number">  54</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">  55</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>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">  56</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>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>disp<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</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>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">  58</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>queue, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">// adicionado para o mouse funcionar</span>
<span class="number">  59</span>
<span class="number">  60</span>    <span class="c">// adicionando o audio ao jogo</span>
<span class="number">  61</span>
<span class="number">  62</span>
<span class="number">  63</span>    <span class="c">// para música longa</span>
<span class="number">  64</span>
<span class="number">  65</span>    <span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  66</span>    <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  67</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number">  68</span>
<span class="number">  69</span>    <span class="k1">float</span> x, y<span class="k2">;</span>
<span class="number">  70</span>    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number">  71</span>    y <span class="k3">=</span> <span class="n">450</span><span class="k2">;</span>
<span class="number">  72</span>
<span class="number">  73</span>    <span class="p">#define KEY_SEEN     1</span>
<span class="number">  74</span>    <span class="p">#define KEY_RELEASED 2</span>
<span class="number">  75</span>
<span class="number">  76</span>    <span class="k1">unsigned</span> <span class="k1">char</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>ALLEGRO_KEY_MAX<span class="k2">]</span><span class="k2">;</span>
<span class="number">  77</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_569.html" target="_blank">memset</a><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a>, <span class="n">0</span>, <span class="k1">sizeof</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  78</span>    <a href="http://www.allegro.cc/manual/al_hide_mouse_cursor"><span class="a">al_hide_mouse_cursor</span></a><span class="k2">(</span>disp<span class="k2">)</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">while</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  83</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>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number">  84</span>
<span class="number">  85</span>        <span class="k1">switch</span><span class="k2">(</span>event.type<span class="k2">)</span>
<span class="number">  86</span>        <span class="k2">{</span>
<span class="number">  87</span>            <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number">  88</span>            <span class="k2">{</span>
<span class="number">  89</span>                redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  90</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number">  91</span>            <span class="k2">}</span>
<span class="number">  92</span>
<span class="number">  93</span>            <span class="k1">case</span> ALLEGRO_EVENT_KEY_CHAR:
<span class="number">  94</span>            <span class="k2">{</span>
<span class="number">  95</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ENTER <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_START<span class="k2">)</span> <span class="c">//IF WE PRESS ENTER WHEN STATE IS "START"....</span>
<span class="number">  96</span>                <span class="k2">{</span>
<span class="number">  97</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"APERTEI ENTER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  98</span>                    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number">  99</span>                    y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 100</span>                    gameState <span class="k3">=</span> STATE_PRESSED_ENTER<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED ENTER"</span>
<span class="number"> 101</span>
<span class="number"> 102</span>                <span class="k2">}</span>
<span class="number"> 103</span>
<span class="number"> 104</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_ENTER<span class="k2">)</span> <span class="c">//WE MUST HAVE PRESSED ENTER, BECAUSE NOW STATE IS "PRESSED_ENTER"...</span>
<span class="number"> 105</span>                <span class="k2">{</span>
<span class="number"> 106</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PRESS A"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 107</span>                    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 108</span>                    y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 109</span>                    gameState <span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED A OR B"</span>
<span class="number"> 110</span>                <span class="k2">}</span>
<span class="number"> 111</span>
<span class="number"> 112</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_ENTER<span class="k2">)</span> <span class="c">//WE MUST HAVE PRESSED ENTER, BECAUSE NOW STATE IS "PRESSED ENTER"...</span>
<span class="number"> 113</span>                <span class="k2">{</span>
<span class="number"> 114</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PRESS B"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 115</span>                    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 116</span>                    y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 117</span>                    gameState <span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED A OR B"</span>
<span class="number"> 118</span>                <span class="k2">}</span>
<span class="number"> 119</span>
<span class="number"> 120</span>                <span class="c">//HERE WE USE A SINLE KEY (BACKSPACE), AND THEN USE IF/ELSE TO DO DIFFERENT THINGS, DEPENDING ON THE STATE...</span>
<span class="number"> 121</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_BACKSPACE<span class="k2">)</span>
<span class="number"> 122</span>                <span class="k2">{</span>
<span class="number"> 123</span>                    <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_ENTER<span class="k2">)</span> <span class="c">//IF WE HAVE ONLY PRESSED ENTER...</span>
<span class="number"> 124</span>                    <span class="k2">{</span>
<span class="number"> 125</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"TESTE"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 126</span>                        x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 127</span>                        y <span class="k3">=</span> <span class="n">450</span><span class="k2">;</span>
<span class="number"> 128</span>                        gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "START"</span>
<span class="number"> 129</span>                    <span class="k2">}</span>
<span class="number"> 130</span>
<span class="number"> 131</span>                    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">)</span> <span class="c">//ELSE IF WE HAVE PRESSED A OR B...</span>
<span class="number"> 132</span>                    <span class="k2">{</span>
<span class="number"> 133</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"APERTEI ENTER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 134</span>                        x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 135</span>                        y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 136</span>                        gameState <span class="k3">=</span> STATE_PRESSED_ENTER<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "PRESSED ENTER"</span>
<span class="number"> 137</span>                    <span class="k2">}</span>
<span class="number"> 138</span>                <span class="k2">}</span>
<span class="number"> 139</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_F<span class="k2">)</span>
<span class="number"> 140</span>                <span class="k2">{</span>
<span class="number"> 141</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"@ TODOS DIREITOS RESERVADOS AO DINO PESCOÇUDO @"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 142</span>                    x <span class="k3">=</span> <span class="n">430</span><span class="k2">;</span>
<span class="number"> 143</span>                    y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 144</span>                <span class="k2">}</span>
<span class="number"> 145</span>
<span class="number"> 146</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">!</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 147</span>                <span class="k2">{</span>
<span class="number"> 148</span>                    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 149</span>                <span class="k2">}</span>
<span class="number"> 150</span>            <span class="k2">}</span>
<span class="number"> 151</span>
<span class="number"> 152</span>            <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 153</span>            <span class="k2">{</span>
<span class="number"> 154</span>                done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 155</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 156</span>            <span class="k2">}</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>done<span class="k2">)</span>
<span class="number"> 160</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 161</span>
<span class="number"> 162</span>        <span class="k1">if</span><span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 163</span>        <span class="k2">{</span>
<span class="number"> 164</span>            <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 165</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, x, y, <span class="n">0</span>, text<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 166</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"> 167</span>
<span class="number"> 168</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 169</span>        <span class="k2">}</span>
<span class="number"> 170</span>
<span class="number"> 171</span>
<span class="number"> 172</span>    <span class="k2">}</span>
<span class="number"> 173</span>
<span class="number"> 174</span>    <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 175</span>    <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 176</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"> 177</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>queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 178</span>
<span class="number"> 179</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 180</span><span class="k2">}</span>
</div></div><p>

REMEMBER...we loop every time, so we cannot check 2 key presses in a single pass; we go:</p><p>get event<br />work out logic<br />draw</p><p>So we need to get each event, every loop. This is why we need a state; we need to know what happened last loop, so we can make a decision on the next loop...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dizzy Egg)</author>
		<pubDate>Fri, 07 May 2021 04:08:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hello. I don&#39;t know if I really understood <img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" />. Actually, not kkkkkk. Thinking that I will always have an if () inside another if (), do I have to create decision levels with STATE_PRESSED?</p><p>I did below how it would look, more or less, the structure of the game. But as predicted, it is not working.</p><p>The order is: Start with ENTER, and the user chooses between A or B. If you choose A, inside you will have another choice, from A or B, and it will go on.</p><p>I&#39;m sorry for the questions, but I don&#39;t understand anything about this library <img src="http://www.allegro.cc/forums/smileys/cry.gif" alt=":&#39;(" />.</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;allegro5/allegro5.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt; // permite colocar formas simples, linhas, pontos, etc. (formas primitivas)</span>
<span class="number">   7</span>
<span class="number">   8</span><span class="c">//HERE ARE THE GAME STATES, WE NEED TO KNOW WHAT "STATE" THE GAME IS IN...</span>
<span class="number">   9</span><span class="p">#define STATE_START 1</span>
<span class="number">  10</span><span class="p">#define STATE_PRESSED_ENTER 2</span>
<span class="number">  11</span><span class="p">#define STATE_PRESSED_A_OR_B 3</span>
<span class="number">  12</span><span class="p">#define STATE_PRESSED_FASE_4 4</span>
<span class="number">  13</span>
<span class="number">  14</span><span class="k1">int</span> gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//HERE IS OUR STARTING STATE, WE CAN CHANGE THIS TO USE IN OUR "IF"</span>
<span class="number">  15</span>
<span class="number">  16</span>
<span class="number">  17</span><span class="k1">char</span> text<span class="k2">[</span><span class="n">255</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">"PRESS ENTER TO START THE GAME"</span><span class="k2">;</span>
<span class="number">  18</span>
<span class="number">  19</span><span class="k1">void</span> must_init<span class="k2">(</span><span class="k1">bool</span> test, <span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>description<span class="k2">)</span><span class="k2">{</span>
<span class="number">  20</span>    <span class="k1">if</span><span class="k2">(</span>test<span class="k2">)</span> <span class="k1">return</span><span class="k2">;</span>
<span class="number">  21</span>
<span class="number">  22</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"couldn't initialize %s\n"</span>, description<span class="k2">)</span><span class="k2">;</span>
<span class="number">  23</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  24</span><span class="k2">}</span>
<span class="number">  25</span>
<span class="number">  26</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  27</span>    must_init<span class="k2">(</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="s">"allegro"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// auxilia o must_init(), evitar de colocar instruções a mais par averificar erros.</span>
<span class="number">  28</span>    must_init<span class="k2">(</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="s">"keyboard"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  29</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span>, <span class="s">"mouse"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// instalando o mouse</span>
<span class="number">  30</span>
<span class="number">  31</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">30</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  32</span>    must_init<span class="k2">(</span>timer, <span class="s">"timer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  33</span>
<span class="number">  34</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a><span class="k3">*</span> 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">  35</span>    must_init<span class="k2">(</span>queue, <span class="s">"queue"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  36</span>
<span class="number">  37</span>     <span class="c">// Permite que as formas e linhas tenham maior definição, deixar mais suave</span>
<span class="number">  38</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  39</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">8</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  40</span>    <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>ALLEGRO_MIN_LINEAR <span class="k3">|</span> ALLEGRO_MAG_LINEAR<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  41</span>
<span class="number">  42</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a><span class="k3">*</span> disp <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><span class="n">1200</span>, <span class="n">800</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  43</span>    must_init<span class="k2">(</span>disp, <span class="s">"display"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</span>
<span class="number">  45</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> al_create_builtin_font<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  46</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <span class="s">"font"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  47</span>
<span class="number">  48</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a><span class="k3">*</span> font1 <span class="k3">=</span> al_create_builtin_font<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</span>    must_init<span class="k2">(</span>font1, <span class="s">"font1"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  50</span>
<span class="number">  51</span>    must_init<span class="k2">(</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="s">"image addon"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  52</span>
<span class="number">  53</span>    must_init<span class="k2">(</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="s">"primitives"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Para inserir linhas, formas e pontos no código</span>
<span class="number">  54</span>
<span class="number">  55</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">  56</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>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">  57</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>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>disp<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  58</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>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">  59</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>queue, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">// adicionado para o mouse funcionar</span>
<span class="number">  60</span>
<span class="number">  61</span>    <span class="c">// adicionando o audio ao jogo</span>
<span class="number">  62</span>
<span class="number">  63</span>
<span class="number">  64</span>    <span class="c">// para música longa</span>
<span class="number">  65</span>
<span class="number">  66</span>    <span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  67</span>    <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  68</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number">  69</span>
<span class="number">  70</span>    <span class="k1">float</span> x, y<span class="k2">;</span>
<span class="number">  71</span>    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number">  72</span>    y <span class="k3">=</span> <span class="n">450</span><span class="k2">;</span>
<span class="number">  73</span>
<span class="number">  74</span>    <span class="p">#define KEY_SEEN     1</span>
<span class="number">  75</span>    <span class="p">#define KEY_RELEASED 2</span>
<span class="number">  76</span>
<span class="number">  77</span>    <span class="k1">unsigned</span> <span class="k1">char</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>ALLEGRO_KEY_MAX<span class="k2">]</span><span class="k2">;</span>
<span class="number">  78</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_569.html" target="_blank">memset</a><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a>, <span class="n">0</span>, <span class="k1">sizeof</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  79</span>    <a href="http://www.allegro.cc/manual/al_hide_mouse_cursor"><span class="a">al_hide_mouse_cursor</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number">  80</span>
<span class="number">  81</span>
<span class="number">  82</span>
<span class="number">  83</span>    <span class="k1">while</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  84</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>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number">  85</span>
<span class="number">  86</span>        <span class="k1">switch</span><span class="k2">(</span>event.type<span class="k2">)</span>
<span class="number">  87</span>        <span class="k2">{</span>
<span class="number">  88</span>            <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number">  89</span>            <span class="k2">{</span>
<span class="number">  90</span>                redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  91</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number">  92</span>            <span class="k2">}</span>
<span class="number">  93</span>
<span class="number">  94</span>            <span class="k1">case</span> ALLEGRO_EVENT_KEY_CHAR:
<span class="number">  95</span>            <span class="k2">{</span>
<span class="number">  96</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ENTER <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_START<span class="k2">)</span> <span class="c">//IF WE PRESS ENTER WHEN STATE IS "START"....</span>
<span class="number">  97</span>                <span class="k2">{</span>
<span class="number">  98</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"1º FASE: CHOOSE TO DO ACCTION A OR B"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  99</span>                    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 100</span>                    y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 101</span>                    gameState <span class="k3">=</span> STATE_PRESSED_ENTER<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED ENTER"</span>
<span class="number"> 102</span>
<span class="number"> 103</span>                    <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_ENTER<span class="k2">)</span> <span class="c">//WE MUST HAVE PRESSED ENTER, BECAUSE NOW STATE IS "PRESSED_ENTER"...</span>
<span class="number"> 104</span>                    <span class="k2">{</span>
<span class="number"> 105</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PRESS A 1º decision, choose A OR B: "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 106</span>                        x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 107</span>                        y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 108</span>                        gameState <span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED A OR B"</span>
<span class="number"> 109</span>
<span class="number"> 110</span>                        <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">)</span> <span class="c">//WE MUST HAVE PRESSED ENTER, BECAUSE NOW STATE IS "PRESSED_ENTER"...</span>
<span class="number"> 111</span>                        <span class="k2">{</span>
<span class="number"> 112</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PRESS A, 2º DECISION, choose A OR B:"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 113</span>                        x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 114</span>                        y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 115</span>                        gameState <span class="k3">=</span> STATE_PRESSED_FASE_4<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED A OR B"</span>
<span class="number"> 116</span>                        <span class="k2">}</span> <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">)</span> <span class="c">//WE MUST HAVE PRESSED ENTER, BECAUSE NOW STATE IS "PRESSED_ENTER"...</span>
<span class="number"> 117</span>                        <span class="k2">{</span>
<span class="number"> 118</span>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PRESS B, 2º DECISION, choose A OR B:"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 119</span>                            x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 120</span>                            y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 121</span>                            gameState <span class="k3">=</span> STATE_PRESSED_FASE_4<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED A OR B"</span>
<span class="number"> 122</span>                        <span class="k2">}</span>
<span class="number"> 123</span>                    <span class="k2">}</span><span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_ENTER<span class="k2">)</span> <span class="c">//WE MUST HAVE PRESSED ENTER, BECAUSE NOW STATE IS "PRESSED ENTER"...</span>
<span class="number"> 124</span>                    <span class="k2">{</span>
<span class="number"> 125</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PRESS B, 1º DECISION"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 126</span>                        x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 127</span>                        y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 128</span>                        gameState <span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED A OR B"</span>
<span class="number"> 129</span>
<span class="number"> 130</span>                        <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">)</span> <span class="c">//WE MUST HAVE PRESSED ENTER, BECAUSE NOW STATE IS "PRESSED_ENTER"...</span>
<span class="number"> 131</span>                        <span class="k2">{</span>
<span class="number"> 132</span>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PRESS A, 2º DECISION, choose A OR B:"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 133</span>                            x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 134</span>                            y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 135</span>                            gameState <span class="k3">=</span> STATE_PRESSED_FASE_4<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED A OR B"</span>
<span class="number"> 136</span>                        <span class="k2">}</span>
<span class="number"> 137</span>                    <span class="k2">}</span>
<span class="number"> 138</span>                <span class="k2">}</span> 
<span class="number"> 139</span>
<span class="number"> 140</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">!</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 141</span>                <span class="k2">{</span>
<span class="number"> 142</span>                    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 143</span>                <span class="k2">}</span>
<span class="number"> 144</span>            <span class="k2">}</span>
<span class="number"> 145</span>
<span class="number"> 146</span>            <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 147</span>            <span class="k2">{</span>
<span class="number"> 148</span>                done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 149</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 150</span>            <span class="k2">}</span>
<span class="number"> 151</span>        <span class="k2">}</span>
<span class="number"> 152</span>
<span class="number"> 153</span>        <span class="k1">if</span><span class="k2">(</span>done<span class="k2">)</span>
<span class="number"> 154</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 155</span>
<span class="number"> 156</span>        <span class="k1">if</span><span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 157</span>        <span class="k2">{</span>
<span class="number"> 158</span>            <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 159</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, x, y, <span class="n">0</span>, text<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 160</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"> 161</span>
<span class="number"> 162</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 163</span>        <span class="k2">}</span>
<span class="number"> 164</span>
<span class="number"> 165</span>
<span class="number"> 166</span>    <span class="k2">}</span>
<span class="number"> 167</span>
<span class="number"> 168</span>    <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 169</span>    <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 170</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"> 171</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>queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 172</span>
<span class="number"> 173</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 174</span><span class="k2">}</span>
</div></div><p>

Thank you for your help.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (mayna azevedo)</author>
		<pubDate>Sat, 08 May 2021 00:59:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You need to remember that your game is looping, with one event at a time. The reason your code does not work is because you are trying to decide on 2 things in one event.</p><p>When a key is pressed, <b>only 1</b> key is pressed. You can&#39;t say:</p><p>IF key enter, IF key A....</p><p>You need to think in terms of a single pass each loop. This is why you need a state. You need to check a single key each time.</p><p>The only way your example would work would be if the user pressed ENTER and A at the same time...</p><p>Please keep asking, I like helping, and no, this is not easy, but you can only get better, and when you do understand it, you will be much happier <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dizzy Egg)</author>
		<pubDate>Sat, 08 May 2021 03:33:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Okay, I think I&#39;m starting to understand. Can you explain more about this part of STATE? I understood (I think) how to use it for one case after another, as in the code below. But what I do when an if () generates another if (), for decision?</p><p>I&#39;m thinking in normal logic of C: the story will change according to each choice, which will generate several different ends, but I&#39;m not able to think how to do this.</p><p>I have to create the states, correct? Just like you did below<br />#define STATE_START 1<br />#define STATE_PRESSED_ENTER 2<br />#define STATE_PRESSED_A_OR_B 3</p><p>What do the numbers at the end of the line indicate?</p><p>For several stories, would you have to do a different state? Example:</p><p>#define STATE_HISTORY_1 4<br />#define STATE_HISTORY_2 5<br />...?</p><p>Thank you so much for your help, I don&#39;t know what I would do without it. </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;allegro5/allegro5.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt; // permite colocar formas simples, linhas, pontos, etc. (formas primitivas)</span>
<span class="number">   7</span>
<span class="number">   8</span><span class="c">//HERE ARE THE GAME STATES, WE NEED TO KNOW WHAT "STATE" THE GAME IS IN...</span>
<span class="number">   9</span><span class="p">#define STATE_START 1</span>
<span class="number">  10</span><span class="p">#define STATE_PRESSED_ENTER 2</span>
<span class="number">  11</span><span class="p">#define STATE_PRESSED_A_OR_B 3</span>
<span class="number">  12</span>
<span class="number">  13</span><span class="k1">int</span> gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//HERE IS OUR STARTING STATE, WE CAN CHANGE THIS TO USE IN OUR "IF"</span>
<span class="number">  14</span>
<span class="number">  15</span>
<span class="number">  16</span><span class="k1">char</span> text<span class="k2">[</span><span class="n">255</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">"PRESS ENTER"</span><span class="k2">;</span>
<span class="number">  17</span>
<span class="number">  18</span><span class="k1">void</span> must_init<span class="k2">(</span><span class="k1">bool</span> test, <span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>description<span class="k2">)</span><span class="k2">{</span>
<span class="number">  19</span>    <span class="k1">if</span><span class="k2">(</span>test<span class="k2">)</span> <span class="k1">return</span><span class="k2">;</span>
<span class="number">  20</span>
<span class="number">  21</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"couldn't initialize %s\n"</span>, description<span class="k2">)</span><span class="k2">;</span>
<span class="number">  22</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  23</span><span class="k2">}</span>
<span class="number">  24</span>
<span class="number">  25</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  26</span>    must_init<span class="k2">(</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="s">"allegro"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// auxilia o must_init(), evitar de colocar instruções a mais par averificar erros.</span>
<span class="number">  27</span>    must_init<span class="k2">(</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="s">"keyboard"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  28</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span>, <span class="s">"mouse"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// instalando o mouse</span>
<span class="number">  29</span>
<span class="number">  30</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">30</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  31</span>    must_init<span class="k2">(</span>timer, <span class="s">"timer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  32</span>
<span class="number">  33</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a><span class="k3">*</span> 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">  34</span>    must_init<span class="k2">(</span>queue, <span class="s">"queue"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  35</span>
<span class="number">  36</span>     <span class="c">// Permite que as formas e linhas tenham maior definição, deixar mais suave</span>
<span class="number">  37</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  38</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">8</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  39</span>    <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>ALLEGRO_MIN_LINEAR <span class="k3">|</span> ALLEGRO_MAG_LINEAR<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  40</span>
<span class="number">  41</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a><span class="k3">*</span> disp <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><span class="n">1200</span>, <span class="n">800</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  42</span>    must_init<span class="k2">(</span>disp, <span class="s">"display"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  43</span>
<span class="number">  44</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> al_create_builtin_font<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <span class="s">"font"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  46</span>
<span class="number">  47</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a><span class="k3">*</span> font1 <span class="k3">=</span> al_create_builtin_font<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  48</span>    must_init<span class="k2">(</span>font1, <span class="s">"font1"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</span>
<span class="number">  50</span>    must_init<span class="k2">(</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="s">"image addon"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  51</span>
<span class="number">  52</span>    must_init<span class="k2">(</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="s">"primitives"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Para inserir linhas, formas e pontos no código</span>
<span class="number">  53</span>
<span class="number">  54</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">  55</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>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">  56</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>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>disp<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</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>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">  58</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>queue, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">// adicionado para o mouse funcionar</span>
<span class="number">  59</span>
<span class="number">  60</span>    <span class="c">// adicionando o audio ao jogo</span>
<span class="number">  61</span>
<span class="number">  62</span>
<span class="number">  63</span>    <span class="c">// para música longa</span>
<span class="number">  64</span>
<span class="number">  65</span>    <span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  66</span>    <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  67</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number">  68</span>
<span class="number">  69</span>    <span class="k1">float</span> x, y<span class="k2">;</span>
<span class="number">  70</span>    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number">  71</span>    y <span class="k3">=</span> <span class="n">450</span><span class="k2">;</span>
<span class="number">  72</span>
<span class="number">  73</span>    <span class="p">#define KEY_SEEN     1</span>
<span class="number">  74</span>    <span class="p">#define KEY_RELEASED 2</span>
<span class="number">  75</span>
<span class="number">  76</span>    <span class="k1">unsigned</span> <span class="k1">char</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>ALLEGRO_KEY_MAX<span class="k2">]</span><span class="k2">;</span>
<span class="number">  77</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_569.html" target="_blank">memset</a><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a>, <span class="n">0</span>, <span class="k1">sizeof</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  78</span>    <a href="http://www.allegro.cc/manual/al_hide_mouse_cursor"><span class="a">al_hide_mouse_cursor</span></a><span class="k2">(</span>disp<span class="k2">)</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">while</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  83</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>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number">  84</span>
<span class="number">  85</span>        <span class="k1">switch</span><span class="k2">(</span>event.type<span class="k2">)</span>
<span class="number">  86</span>        <span class="k2">{</span>
<span class="number">  87</span>            <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number">  88</span>            <span class="k2">{</span>
<span class="number">  89</span>                redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  90</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number">  91</span>            <span class="k2">}</span>
<span class="number">  92</span>
<span class="number">  93</span>            <span class="k1">case</span> ALLEGRO_EVENT_KEY_CHAR:
<span class="number">  94</span>            <span class="k2">{</span>
<span class="number">  95</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ENTER <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_START<span class="k2">)</span> <span class="c">//IF WE PRESS ENTER WHEN STATE IS "START"....</span>
<span class="number">  96</span>                <span class="k2">{</span>
<span class="number">  97</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"YOU PRESS ENTER. \nCHOOSE A OR B 1º: "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  98</span>                    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number">  99</span>                    y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 100</span>                    gameState <span class="k3">=</span> STATE_PRESSED_ENTER<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED ENTER"</span>
<span class="number"> 101</span>
<span class="number"> 102</span>                <span class="k2">}</span>
<span class="number"> 103</span>
<span class="number"> 104</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_ENTER<span class="k2">)</span> <span class="c">//WE MUST HAVE PRESSED ENTER, BECAUSE NOW STATE IS "PRESSED_ENTER"...</span>
<span class="number"> 105</span>                <span class="k2">{</span>
<span class="number"> 106</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"YOU PRESS A, CHOOSE A OR B 2º"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 107</span>                    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 108</span>                    y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 109</span>                    gameState <span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED A OR B"</span>
<span class="number"> 110</span>                <span class="k2">}</span>
<span class="number"> 111</span>
<span class="number"> 112</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_ENTER<span class="k2">)</span> <span class="c">//WE MUST HAVE PRESSED ENTER, BECAUSE NOW STATE IS "PRESSED ENTER"...</span>
<span class="number"> 113</span>                <span class="k2">{</span>
<span class="number"> 114</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"YOU PRESS B, CHOOSE A OR B 2º"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 115</span>                    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 116</span>                    y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 117</span>                    gameState <span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED A OR B"</span>
<span class="number"> 118</span>                <span class="k2">}</span>
<span class="number"> 119</span>
<span class="number"> 120</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">)</span> <span class="c">//WE MUST HAVE PRESSED ENTER, BECAUSE NOW STATE IS "PRESSED_ENTER"...</span>
<span class="number"> 121</span>                <span class="k2">{</span>
<span class="number"> 122</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"YOU PRESS A, CHOOSE A OR B 3º"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 123</span>                    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 124</span>                    y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 125</span>                    gameState <span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED A OR B"</span>
<span class="number"> 126</span>                <span class="k2">}</span>
<span class="number"> 127</span>
<span class="number"> 128</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">)</span> <span class="c">//WE MUST HAVE PRESSED ENTER, BECAUSE NOW STATE IS "PRESSED ENTER"...</span>
<span class="number"> 129</span>                <span class="k2">{</span>
<span class="number"> 130</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"YOU PRESS B, CHOOSE A OR B 3º"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 131</span>                    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 132</span>                    y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 133</span>                    gameState <span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED A OR B"</span>
<span class="number"> 134</span>                <span class="k2">}</span>
<span class="number"> 135</span>
<span class="number"> 136</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">)</span> <span class="c">//WE MUST HAVE PRESSED ENTER, BECAUSE NOW STATE IS "PRESSED_ENTER"...</span>
<span class="number"> 137</span>                <span class="k2">{</span>
<span class="number"> 138</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"YOU PRESS A, CHOOSE A OR B 4º"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 139</span>                    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 140</span>                    y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 141</span>                    gameState <span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED A OR B"</span>
<span class="number"> 142</span>                <span class="k2">}</span>
<span class="number"> 143</span>
<span class="number"> 144</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">)</span> <span class="c">//WE MUST HAVE PRESSED ENTER, BECAUSE NOW STATE IS "PRESSED ENTER"...</span>
<span class="number"> 145</span>                <span class="k2">{</span>
<span class="number"> 146</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"YOU PRESS B, CHOOSE A OR B 4º"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 147</span>                    x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 148</span>                    y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 149</span>                    gameState <span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED A OR B"</span>
<span class="number"> 150</span>                <span class="k2">}</span>
<span class="number"> 151</span>
<span class="number"> 152</span>                <span class="c">//HERE WE USE A SINLE KEY (BACKSPACE), AND THEN USE IF/ELSE TO DO DIFFERENT THINGS, DEPENDING ON THE STATE...</span>
<span class="number"> 153</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_BACKSPACE<span class="k2">)</span>
<span class="number"> 154</span>                <span class="k2">{</span>
<span class="number"> 155</span>                    <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_ENTER<span class="k2">)</span> <span class="c">//IF WE HAVE ONLY PRESSED ENTER...</span>
<span class="number"> 156</span>                    <span class="k2">{</span>
<span class="number"> 157</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"TESTE"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 158</span>                        x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 159</span>                        y <span class="k3">=</span> <span class="n">450</span><span class="k2">;</span>
<span class="number"> 160</span>                        gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "START"</span>
<span class="number"> 161</span>                    <span class="k2">}</span>
<span class="number"> 162</span>
<span class="number"> 163</span>                    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_A_OR_B<span class="k2">)</span> <span class="c">//ELSE IF WE HAVE PRESSED A OR B...</span>
<span class="number"> 164</span>                    <span class="k2">{</span>
<span class="number"> 165</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"APERTEI ENTER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 166</span>                        x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number"> 167</span>                        y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 168</span>                        gameState <span class="k3">=</span> STATE_PRESSED_ENTER<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "PRESSED ENTER"</span>
<span class="number"> 169</span>                    <span class="k2">}</span>
<span class="number"> 170</span>                <span class="k2">}</span>
<span class="number"> 171</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_F<span class="k2">)</span>
<span class="number"> 172</span>                <span class="k2">{</span>
<span class="number"> 173</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"@ TODOS DIREITOS RESERVADOS AO DINO PESCOÇUDO @"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 174</span>                    x <span class="k3">=</span> <span class="n">430</span><span class="k2">;</span>
<span class="number"> 175</span>                    y <span class="k3">=</span> <span class="n">750</span><span class="k2">;</span>
<span class="number"> 176</span>                <span class="k2">}</span>
<span class="number"> 177</span>
<span class="number"> 178</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">!</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 179</span>                <span class="k2">{</span>
<span class="number"> 180</span>                    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 181</span>                <span class="k2">}</span>
<span class="number"> 182</span>            <span class="k2">}</span>
<span class="number"> 183</span>
<span class="number"> 184</span>            <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 185</span>            <span class="k2">{</span>
<span class="number"> 186</span>                done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 187</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 188</span>            <span class="k2">}</span>
<span class="number"> 189</span>        <span class="k2">}</span>
<span class="number"> 190</span>
<span class="number"> 191</span>        <span class="k1">if</span><span class="k2">(</span>done<span class="k2">)</span>
<span class="number"> 192</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 193</span>
<span class="number"> 194</span>        <span class="k1">if</span><span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 195</span>        <span class="k2">{</span>
<span class="number"> 196</span>            <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 197</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, x, y, <span class="n">0</span>, text<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 198</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"> 199</span>
<span class="number"> 200</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 201</span>        <span class="k2">}</span>
<span class="number"> 202</span>
<span class="number"> 203</span>
<span class="number"> 204</span>    <span class="k2">}</span>
<span class="number"> 205</span>
<span class="number"> 206</span>    <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 207</span>    <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 208</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"> 209</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>queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 210</span>
<span class="number"> 211</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 212</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (mayna azevedo)</author>
		<pubDate>Sat, 08 May 2021 04:23:06 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yes, for different stories, you need a state for each story. The numbers at the end are just an integer...</p><p>...the thing to remember is, the event/logic/draw happens 30 times every second! We have to constantly &quot;loop&quot;, but the user may not press a key for 2 minutes, so we need to check each loop, and we need a &quot;state&quot; to know what to do.</p><p>What you will want to do, as your game grows, is to create &quot;functions&quot;, so you seperate the code into small chunks. That way you can manage it.</p><p>You are thinking that, if I press one key then IF......no, not that way with games programming. Remember, the game is looping 30 times every second! Very fast. If we only did one thing at a time, it would be:</p><p><b>Draw Screen</b><br /><b>Do nothing until user presses a key</b><br /><b>Decide on key pressed</b><br /><b>Work out logic on key pressed</b><br /><b>Draw screen</b><br /><b>Do nothing until user presses a key</b><br /><b>Decide on key pressed</b><br /><b>Work out logic on key pressed</b><br /><b>Draw screen</b></p><p>This is NOT what you want to do; games work by looping all the time. We loop and loop and loop. If no key is pressed, we draw screen. If another thing happens (user pressed key) we can work out logic. The loop is happening 30/60/120/240 times per second! Don&#39;t think that you do one thing, then one thing, then one thing....you have to get used to loop...so as I said, our logic is:</p><p><b>get event</b><br /><b>logic</b><br /><b>draw screen</b></p><p>over and over and over again! Not:</p><p><b>Draw Screen</b><br /><b>Do nothing until user presses a key</b><br /><b>Decide on key pressed</b><br /><b>Work out logic on key pressed</b><br /><b>Draw screen</b><br /><b>Do nothing until user presses a key</b><br /><b>Decide on key pressed</b><br /><b>Work out logic on key pressed</b><br /><b>Draw Screen</b><br /><b>Do nothing until user presses a key</b><br /><b>Decide on key pressed</b><br /><b>Work out logic on key pressed</b><br /><b>Draw screen</b><br /><b>Do nothing until user presses a key</b><br /><b>Decide on key pressed</b><br /><b>Work out logic on key pressed</b><br /><b>Draw Screen</b><br /><b>Do nothing until user presses a key</b><br /><b>Decide on key pressed</b><br /><b>Work out logic on key pressed</b><br /><b>Draw screen</b><br /><b>Do nothing until user presses a key</b><br /><b>Decide on key pressed</b><br /><b>Work out logic on key pressed</b><br /><b>Draw screen</b></p><p>That is not the way! You have to loop, every loop (30 frames a second, or 60 times a second, or 240 times a second) and before you draw, work out logic...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dizzy Egg)</author>
		<pubDate>Sat, 08 May 2021 05:07:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi. </p><p>Can you explain this part better to me?</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span>                <span class="c">//HERE WE USE A SINLE KEY (BACKSPACE), AND THEN USE IF/ELSE TO DO DIFFERENT THINGS, DEPENDING ON THE STATE...</span>
<span class="number">  2</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_BACKSPACE<span class="k2">)</span>
<span class="number">  3</span>                <span class="k2">{</span>
<span class="number">  4</span>                    <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">)</span> <span class="c">//IF WE HAVE ONLY PRESSED ENTER...</span>
<span class="number">  5</span>                    <span class="k2">{</span>
<span class="number">  6</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"TESTE"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  7</span>                        x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number">  8</span>                        y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number">  9</span>                        gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "START"</span>
<span class="number"> 10</span>                    <span class="k2">}</span>
<span class="number"> 11</span>
<span class="number"> 12</span>                    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">)</span> <span class="c">//ELSE IF WE HAVE PRESSED A OR B...</span>
<span class="number"> 13</span>                    <span class="k2">{</span>
<span class="number"> 14</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"APERTEI ENTER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 15</span>                        x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 16</span>                        y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 17</span>                        gameState <span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "PRESSED ENTER"</span>
<span class="number"> 18</span>                    <span class="k2">}</span>
<span class="number"> 19</span>                <span class="k2">}</span>
</div></div><p>

This is what I&#39;ve done so far, and it&#39;s finally working!</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="p">#include &lt;stdio.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;stdlib.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro5.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">   7</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt; // permite colocar formas simples, linhas, pontos, etc. (formas primitivas)</span>
<span class="number">   8</span>
<span class="number">   9</span><span class="c">//HERE ARE THE GAME STATES, WE NEED TO KNOW WHAT "STATE" THE GAME IS IN...</span>
<span class="number">  10</span><span class="p">#define STATE_START 1</span>
<span class="number">  11</span><span class="p">#define STATE_PRESSED_BURACO 2</span>
<span class="number">  12</span><span class="p">#define STATE_PRESSED_PULA_BURACO 3</span>
<span class="number">  13</span><span class="p">#define STATE_PRESSED_CAI_BURACO 4</span>
<span class="number">  14</span><span class="p">#define STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE 5</span>
<span class="number">  15</span><span class="p">#define STATE_PRESSED_SONO_DESCANSA_OU_CORRE 6</span>
<span class="number">  16</span><span class="p">#define STATE_PRESSED_MACHUCADO_CORRE 7</span>
<span class="number">  17</span><span class="p">#define STATE_PRESSED_MACHUCADO_DESCANSA 8</span>
<span class="number">  18</span><span class="p">#define STATE_PRESSED_GAME_OVER 9</span>
<span class="number">  19</span><span class="p">#define STATE_PRESSED_SONO_CORRE 10</span>
<span class="number">  20</span><span class="p">#define STATE_PRESSED_SONO_DESCANSA 11</span>
<span class="number">  21</span>
<span class="number">  22</span><span class="k1">int</span> gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//HERE IS OUR STARTING STATE, WE CAN CHANGE THIS TO USE IN OUR "IF"</span>
<span class="number">  23</span>
<span class="number">  24</span>
<span class="number">  25</span><span class="k1">char</span> text<span class="k2">[</span><span class="n">255</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">"PRESSIONE ENTER PARA COMEÇAR O JOGO"</span><span class="k2">;</span>
<span class="number">  26</span><span class="k1">char</span> text1<span class="k2">[</span><span class="n">255</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">" "</span><span class="k2">;</span>
<span class="number">  27</span>
<span class="number">  28</span><span class="k1">void</span> must_init<span class="k2">(</span><span class="k1">bool</span> test, <span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>description<span class="k2">)</span><span class="k2">{</span>
<span class="number">  29</span>    <span class="k1">if</span><span class="k2">(</span>test<span class="k2">)</span> <span class="k1">return</span><span class="k2">;</span>
<span class="number">  30</span>
<span class="number">  31</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"couldn't initialize %s\n"</span>, description<span class="k2">)</span><span class="k2">;</span>
<span class="number">  32</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  33</span><span class="k2">}</span>
<span class="number">  34</span>
<span class="number">  35</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  36</span>    must_init<span class="k2">(</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="s">"allegro"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// auxilia o must_init(), evitar de colocar instruções a mais par averificar erros.</span>
<span class="number">  37</span>    must_init<span class="k2">(</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="s">"keyboard"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span>, <span class="s">"mouse"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// instalando o mouse</span>
<span class="number">  39</span>
<span class="number">  40</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">30</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  41</span>    must_init<span class="k2">(</span>timer, <span class="s">"timer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  42</span>
<span class="number">  43</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a><span class="k3">*</span> 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">  44</span>    must_init<span class="k2">(</span>queue, <span class="s">"queue"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span>
<span class="number">  46</span>     <span class="c">// Permite que as formas e linhas tenham maior definição, deixar mais suave</span>
<span class="number">  47</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  48</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">8</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  49</span>    <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>ALLEGRO_MIN_LINEAR <span class="k3">|</span> ALLEGRO_MAG_LINEAR<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  50</span>
<span class="number">  51</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a><span class="k3">*</span> disp <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><span class="n">1200</span>, <span class="n">800</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  52</span>    must_init<span class="k2">(</span>disp, <span class="s">"display"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  53</span>
<span class="number">  54</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> al_create_builtin_font<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <span class="s">"font"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>
<span class="number">  57</span>    must_init<span class="k2">(</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="s">"image addon"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  58</span>
<span class="number">  59</span>    must_init<span class="k2">(</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="s">"primitives"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Para inserir linhas, formas e pontos no código</span>
<span class="number">  60</span>
<span class="number">  61</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">  62</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>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">  63</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>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>disp<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  64</span>    <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>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">  65</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>queue, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">// adicionado para o mouse funcionar</span>
<span class="number">  66</span>
<span class="number">  67</span>    <span class="c">// adicionando o audio ao jogo</span>
<span class="number">  68</span>
<span class="number">  69</span>
<span class="number">  70</span>    <span class="c">// para música longa</span>
<span class="number">  71</span>
<span class="number">  72</span>    <span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  73</span>    <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  74</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number">  75</span>
<span class="number">  76</span>    <span class="k1">float</span> x, y<span class="k2">;</span>
<span class="number">  77</span>    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number">  78</span>    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number">  79</span>
<span class="number">  80</span>    <span class="p">#define KEY_SEEN     1</span>
<span class="number">  81</span>    <span class="p">#define KEY_RELEASED 2</span>
<span class="number">  82</span>
<span class="number">  83</span>    <span class="k1">unsigned</span> <span class="k1">char</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>ALLEGRO_KEY_MAX<span class="k2">]</span><span class="k2">;</span>
<span class="number">  84</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_569.html" target="_blank">memset</a><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a>, <span class="n">0</span>, <span class="k1">sizeof</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  85</span>    <a href="http://www.allegro.cc/manual/al_hide_mouse_cursor"><span class="a">al_hide_mouse_cursor</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number">  86</span>
<span class="number">  87</span>
<span class="number">  88</span>
<span class="number">  89</span>    <span class="k1">while</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  90</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>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number">  91</span>
<span class="number">  92</span>        <span class="k1">switch</span><span class="k2">(</span>event.type<span class="k2">)</span>
<span class="number">  93</span>        <span class="k2">{</span>
<span class="number">  94</span>            <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number">  95</span>            <span class="k2">{</span>
<span class="number">  96</span>                redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  97</span>                <span class="k1">break</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">case</span> ALLEGRO_EVENT_KEY_CHAR:
<span class="number"> 101</span>            <span class="k2">{</span>
<span class="number"> 102</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ENTER <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_START<span class="k2">)</span> <span class="c">//IF WE PRESS ENTER WHEN STATE IS "START"....</span>
<span class="number"> 103</span>                <span class="k2">{</span>
<span class="number"> 104</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"INICIO DO JOGO. DINO VÊ UM BURACO: PULA (A) OU NÃO (B): "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 105</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 106</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 107</span>                    gameState <span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED ENTER"</span>
<span class="number"> 108</span>
<span class="number"> 109</span>                <span class="k2">}</span>
<span class="number"> 110</span>                <span class="c">// PULA BURACO </span>
<span class="number"> 111</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">)</span> 
<span class="number"> 112</span>                <span class="k2">{</span>
<span class="number"> 113</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PULOU O BURACO, MAS MACHUCOU A PATA. DINO DEVE CONTINUAR CORRENDO (A), MESMO MACHUCADO, OU COMER UMA PLANTA MEDICINAL (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 114</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 115</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 116</span>                    gameState <span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">;</span>
<span class="number"> 117</span>                <span class="k2">}</span>
<span class="number"> 118</span>                
<span class="number"> 119</span>                <span class="c">// DINO PULA BURACO E CORRE</span>
<span class="number"> 120</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">)</span> 
<span class="number"> 121</span>                <span class="k2">{</span>
<span class="number"> 122</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUOU CORRENDO, MESMO MACHUCADO, MAS SUA VELOCIDADE É BAIXA. DINO DEVE CONTINUAR CORRENDO MACHUCADO (A) OU DESCANSAR (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 123</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 124</span>                    y <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 125</span>                    gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">;</span> 
<span class="number"> 126</span>                <span class="k2">}</span>
<span class="number"> 127</span>
<span class="number"> 128</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 129</span>                <span class="k2">{</span>
<span class="number"> 130</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUOU CORRENDO, MESMO MACHUCADO, MAS SUA VELOCIDADE É BAIXA. ASSIM, O METEORO ESTÁ CADA VEZ MAIS PRÓXIMO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 131</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 132</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 133</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 134</span>                    gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<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="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">)</span> 
<span class="number"> 138</span>                <span class="k2">{</span>
<span class="number"> 139</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PAROU PARA DESCANSAR, MAS PERDEU MUITO TEMPO E O METEORO ESTÁ PRÓXIMO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 140</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 141</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 142</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 143</span>                    gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<span class="k2">;</span>
<span class="number"> 144</span>                <span class="k2">}</span>
<span class="number"> 145</span>
<span class="number"> 146</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<span class="k2">)</span> 
<span class="number"> 147</span>                <span class="k2">{</span>
<span class="number"> 148</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 149</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 150</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 151</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 152</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<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>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<span class="k2">)</span> 
<span class="number"> 156</span>                <span class="k2">{</span>
<span class="number"> 157</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 158</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 159</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 160</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 161</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 162</span>                <span class="k2">}</span>
<span class="number"> 163</span>
<span class="number"> 164</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<span class="k2">)</span> 
<span class="number"> 165</span>                <span class="k2">{</span>
<span class="number"> 166</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 167</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 168</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 169</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 170</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 171</span>                <span class="k2">}</span>
<span class="number"> 172</span>
<span class="number"> 173</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<span class="k2">)</span> 
<span class="number"> 174</span>                <span class="k2">{</span>
<span class="number"> 175</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 176</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 177</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 178</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 179</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 180</span>                <span class="k2">}</span>
<span class="number"> 181</span>
<span class="number"> 182</span>                <span class="c">//DINO PULA O BURACO E COME A PLANTA</span>
<span class="number"> 183</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_PULA_BURACO<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_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PAROU PARA COMER UMA PLANTA, E A DOR PASSOU. ENTRETANTO, A PLANTA DEIXOU DINO FICOU COM SONO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 186</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE COMEÇAR A CORRER (A) OU PARAR PARA DESCANSAR (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 187</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 188</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 189</span>                    gameState <span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">;</span> 
<span class="number"> 190</span>                <span class="k2">}</span>
<span class="number"> 191</span>
<span class="number"> 192</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 193</span>                <span class="k2">{</span>
<span class="number"> 194</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO COMEÇAR A CORRER MESMO SONOLENTO, E FICA BEM DEVAGAR. ASSIM, PERDEU MUITO TEMPO E O COMETA ESTÁ PRÓXIMO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 195</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 196</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 197</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 198</span>                    gameState <span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">;</span> 
<span class="number"> 199</span>                <span class="k2">}</span>
<span class="number"> 200</span>
<span class="number"> 201</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 202</span>                <span class="k2">{</span>
<span class="number"> 203</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PAROU PARA DESCANSAR, MAS PERDEU MUITO TEMPO. O METEORO ESTÁ PRÓXIMO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 204</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 205</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 206</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 207</span>                    gameState <span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">;</span> 
<span class="number"> 208</span>                <span class="k2">}</span>
<span class="number"> 209</span>
<span class="number"> 210</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">)</span>
<span class="number"> 211</span>                <span class="k2">{</span>
<span class="number"> 212</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 213</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 214</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 215</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 216</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 217</span>                <span class="k2">}</span>
<span class="number"> 218</span>                
<span class="number"> 219</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">)</span>
<span class="number"> 220</span>                <span class="k2">{</span>
<span class="number"> 221</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 222</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 223</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 224</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 225</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 226</span>                <span class="k2">}</span>
<span class="number"> 227</span>
<span class="number"> 228</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span>
<span class="number"> 229</span>                <span class="k2">{</span>
<span class="number"> 230</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 231</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 232</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 233</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 234</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 235</span>                <span class="k2">}</span>
<span class="number"> 236</span>                
<span class="number"> 237</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span>
<span class="number"> 238</span>                <span class="k2">{</span>
<span class="number"> 239</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 240</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 241</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 242</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 243</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 244</span>                <span class="k2">}</span>
<span class="number"> 245</span>
<span class="number"> 246</span>
<span class="number"> 247</span>                <span class="c">// CAI NO BURACO</span>
<span class="number"> 248</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">)</span>
<span class="number"> 249</span>                <span class="k2">{</span>
<span class="number"> 250</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO NÃO PULOU, E CAIU NO BURACO. DINO DEVE PEDIR AJUDA (A) OU SAIR DO BURACO CAVANDO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 251</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 252</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 253</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO<span class="k2">;</span> 
<span class="number"> 254</span>                <span class="k2">}</span>
<span class="number"> 255</span>
<span class="number"> 256</span>                <span class="c">//HERE WE USE A SINLE KEY (BACKSPACE), AND THEN USE IF/ELSE TO DO DIFFERENT THINGS, DEPENDING ON THE STATE...</span>
<span class="number"> 257</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_BACKSPACE<span class="k2">)</span>
<span class="number"> 258</span>                <span class="k2">{</span>
<span class="number"> 259</span>                    <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">)</span> <span class="c">//IF WE HAVE ONLY PRESSED ENTER...</span>
<span class="number"> 260</span>                    <span class="k2">{</span>
<span class="number"> 261</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"TESTE"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 262</span>                        x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 263</span>                        y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 264</span>                        gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "START"</span>
<span class="number"> 265</span>                    <span class="k2">}</span>
<span class="number"> 266</span>
<span class="number"> 267</span>                    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">)</span> <span class="c">//ELSE IF WE HAVE PRESSED A OR B...</span>
<span class="number"> 268</span>                    <span class="k2">{</span>
<span class="number"> 269</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"APERTEI ENTER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 270</span>                        x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 271</span>                        y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 272</span>                        gameState <span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "PRESSED ENTER"</span>
<span class="number"> 273</span>                    <span class="k2">}</span>
<span class="number"> 274</span>                <span class="k2">}</span>
<span class="number"> 275</span>
<span class="number"> 276</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">!</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 277</span>                <span class="k2">{</span>
<span class="number"> 278</span>                    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 279</span>                <span class="k2">}</span>
<span class="number"> 280</span>            <span class="k2">}</span>
<span class="number"> 281</span>
<span class="number"> 282</span>            <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 283</span>            <span class="k2">{</span>
<span class="number"> 284</span>                done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 285</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 286</span>            <span class="k2">}</span>
<span class="number"> 287</span>        <span class="k2">}</span>
<span class="number"> 288</span>
<span class="number"> 289</span>        <span class="k1">if</span><span class="k2">(</span>done<span class="k2">)</span>
<span class="number"> 290</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 291</span>
<span class="number"> 292</span>        <span class="k1">if</span><span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 293</span>        <span class="k2">{</span>
<span class="number"> 294</span>            <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 295</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, x, y, <span class="n">0</span>, text<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 296</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">500</span>, <span class="n">500</span>, <span class="n">0</span>, text1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 297</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"> 298</span>
<span class="number"> 299</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 300</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/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 305</span>    <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 306</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"> 307</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>queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 308</span>
<span class="number"> 309</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 310</span><span class="k2">}</span>
</div></div><p>

I have two more questions: How can I change the style of the letters, make them bigger and how can I make the game return to the beginning of the game, as soon as it ends, letting the player play again.</p><p>Thank you soooooooooooooo much!!! <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /><img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" /><img src="http://www.allegro.cc/forums/smileys/cool.gif" alt="8-)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (mayna azevedo)</author>
		<pubDate>Sun, 09 May 2021 00:53:16 +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/618407/1049925#target">mayna azevedo</a> said:</div><div class="quote"><p>Can you explain this part better to me?</p></div></div><p>

Yes; what we are doing here is reducing the number of conditions. We want to make the code as small as possible, so rather than saying:</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="k3">=</span><span class="k3">=</span> a <span class="k3">&amp;</span><span class="k3">&amp;</span> state <span class="k3">=</span> some_state_1<span class="k2">)</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="k3">=</span><span class="k3">=</span> a <span class="k3">&amp;</span><span class="k3">&amp;</span> state <span class="k3">=</span><span class="k3">=</span> some_state_2<span class="k2">)</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="k3">=</span><span class="k3">=</span> a <span class="k3">&amp;</span><span class="k3">&amp;</span> state <span class="k3">=</span><span class="k3">=</span> some_state_3<span class="k2">)</span>
</pre></div></div><p>

we can wrap that up, as we don&#39;t want to check <span class="source-code"><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k3">=</span><span class="k3">=</span>a</span> <b>every time</b>. So, we can say:
</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="k3">=</span><span class="k3">=</span> a<span class="k2">)</span> <span class="c">//we only need to check key one time for multiple states</span>
<span class="k2">{</span>
    <span class="k1">if</span><span class="k2">(</span>state <span class="k3">=</span><span class="k3">=</span> some_state_1<span class="k2">)</span>
    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>state <span class="k3">=</span><span class="k3">=</span> some_state_2<span class="k2">)</span>
    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>state <span class="k3">=</span><span class="k3">=</span> some_state_3<span class="k2">)</span>
<span class="k2">}</span>
</pre></div></div><p>

That will make our code easier to read, and easier to add new states when <span class="source-code"><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k3">=</span><span class="k3">=</span>a</span>.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>How can I change the style of the letters, make them bigger</p></div></div><p>
For this you will need to use the font addon. You will need to include the ttf_font header (#include &lt;allegro5/allegro_ttf.h&gt;) and initialise it (al_init_ttf_addon()). You can then use:</p><p><span class="source-code"><a href="http://www.allegro.cc/manual/al_load_font"><span class="a">al_load_font</span></a><span class="k2">(</span><span class="s">"filename.ttf"</span>, size, flags<span class="k2">)</span><span class="k2">;</span></span></p><p>The second argument will let you choose the size. Then, when you draw your text, it will be larger, depending on the size you choose when you load.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>how can I make the game return to the beginning of the game, as soon as it ends, letting the player play again</p></div></div><p>

Well, you don&#39;t want to wait for a key, but I guess you don&#39;t want to go there straight away, as you want to display a message first? So I would suggest, add a new timer, that you can start/stop. You can start it when it&#39;s game over, and then check it every frame - if it&#39;s counter goes up, you know it&#39;s passed and can then restart the game.</p><p>Here is working code for you. I have added the ttf_fonts (ttf file is arial unicode, I can&#39;t attach as it&#39;s too big, but you should have a unicode font on your computer), and made it larger. I have also added a new timer, gameOverTimer, that will display &quot;GAME OVER&quot; for 3 seconds and then restart the game.</p><p>I&#39;ll let you look at it, and then you can ask more if you need!</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;allegro5/allegro5.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt; // permite colocar formas simples, linhas, pontos, etc. (formas primitivas)</span>
<span class="number">   7</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt; //NEED FOR TTF FONTS</span>
<span class="number">   8</span>
<span class="number">   9</span><span class="c">//HERE ARE THE GAME STATES, WE NEED TO KNOW WHAT "STATE" THE GAME IS IN...</span>
<span class="number">  10</span><span class="p">#define STATE_START 1</span>
<span class="number">  11</span><span class="p">#define STATE_PRESSED_BURACO 2</span>
<span class="number">  12</span><span class="p">#define STATE_PRESSED_PULA_BURACO 3</span>
<span class="number">  13</span><span class="p">#define STATE_PRESSED_CAI_BURACO 4</span>
<span class="number">  14</span><span class="p">#define STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE 5</span>
<span class="number">  15</span><span class="p">#define STATE_PRESSED_SONO_DESCANSA_OU_CORRE 6</span>
<span class="number">  16</span><span class="p">#define STATE_PRESSED_MACHUCADO_CORRE 7</span>
<span class="number">  17</span><span class="p">#define STATE_PRESSED_MACHUCADO_DESCANSA 8</span>
<span class="number">  18</span><span class="p">#define STATE_PRESSED_GAME_OVER 9</span>
<span class="number">  19</span><span class="p">#define STATE_PRESSED_SONO_CORRE 10</span>
<span class="number">  20</span><span class="p">#define STATE_PRESSED_SONO_DESCANSA 11</span>
<span class="number">  21</span>
<span class="number">  22</span><span class="k1">int</span> gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//HERE IS OUR STARTING STATE, WE CAN CHANGE THIS TO USE IN OUR "IF"</span>
<span class="number">  23</span>
<span class="number">  24</span>
<span class="number">  25</span><span class="k1">char</span> text<span class="k2">[</span><span class="n">255</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">"PRESSIONE ENTER PARA COMEÇAR O JOGO"</span><span class="k2">;</span>
<span class="number">  26</span><span class="k1">char</span> text1<span class="k2">[</span><span class="n">255</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">" "</span><span class="k2">;</span>
<span class="number">  27</span>
<span class="number">  28</span><span class="k1">void</span> must_init<span class="k2">(</span><span class="k1">bool</span> test, <span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>description<span class="k2">)</span><span class="k2">{</span>
<span class="number">  29</span>    <span class="k1">if</span><span class="k2">(</span>test<span class="k2">)</span> <span class="k1">return</span><span class="k2">;</span>
<span class="number">  30</span>
<span class="number">  31</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"couldn't initialize %s\n"</span>, description<span class="k2">)</span><span class="k2">;</span>
<span class="number">  32</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  33</span><span class="k2">}</span>
<span class="number">  34</span>
<span class="number">  35</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  36</span>    must_init<span class="k2">(</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="s">"allegro"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// auxilia o must_init(), evitar de colocar instruções a mais par averificar erros.</span>
<span class="number">  37</span>    must_init<span class="k2">(</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="s">"keyboard"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span>, <span class="s">"mouse"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// instalando o mouse</span>
<span class="number">  39</span>
<span class="number">  40</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">30</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  41</span>    must_init<span class="k2">(</span>timer, <span class="s">"timer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  42</span>
<span class="number">  43</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> gameOverTimer <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">3</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//Game Over timer will last 3 seconds</span>
<span class="number">  44</span>    must_init<span class="k2">(</span>gameOverTimer, <span class="s">"gameOverTimer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span>
<span class="number">  46</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a><span class="k3">*</span> 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">  47</span>    must_init<span class="k2">(</span>queue, <span class="s">"queue"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  48</span>
<span class="number">  49</span>     <span class="c">// Permite que as formas e linhas tenham maior definição, deixar mais suave</span>
<span class="number">  50</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  51</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">8</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  52</span>    <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>ALLEGRO_MIN_LINEAR <span class="k3">|</span> ALLEGRO_MAG_LINEAR<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  53</span>
<span class="number">  54</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a><span class="k3">*</span> disp <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><span class="n">1200</span>, <span class="n">800</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>    must_init<span class="k2">(</span>disp, <span class="s">"display"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>
<span class="number">  57</span>    must_init<span class="k2">(</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="s">"image addon"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  58</span>
<span class="number">  59</span>    must_init<span class="k2">(</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="s">"primitives"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Para inserir linhas, formas e pontos no código</span>
<span class="number">  60</span>
<span class="number">  61</span>    must_init<span class="k2">(</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="s">"font"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//WE NEED TO INIT FONT FIRST!</span>
<span class="number">  62</span>    must_init<span class="k2">(</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="s">"ttf font"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//THEN WE NEED TO INIT TTF FONTS</span>
<span class="number">  63</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">"arialuni.ttf"</span>, <span class="n">14</span>, ALLEGRO_ALIGN_LEFT<span class="k2">)</span><span class="k2">;</span> <span class="c">//NOW WE CAN CHOOSE SIZE</span>
<span class="number">  64</span>
<span class="number">  65</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">  66</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>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">  67</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>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>disp<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  68</span>    <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>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">  69</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>queue, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">// adicionado para o mouse funcionar</span>
<span class="number">  70</span>
<span class="number">  71</span>    <span class="c">// adicionando o audio ao jogo</span>
<span class="number">  72</span>
<span class="number">  73</span>
<span class="number">  74</span>    <span class="c">// para música longa</span>
<span class="number">  75</span>
<span class="number">  76</span>    <span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  77</span>    <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  78</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number">  79</span>
<span class="number">  80</span>    <span class="k1">float</span> x, y<span class="k2">;</span>
<span class="number">  81</span>    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number">  82</span>    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number">  83</span>
<span class="number">  84</span>    <span class="p">#define KEY_SEEN     1</span>
<span class="number">  85</span>    <span class="p">#define KEY_RELEASED 2</span>
<span class="number">  86</span>
<span class="number">  87</span>    <span class="k1">unsigned</span> <span class="k1">char</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>ALLEGRO_KEY_MAX<span class="k2">]</span><span class="k2">;</span>
<span class="number">  88</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_569.html" target="_blank">memset</a><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a>, <span class="n">0</span>, <span class="k1">sizeof</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  89</span>    <a href="http://www.allegro.cc/manual/al_hide_mouse_cursor"><span class="a">al_hide_mouse_cursor</span></a><span class="k2">(</span>disp<span class="k2">)</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">while</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  94</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>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number">  95</span>
<span class="number">  96</span>        <span class="k1">switch</span><span class="k2">(</span>event.type<span class="k2">)</span>
<span class="number">  97</span>        <span class="k2">{</span>
<span class="number">  98</span>            <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number">  99</span>            <span class="k2">{</span>
<span class="number"> 100</span>                redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 101</span>
<span class="number"> 102</span>                <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_get_timer_count"><span class="a">al_get_timer_count</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span> <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span> <span class="c">//IF STATE IS GAME OVER AND TIMER HAS TICKED AT LEAST ONCE...</span>
<span class="number"> 103</span>                <span class="k2">{</span>
<span class="number"> 104</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"TESTE"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 105</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 106</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 107</span>                    gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "START"</span>
<span class="number"> 108</span>
<span class="number"> 109</span>                    <span class="c">//RESET THE GAME OVER TIMER!</span>
<span class="number"> 110</span>                    <a href="http://www.allegro.cc/manual/al_stop_timer"><span class="a">al_stop_timer</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 111</span>                    <a href="http://www.allegro.cc/manual/al_set_timer_count"><span class="a">al_set_timer_count</span></a><span class="k2">(</span>gameOverTimer, <span class="n">0</span><span class="k2">)</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="k1">break</span><span class="k2">;</span>
<span class="number"> 115</span>            <span class="k2">}</span>
<span class="number"> 116</span>
<span class="number"> 117</span>            <span class="k1">case</span> ALLEGRO_EVENT_KEY_CHAR:
<span class="number"> 118</span>            <span class="k2">{</span>
<span class="number"> 119</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ENTER <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_START<span class="k2">)</span> <span class="c">//IF WE PRESS ENTER WHEN STATE IS "START"....</span>
<span class="number"> 120</span>                <span class="k2">{</span>
<span class="number"> 121</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"INICIO DO JOGO. DINO VĂ UM BURACO: PULA (A) OU NĂO (B): "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 122</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 123</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 124</span>                    gameState <span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED ENTER"</span>
<span class="number"> 125</span>
<span class="number"> 126</span>                <span class="k2">}</span>
<span class="number"> 127</span>                <span class="c">// PULA BURACO</span>
<span class="number"> 128</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">)</span>
<span class="number"> 129</span>                <span class="k2">{</span>
<span class="number"> 130</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PULOU O BURACO, MAS MACHUCOU A PATA. DINO DEVE CONTINUAR CORRENDO (A), MESMO MACHUCADO, OU COMER UMA PLANTA MEDICINAL (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 131</span>                    x <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number"> 132</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 133</span>                    gameState <span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">;</span>
<span class="number"> 134</span>                <span class="k2">}</span>
<span class="number"> 135</span>
<span class="number"> 136</span>                <span class="c">// DINO PULA BURACO E CORRE</span>
<span class="number"> 137</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">)</span>
<span class="number"> 138</span>                <span class="k2">{</span>
<span class="number"> 139</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUOU CORRENDO, MESMO MACHUCADO, MAS SUA VELOCIDADE É BAIXA. DINO DEVE CONTINUAR CORRENDO MACHUCADO (A) OU DESCANSAR (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 140</span>                    x <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number"> 141</span>                    y <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 142</span>                    gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">;</span>
<span class="number"> 143</span>                <span class="k2">}</span>
<span class="number"> 144</span>
<span class="number"> 145</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 146</span>                <span class="k2">{</span>
<span class="number"> 147</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUOU CORRENDO, MESMO MACHUCADO, MAS SUA VELOCIDADE É BAIXA. ASSIM, O METEORO ESTÁ CADA VEZ MAIS PRÓXIMO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 148</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 149</span>                    x <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number"> 150</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 151</span>                    gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<span class="k2">;</span>
<span class="number"> 152</span>                <span class="k2">}</span>
<span class="number"> 153</span>
<span class="number"> 154</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 155</span>                <span class="k2">{</span>
<span class="number"> 156</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PAROU PARA DESCANSAR, MAS PERDEU MUITO TEMPO E O METEORO ESTÁ PRÓXIMO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 157</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 158</span>                    x <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number"> 159</span>                    y <span class="k3">=</span> <span class="n">4000</span><span class="k2">;</span>
<span class="number"> 160</span>                    gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<span class="k2">;</span>
<span class="number"> 161</span>                <span class="k2">}</span>
<span class="number"> 162</span>
<span class="number"> 163</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<span class="k2">)</span>
<span class="number"> 164</span>                <span class="k2">{</span>
<span class="number"> 165</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 166</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 167</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 168</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 169</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span>
<span class="number"> 170</span>                    <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 171</span>                <span class="k2">}</span>
<span class="number"> 172</span>
<span class="number"> 173</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<span class="k2">)</span>
<span class="number"> 174</span>                <span class="k2">{</span>
<span class="number"> 175</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 176</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 177</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 178</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 179</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span>
<span class="number"> 180</span>                    <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 181</span>                <span class="k2">}</span>
<span class="number"> 182</span>
<span class="number"> 183</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<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_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 186</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 187</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 188</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 189</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span>
<span class="number"> 190</span>                    <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 191</span>                <span class="k2">}</span>
<span class="number"> 192</span>
<span class="number"> 193</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<span class="k2">)</span>
<span class="number"> 194</span>                <span class="k2">{</span>
<span class="number"> 195</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 196</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 197</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 198</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 199</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span>
<span class="number"> 200</span>                    <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 201</span>                <span class="k2">}</span>
<span class="number"> 202</span>
<span class="number"> 203</span>                <span class="c">//DINO PULA O BURACO E COME A PLANTA</span>
<span class="number"> 204</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">)</span>
<span class="number"> 205</span>                <span class="k2">{</span>
<span class="number"> 206</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PAROU PARA COMER UMA PLANTA, E A DOR PASSOU. ENTRETANTO, A PLANTA DEIXOU DINO FICOU COM SONO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 207</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE COMEÇAR A CORRER (A) OU PARAR PARA DESCANSAR (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 208</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 209</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 210</span>                    gameState <span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">;</span>
<span class="number"> 211</span>                <span class="k2">}</span>
<span class="number"> 212</span>
<span class="number"> 213</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 214</span>                <span class="k2">{</span>
<span class="number"> 215</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO COMEÇAR A CORRER MESMO SONOLENTO, E FICA BEM DEVAGAR. ASSIM, PERDEU MUITO TEMPO E O COMETA ESTÁ PRÓXIMO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 216</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 217</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 218</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 219</span>                    gameState <span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">;</span>
<span class="number"> 220</span>                <span class="k2">}</span>
<span class="number"> 221</span>
<span class="number"> 222</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 223</span>                <span class="k2">{</span>
<span class="number"> 224</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PAROU PARA DESCANSAR, MAS PERDEU MUITO TEMPO. O METEORO ESTÁ PRÓXIMO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 225</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 226</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 227</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 228</span>                    gameState <span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">;</span>
<span class="number"> 229</span>                <span class="k2">}</span>
<span class="number"> 230</span>
<span class="number"> 231</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">)</span>
<span class="number"> 232</span>                <span class="k2">{</span>
<span class="number"> 233</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 234</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 235</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 236</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 237</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span>
<span class="number"> 238</span>                    <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 239</span>                <span class="k2">}</span>
<span class="number"> 240</span>
<span class="number"> 241</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">)</span>
<span class="number"> 242</span>                <span class="k2">{</span>
<span class="number"> 243</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 244</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 245</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 246</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 247</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span>
<span class="number"> 248</span>                    <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 249</span>                <span class="k2">}</span>
<span class="number"> 250</span>
<span class="number"> 251</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span>
<span class="number"> 252</span>                <span class="k2">{</span>
<span class="number"> 253</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 254</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 255</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 256</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 257</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span>
<span class="number"> 258</span>                    <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 259</span>                <span class="k2">}</span>
<span class="number"> 260</span>
<span class="number"> 261</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span>
<span class="number"> 262</span>                <span class="k2">{</span>
<span class="number"> 263</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 264</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 265</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 266</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 267</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span>
<span class="number"> 268</span>                    <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 269</span>                <span class="k2">}</span>
<span class="number"> 270</span>
<span class="number"> 271</span>
<span class="number"> 272</span>                <span class="c">// CAI NO BURACO</span>
<span class="number"> 273</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">)</span>
<span class="number"> 274</span>                <span class="k2">{</span>
<span class="number"> 275</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO NÃO PULOU, E CAIU NO BURACO. DINO DEVE PEDIR AJUDA (A) OU SAIR DO BURACO CAVANDO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 276</span>                    x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 277</span>                    y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 278</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO<span class="k2">;</span>
<span class="number"> 279</span>                <span class="k2">}</span>
<span class="number"> 280</span>
<span class="number"> 281</span>                <span class="c">//HERE WE USE A SINLE KEY (BACKSPACE), AND THEN USE IF/ELSE TO DO DIFFERENT THINGS, DEPENDING ON THE STATE...</span>
<span class="number"> 282</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_BACKSPACE<span class="k2">)</span>
<span class="number"> 283</span>                <span class="k2">{</span>
<span class="number"> 284</span>                    <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">)</span> <span class="c">//ELSE IF WE HAVE PRESSED A OR B...</span>
<span class="number"> 285</span>                    <span class="k2">{</span>
<span class="number"> 286</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"APERTEI ENTER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 287</span>                        x <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 288</span>                        y <span class="k3">=</span> <span class="n">400</span><span class="k2">;</span>
<span class="number"> 289</span>                        gameState <span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "PRESSED ENTER"</span>
<span class="number"> 290</span>                    <span class="k2">}</span>
<span class="number"> 291</span>                <span class="k2">}</span>
<span class="number"> 292</span>
<span class="number"> 293</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">!</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 294</span>                <span class="k2">{</span>
<span class="number"> 295</span>                    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 296</span>                <span class="k2">}</span>
<span class="number"> 297</span>            <span class="k2">}</span>
<span class="number"> 298</span>
<span class="number"> 299</span>            <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 300</span>            <span class="k2">{</span>
<span class="number"> 301</span>                done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 302</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 303</span>            <span class="k2">}</span>
<span class="number"> 304</span>        <span class="k2">}</span>
<span class="number"> 305</span>
<span class="number"> 306</span>        <span class="k1">if</span><span class="k2">(</span>done<span class="k2">)</span>
<span class="number"> 307</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 308</span>
<span class="number"> 309</span>        <span class="k1">if</span><span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 310</span>        <span class="k2">{</span>
<span class="number"> 311</span>            <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 312</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, x, y, <span class="n">0</span>, text<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 313</span>
<span class="number"> 314</span>            <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">)</span>
<span class="number"> 315</span>            <span class="k2">{</span>
<span class="number"> 316</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">500</span>, <span class="n">500</span>, <span class="n">0</span>, text1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 317</span>            <span class="k2">}</span>
<span class="number"> 318</span>
<span class="number"> 319</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"> 320</span>
<span class="number"> 321</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 322</span>        <span class="k2">}</span>
<span class="number"> 323</span>
<span class="number"> 324</span>    <span class="k2">}</span>
<span class="number"> 325</span>
<span class="number"> 326</span>    <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 327</span>    <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 328</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"> 329</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>queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 330</span>
<span class="number"> 331</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 332</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dizzy Egg)</author>
		<pubDate>Mon, 10 May 2021 21:06:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>If you want to get fancy, and a little more advanced, try looking at allegro&#39;s event queue&#39;s. You can emit custom events, and then check for them too.</p><p>You can even write &quot;Scenes&quot; instead of &quot;States&quot;. Each scene would have its own state, and its own input and display routines. I use them all the time in my own games to transition from one state to another. But that way they are encapsulated in their own class and cannot be messed up by another state (usually).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Wed, 12 May 2021 01:50:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I agree; I also think it would be prudent to look into functions, start seperating out some of that code, make chunks easier to deal with, and keep that main loop nice and minimal.</p><p>We&#39;ll see how this goes, it&#39;s quite hard to learn Allegro/games programming alongside learning how to structure code etc.</p><p>But keep on keeping on, you&#39;ll get your first game out of it, and then you&#39;ll be unstoppable
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dizzy Egg)</author>
		<pubDate>Wed, 12 May 2021 02:22:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hello again. I went to test the font part, so I downloaded a file and changed it according to the code that you modified. However, it generated an error:</p><p><span class="source-code">reference <span class="k1">not</span> set to <span class="s">"al_init_ttf_addon"</span></span></p><p>https://1drv.ms/u/s!Ak2pOptPmINYpmSnMMu1oG8rDSEY?e=oIianF</p><p>I got the file from this site: <a href="https://www.fontsquirrel.com/fonts/list/popular">https://www.fontsquirrel.com/fonts/list/popular</a></p><p>I use Linux, and I&#39;m doing everything for the terminal. To compile the file, I am using the following command:</p><p><span class="source-code">gcc dino_allegro_1.c <span class="k3">-</span>o dino_allegro_1 $ <span class="k2">(</span>pkg-config allegro-5 allegro_font-5 allegro_image-5 allegro_primitives-5 allegro_audio-5 allegro_acodec-5 <span class="k3">-</span><span class="k3">-</span>libs <span class="k3">-</span><span class="k3">-</span>cflags<span class="k2">)</span></span></p><p>Can you signal what I&#39;m doing wrong? The code I modified is below: <br />The files I am using can be download in this link: <a href="https://1drv.ms/u/s!Ak2pOptPmINYpmN3Cnc1FrAnbgil?e=8pzBIq">https://1drv.ms/u/s!Ak2pOptPmINYpmN3Cnc1FrAnbgil?e=8pzBIq</a><br />The error: <a href="https://1drv.ms/u/s!Ak2pOptPmINYpmSnMMu1oG8rDSEY?e=85bZv4">https://1drv.ms/u/s!Ak2pOptPmINYpmSnMMu1oG8rDSEY?e=85bZv4</a></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">   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;allegro5/allegro5.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_font.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_audio.h&gt; // biblioteca de som</span>
<span class="number">   9</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt; // permite colocar formas simples, linhas, pontos, etc. (formas primitivas)</span>
<span class="number">  10</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt; //NEED FOR TTF FONTS</span>
<span class="number">  11</span>
<span class="number">  12</span><span class="c">//HERE ARE THE GAME STATES, WE NEED TO KNOW WHAT "STATE" THE GAME IS IN...</span>
<span class="number">  13</span><span class="p">#define STATE_START 1</span>
<span class="number">  14</span><span class="p">#define STATE_PRESSED_BURACO 2</span>
<span class="number">  15</span><span class="p">#define STATE_PRESSED_PULA_BURACO 3</span>
<span class="number">  16</span><span class="p">#define STATE_PRESSED_CAI_BURACO 4</span>
<span class="number">  17</span><span class="p">#define STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE 5</span>
<span class="number">  18</span><span class="p">#define STATE_PRESSED_SONO_DESCANSA_OU_CORRE 6</span>
<span class="number">  19</span><span class="p">#define STATE_PRESSED_MACHUCADO_CORRE 7</span>
<span class="number">  20</span><span class="p">#define STATE_PRESSED_MACHUCADO_DESCANSA 8</span>
<span class="number">  21</span><span class="p">#define STATE_PRESSED_GAME_OVER 9</span>
<span class="number">  22</span><span class="p">#define STATE_PRESSED_SONO_CORRE 10</span>
<span class="number">  23</span><span class="p">#define STATE_PRESSED_SONO_DESCANSA 11</span>
<span class="number">  24</span><span class="p">#define STATE_PRESSED_CAI_BURACO_AJUDA 12</span>
<span class="number">  25</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CORRE 13</span>
<span class="number">  26</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO 14</span>
<span class="number">  27</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CAVANDO 15</span>
<span class="number">  28</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE 16</span>
<span class="number">  29</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA 17</span>
<span class="number">  30</span><span class="p">#define STATE_CORRE 18</span>
<span class="number">  31</span><span class="p">#define STATE_ABRIGO 19</span>
<span class="number">  32</span>
<span class="number">  33</span><span class="k1">int</span> gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//HERE IS OUR STARTING STATE, WE CAN CHANGE THIS TO USE IN OUR "IF"</span>
<span class="number">  34</span>
<span class="number">  35</span>
<span class="number">  36</span><span class="k1">char</span> text<span class="k2">[</span><span class="n">255</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">"PRESSIONE ENTER PARA COMEÇAR O JOGO"</span><span class="k2">;</span>
<span class="number">  37</span><span class="k1">char</span> text1<span class="k2">[</span><span class="n">255</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">" "</span><span class="k2">;</span>
<span class="number">  38</span>
<span class="number">  39</span><span class="k1">void</span> must_init<span class="k2">(</span><span class="k1">bool</span> test, <span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>description<span class="k2">)</span><span class="k2">{</span>
<span class="number">  40</span>    <span class="k1">if</span><span class="k2">(</span>test<span class="k2">)</span> <span class="k1">return</span><span class="k2">;</span>
<span class="number">  41</span>
<span class="number">  42</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"couldn't initialize %s\n"</span>, description<span class="k2">)</span><span class="k2">;</span>
<span class="number">  43</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</span><span class="k2">}</span>
<span class="number">  45</span>
<span class="number">  46</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  47</span>    must_init<span class="k2">(</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="s">"allegro"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// auxilia o must_init(), evitar de colocar instruções a mais par averificar erros.</span>
<span class="number">  48</span>    must_init<span class="k2">(</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="s">"keyboard"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span>, <span class="s">"mouse"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// instalando o mouse</span>
<span class="number">  50</span>
<span class="number">  51</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">30</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  52</span>    must_init<span class="k2">(</span>timer, <span class="s">"timer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  53</span>
<span class="number">  54</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> gameOverTimer <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">3</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//Game Over timer will last 3 seconds</span>
<span class="number">  55</span>    must_init<span class="k2">(</span>gameOverTimer, <span class="s">"gameOverTimer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>
<span class="number">  57</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a><span class="k3">*</span> 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">  58</span>    must_init<span class="k2">(</span>queue, <span class="s">"queue"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  59</span>
<span class="number">  60</span>     <span class="c">// Permite que as formas e linhas tenham maior definição, deixar mais suave</span>
<span class="number">  61</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  62</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">8</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  63</span>    <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>ALLEGRO_MIN_LINEAR <span class="k3">|</span> ALLEGRO_MAG_LINEAR<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  64</span>
<span class="number">  65</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a><span class="k3">*</span> disp <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><span class="n">1200</span>, <span class="n">800</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  66</span>    must_init<span class="k2">(</span>disp, <span class="s">"display"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  67</span>
<span class="number">  68</span>    <span class="c">//ALLEGRO_FONT* font = al_create_builtin_font();</span>
<span class="number">  69</span>    must_init<span class="k2">(</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="s">"font"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//WE NEED TO INIT FONT FIRST!</span>
<span class="number">  70</span>    must_init<span class="k2">(</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="s">"ttf font"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//THEN WE NEED TO INIT TTF FONTS</span>
<span class="number">  71</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">"Antonio-Bold.ttf"</span>, <span class="n">14</span>, ALLEGRO_ALIGN_LEFT<span class="k2">)</span><span class="k2">;</span> <span class="c">//NOW WE CAN CHOOSE SIZE</span>
<span class="number">  72</span>
<span class="number">  73</span>    must_init<span class="k2">(</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="s">"image addon"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  74</span>
<span class="number">  75</span>    must_init<span class="k2">(</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="s">"primitives"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Para inserir linhas, formas e pontos no código</span>
<span class="number">  76</span>
<span class="number">  77</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">  78</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>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">  79</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>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>disp<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  80</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>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">  81</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>queue, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">// adicionado para o mouse funcionar</span>
<span class="number">  82</span>
<span class="number">  83</span>    <span class="c">// imagens</span>
<span class="number">  84</span>    must_init<span class="k2">(</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="s">"image addon"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  85</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> dino_apresentacao <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">"dino_apresentacao.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  86</span>    must_init<span class="k2">(</span>dino_apresentacao, <span class="s">"dino_apresentacao"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  87</span>
<span class="number">  88</span>    <span class="c">// adicionando o audio ao jogo</span>
<span class="number">  89</span>    must_init<span class="k2">(</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="s">"audio"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  90</span>    must_init<span class="k2">(</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="s">"audio codecs"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  91</span>    must_init<span class="k2">(</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">16</span><span class="k2">)</span>, <span class="s">"reserve samples"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  92</span>
<span class="number">  93</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_AUDIO_STREAM"><span class="a">ALLEGRO_AUDIO_STREAM</span></a><span class="k3">*</span> music <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_audio_stream"><span class="a">al_load_audio_stream</span></a><span class="k2">(</span><span class="s">"music.opus"</span>, <span class="n">2</span>, <span class="n">2048</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// os números são referentes as áreas da memoria onde a musica sera armazenada. não mudar</span>
<span class="number">  94</span>    must_init<span class="k2">(</span>music, <span class="s">"music"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  95</span>    <a href="http://www.allegro.cc/manual/al_set_audio_stream_playmode"><span class="a">al_set_audio_stream_playmode</span></a><span class="k2">(</span>music, ALLEGRO_PLAYMODE_LOOP<span class="k2">)</span><span class="k2">;</span> <span class="c">// música em loop</span>
<span class="number">  96</span>    <a href="http://www.allegro.cc/manual/al_attach_audio_stream_to_mixer"><span class="a">al_attach_audio_stream_to_mixer</span></a><span class="k2">(</span>music, <a href="http://www.allegro.cc/manual/al_get_default_mixer"><span class="a">al_get_default_mixer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// linha para o som sair, senão tem sai</span>
<span class="number">  97</span>
<span class="number">  98</span>    <span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  99</span>    <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 100</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number"> 101</span>
<span class="number"> 102</span>    <span class="p">#define KEY_SEEN     1</span>
<span class="number"> 103</span>    <span class="p">#define KEY_RELEASED 2</span>
<span class="number"> 104</span>
<span class="number"> 105</span>    <span class="k1">unsigned</span> <span class="k1">char</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>ALLEGRO_KEY_MAX<span class="k2">]</span><span class="k2">;</span>
<span class="number"> 106</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_569.html" target="_blank">memset</a><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a>, <span class="n">0</span>, <span class="k1">sizeof</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 107</span>    <a href="http://www.allegro.cc/manual/al_hide_mouse_cursor"><span class="a">al_hide_mouse_cursor</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 108</span>
<span class="number"> 109</span>
<span class="number"> 110</span>
<span class="number"> 111</span>    <span class="k1">while</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">{</span>
<span class="number"> 112</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>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 113</span>
<span class="number"> 114</span>        <span class="k1">switch</span><span class="k2">(</span>event.type<span class="k2">)</span>
<span class="number"> 115</span>        <span class="k2">{</span>
<span class="number"> 116</span>            <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number"> 117</span>            <span class="k2">{</span>
<span class="number"> 118</span>                redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 119</span>
<span class="number"> 120</span>                <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_get_timer_count"><span class="a">al_get_timer_count</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span> <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span> <span class="c">//IF STATE IS GAME OVER AND TIMER HAS TICKED AT LEAST ONCE...</span>
<span class="number"> 121</span>                <span class="k2">{</span>
<span class="number"> 122</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"RECOMEÇANDO O JOGO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 123</span>                    gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "START"</span>
<span class="number"> 124</span>
<span class="number"> 125</span>                    <span class="c">//RESET THE GAME OVER TIMER!</span>
<span class="number"> 126</span>                    <a href="http://www.allegro.cc/manual/al_stop_timer"><span class="a">al_stop_timer</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 127</span>                    <a href="http://www.allegro.cc/manual/al_set_timer_count"><span class="a">al_set_timer_count</span></a><span class="k2">(</span>gameOverTimer, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 128</span>                <span class="k2">}</span>
<span class="number"> 129</span>
<span class="number"> 130</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 131</span>            <span class="k2">}</span>
<span class="number"> 132</span>
<span class="number"> 133</span>            <span class="k1">case</span> ALLEGRO_EVENT_KEY_CHAR:
<span class="number"> 134</span>            <span class="k2">{</span>
<span class="number"> 135</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ENTER <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_START<span class="k2">)</span> <span class="c">//IF WE PRESS ENTER WHEN STATE IS "START"....</span>
<span class="number"> 136</span>                <span class="k2">{</span>
<span class="number"> 137</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PERCEBE UM METEORO VINDO EM SUA DIREÇÃO E COMEÇA A FUGIR. LOGO A SUA FRENTE, DINO VÊ UM BURACO!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 138</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO PULAR O BURACO (A) OU IGNORAR O BURACO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 139</span>                    gameState <span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED ENTER"</span>
<span class="number"> 140</span>
<span class="number"> 141</span>                <span class="k2">}</span>
<span class="number"> 142</span>                <span class="c">// PULA BURACO </span>
<span class="number"> 143</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">)</span> 
<span class="number"> 144</span>                <span class="k2">{</span>
<span class="number"> 145</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PULOU O BURACO, MAS MACHUCOU A PATINHA!!! "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 146</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO (A), MESMO MACHUCADO, OU COMER UMA PLANTA MEDICINAL (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 147</span>                    gameState <span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">;</span>
<span class="number"> 148</span>                <span class="k2">}</span>
<span class="number"> 149</span>                
<span class="number"> 150</span>                <span class="c">// DINO PULA BURACO E CORRE</span>
<span class="number"> 151</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">)</span> 
<span class="number"> 152</span>                <span class="k2">{</span>
<span class="number"> 153</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO, MESMO MACHUCADO, CONTINUOU CORRENDO. ENTRETANTO, ESTÁ CORRENDO MUITO DEVAGAR!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 154</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO MACHUCADO (A) OU DESCANSAR PARA SARAR A PATINHA (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 155</span>                    gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">;</span> 
<span class="number"> 156</span>                <span class="k2">}</span>
<span class="number"> 157</span>
<span class="number"> 158</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 159</span>                <span class="k2">{</span>
<span class="number"> 160</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUOU CORRENDO, MAS SUA VELOCIDADE AINDA É BAIXA. DESSA FORMA, O METEORO ESTÁ CADA VEZ MAIS PRÓXIMO!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 161</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 162</span>                    gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<span class="k2">;</span> 
<span class="number"> 163</span>                <span class="k2">}</span>
<span class="number"> 164</span>
<span class="number"> 165</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">)</span> 
<span class="number"> 166</span>                <span class="k2">{</span>
<span class="number"> 167</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PAROU PARA DESCANSAR, MAS PERDEU MUITO TEMPO E O METEORO ESTÁ PRÓXIMO!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 168</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 169</span>                    gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<span class="k2">;</span>
<span class="number"> 170</span>                <span class="k2">}</span>
<span class="number"> 171</span>
<span class="number"> 172</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<span class="k2">)</span> 
<span class="number"> 173</span>                <span class="k2">{</span>
<span class="number"> 174</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 175</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 176</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 177</span>                <span class="k2">}</span>
<span class="number"> 178</span>
<span class="number"> 179</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<span class="k2">)</span> 
<span class="number"> 180</span>                <span class="k2">{</span>
<span class="number"> 181</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 182</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 183</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 184</span>                <span class="k2">}</span>
<span class="number"> 185</span>
<span class="number"> 186</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<span class="k2">)</span> 
<span class="number"> 187</span>                <span class="k2">{</span>
<span class="number"> 188</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 189</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRERENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 190</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 191</span>                <span class="k2">}</span>
<span class="number"> 192</span>
<span class="number"> 193</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<span class="k2">)</span> 
<span class="number"> 194</span>                <span class="k2">{</span>
<span class="number"> 195</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 196</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 197</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 198</span>                <span class="k2">}</span>
<span class="number"> 199</span>
<span class="number"> 200</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_CORRE<span class="k2">)</span> 
<span class="number"> 201</span>                <span class="k2">{</span>
<span class="number"> 202</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 203</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 204</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 205</span>                <span class="k2">}</span>
<span class="number"> 206</span>
<span class="number"> 207</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_CORRE<span class="k2">)</span> 
<span class="number"> 208</span>                <span class="k2">{</span>
<span class="number"> 209</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 210</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 211</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 212</span>                <span class="k2">}</span>
<span class="number"> 213</span>
<span class="number"> 214</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_ABRIGO<span class="k2">)</span> 
<span class="number"> 215</span>                <span class="k2">{</span>
<span class="number"> 216</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 217</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 218</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 219</span>                <span class="k2">}</span>
<span class="number"> 220</span>
<span class="number"> 221</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_ABRIGO<span class="k2">)</span> 
<span class="number"> 222</span>                <span class="k2">{</span>
<span class="number"> 223</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 224</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 225</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 226</span>                <span class="k2">}</span>
<span class="number"> 227</span>
<span class="number"> 228</span>                <span class="c">//DINO PULA O BURACO E COME A PLANTA</span>
<span class="number"> 229</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">)</span>
<span class="number"> 230</span>                <span class="k2">{</span>
<span class="number"> 231</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PAROU PARA COMER UMA PLANTA, E A DOR PASSOU. ENTRETANTO, A PLANTA DEIXOU DINO FICOU COM SONO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 232</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE COMEÇAR A CORRER (A) OU PARAR PARA DESCANSAR (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 233</span>                    gameState <span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">;</span> 
<span class="number"> 234</span>                <span class="k2">}</span>
<span class="number"> 235</span>
<span class="number"> 236</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 237</span>                <span class="k2">{</span>
<span class="number"> 238</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO COMEÇAR A CORRER MESMO SONOLENTO, E FICA BEM DEVAGAR. ASSIM, PERDEU MUITO TEMPO E O COMETA ESTÁ PRÓXIMO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 239</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 240</span>                    gameState <span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">;</span> 
<span class="number"> 241</span>                <span class="k2">}</span>
<span class="number"> 242</span>
<span class="number"> 243</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 244</span>                <span class="k2">{</span>
<span class="number"> 245</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PAROU PARA DESCANSAR, MAS PERDEU MUITO TEMPO. O METEORO ESTÁ PRÓXIMO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 246</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 247</span>                    gameState <span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">;</span> 
<span class="number"> 248</span>                <span class="k2">}</span>
<span class="number"> 249</span>
<span class="number"> 250</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">)</span> 
<span class="number"> 251</span>                <span class="k2">{</span>
<span class="number"> 252</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 253</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 254</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 255</span>                <span class="k2">}</span>
<span class="number"> 256</span>
<span class="number"> 257</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">)</span> 
<span class="number"> 258</span>                <span class="k2">{</span>
<span class="number"> 259</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 260</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 261</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 262</span>                <span class="k2">}</span>
<span class="number"> 263</span>
<span class="number"> 264</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 265</span>                <span class="k2">{</span>
<span class="number"> 266</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 267</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 268</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 269</span>                <span class="k2">}</span>
<span class="number"> 270</span>
<span class="number"> 271</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 272</span>                <span class="k2">{</span>
<span class="number"> 273</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 274</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 275</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 276</span>                <span class="k2">}</span>
<span class="number"> 277</span>
<span class="number"> 278</span>
<span class="number"> 279</span>                <span class="c">// CAI NO BURACO</span>
<span class="number"> 280</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">)</span>
<span class="number"> 281</span>                <span class="k2">{</span>
<span class="number"> 282</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO NÃO PULOU, E CAIU NO BURACO. DINO DEVE PEDIR AJUDA (A) OU SAIR DO BURACO CAVANDO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 283</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO<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="c">// CAI BURACO SAI COM AJUDA</span>
<span class="number"> 287</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO<span class="k2">)</span>
<span class="number"> 288</span>                <span class="k2">{</span>
<span class="number"> 289</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PEDIU AJUDA, MAS DEMOROU MUITO PARA AJUDA-LO, E PERDEU MUITO TEMPO. "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 290</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CORRER NORMALMENTE (A) OU CORRER O MAIS RÁPIDO POSSIVEL (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 291</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_AJUDA<span class="k2">;</span> 
<span class="number"> 292</span>                <span class="k2">}</span>
<span class="number"> 293</span>
<span class="number"> 294</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_AJUDA<span class="k2">)</span>
<span class="number"> 295</span>                <span class="k2">{</span>
<span class="number"> 296</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO NÃO ESTÁ CORRENDO RÁPIDO O SUFICIENTE, E O METEORO ESTÁ SE APROXIMANDO. "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 297</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO COMETA (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 298</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE<span class="k2">;</span> 
<span class="number"> 299</span>                <span class="k2">}</span>
<span class="number"> 300</span>
<span class="number"> 301</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE<span class="k2">)</span> 
<span class="number"> 302</span>                <span class="k2">{</span>
<span class="number"> 303</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 304</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 305</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 306</span>                <span class="k2">}</span>
<span class="number"> 307</span>
<span class="number"> 308</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE<span class="k2">)</span> 
<span class="number"> 309</span>                <span class="k2">{</span>
<span class="number"> 310</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 311</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 312</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 313</span>                <span class="k2">}</span>
<span class="number"> 314</span>
<span class="number"> 315</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 316</span>                <span class="k2">{</span>
<span class="number"> 317</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 318</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 319</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 320</span>                <span class="k2">}</span>
<span class="number"> 321</span>
<span class="number"> 322</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 323</span>                <span class="k2">{</span>
<span class="number"> 324</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 325</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 326</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 327</span>                <span class="k2">}</span>
<span class="number"> 328</span>
<span class="number"> 329</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_AJUDA<span class="k2">)</span>
<span class="number"> 330</span>                <span class="k2">{</span>
<span class="number"> 331</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTAVA CORRENDO MUITO RÁPIDO, E ACABOU TROPEÇANDO E CAINDO. COM ISSO, O METEORO ESTÁ CADA VEZ MAIS PRÓXIMO "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 332</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO COMETA (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 333</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO<span class="k2">;</span> 
<span class="number"> 334</span>                <span class="k2">}</span>
<span class="number"> 335</span>
<span class="number"> 336</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO<span class="k2">)</span> 
<span class="number"> 337</span>                <span class="k2">{</span>
<span class="number"> 338</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 339</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 340</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 341</span>                <span class="k2">}</span>
<span class="number"> 342</span>
<span class="number"> 343</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO<span class="k2">)</span> 
<span class="number"> 344</span>                <span class="k2">{</span>
<span class="number"> 345</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 346</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 347</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 348</span>                <span class="k2">}</span>
<span class="number"> 349</span>
<span class="number"> 350</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 351</span>                <span class="k2">{</span>
<span class="number"> 352</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 353</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 354</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 355</span>                <span class="k2">}</span>
<span class="number"> 356</span>
<span class="number"> 357</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 358</span>                <span class="k2">{</span>
<span class="number"> 359</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 360</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 361</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 362</span>                <span class="k2">}</span>
<span class="number"> 363</span>
<span class="number"> 364</span>                <span class="c">// CAI BURACO SAI CAVANDO</span>
<span class="number"> 365</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO<span class="k2">)</span>
<span class="number"> 366</span>                <span class="k2">{</span>
<span class="number"> 367</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO SAIU DO BURACO CAVANDO, MAS AGORA ESTÁ COM SEDE."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 368</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE IGNORAR A SEDE E COMEÇAR A CORRER (A) OU BEBER ÁGUA (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 369</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO<span class="k2">;</span> 
<span class="number"> 370</span>                <span class="k2">}</span>
<span class="number"> 371</span>
<span class="number"> 372</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO<span class="k2">)</span>
<span class="number"> 373</span>                <span class="k2">{</span>
<span class="number"> 374</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO COMEÇAR A CORRER COM SEDE, E ISSO O DEIXA MUITO LENTO. DESSA FORMA, O METEORO ESTÁ CADA VEZ MAIS PERTO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 375</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 376</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE<span class="k2">;</span> 
<span class="number"> 377</span>                <span class="k2">}</span>
<span class="number"> 378</span>
<span class="number"> 379</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO<span class="k2">)</span>
<span class="number"> 380</span>                <span class="k2">{</span>
<span class="number"> 381</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO VAI BEBER ÁGUA, MAS PERDE MUITO TEMPO. DESSA FORMA, O METEORO ESTÁ CADA VEZ MAIS PERTO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 382</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 383</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA<span class="k2">;</span> 
<span class="number"> 384</span>                <span class="k2">}</span>
<span class="number"> 385</span>
<span class="number"> 386</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE<span class="k2">)</span> 
<span class="number"> 387</span>                <span class="k2">{</span>
<span class="number"> 388</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 389</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 390</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 391</span>                <span class="k2">}</span>
<span class="number"> 392</span>
<span class="number"> 393</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE<span class="k2">)</span> 
<span class="number"> 394</span>                <span class="k2">{</span>
<span class="number"> 395</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 396</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 397</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 398</span>                <span class="k2">}</span>
<span class="number"> 399</span>
<span class="number"> 400</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA<span class="k2">)</span> 
<span class="number"> 401</span>                <span class="k2">{</span>
<span class="number"> 402</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 403</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 404</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 405</span>                <span class="k2">}</span>
<span class="number"> 406</span>
<span class="number"> 407</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA<span class="k2">)</span> 
<span class="number"> 408</span>                <span class="k2">{</span>
<span class="number"> 409</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 410</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 411</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 412</span>                <span class="k2">}</span>
<span class="number"> 413</span>
<span class="number"> 414</span>
<span class="number"> 415</span>                
<span class="number"> 416</span>
<span class="number"> 417</span>                <span class="c">//HERE WE USE A SINLE KEY (BACKSPACE), AND THEN USE IF/ELSE TO DO DIFFERENT THINGS, DEPENDING ON THE STATE...</span>
<span class="number"> 418</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_BACKSPACE<span class="k2">)</span>
<span class="number"> 419</span>                <span class="k2">{</span>
<span class="number"> 420</span>                    <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">)</span> <span class="c">//IF WE HAVE ONLY PRESSED ENTER...</span>
<span class="number"> 421</span>                    <span class="k2">{</span>
<span class="number"> 422</span>                        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>dino_apresentacao, <span class="n">70</span>, <span class="n">100</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 423</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PRESSIONE ENTER PARA COMEÇAR O JOGO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 424</span>                        gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "START"</span>
<span class="number"> 425</span>                    <span class="k2">}</span>
<span class="number"> 426</span>
<span class="number"> 427</span>                    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">)</span> <span class="c">//ELSE IF WE HAVE PRESSED A OR B...</span>
<span class="number"> 428</span>                    <span class="k2">{</span>
<span class="number"> 429</span>                        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>dino_apresentacao, <span class="n">70</span>, <span class="n">100</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 430</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PARA JOGAR NOVAMENTE, APERTE O BOTÃO DE ESPAÇO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 431</span>                        gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "PRESSED ENTER"</span>
<span class="number"> 432</span>                    <span class="k2">}</span>
<span class="number"> 433</span>                <span class="k2">}</span>
<span class="number"> 434</span>
<span class="number"> 435</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">!</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 436</span>                <span class="k2">{</span>
<span class="number"> 437</span>                    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 438</span>                <span class="k2">}</span>
<span class="number"> 439</span>            <span class="k2">}</span>
<span class="number"> 440</span>
<span class="number"> 441</span>            <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 442</span>            <span class="k2">{</span>
<span class="number"> 443</span>                done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 444</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 445</span>            <span class="k2">}</span>
<span class="number"> 446</span>        <span class="k2">}</span>
<span class="number"> 447</span>
<span class="number"> 448</span>        <span class="k1">if</span><span class="k2">(</span>done<span class="k2">)</span>
<span class="number"> 449</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 450</span>
<span class="number"> 451</span>        <span class="k1">if</span><span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 452</span>        <span class="k2">{</span>
<span class="number"> 453</span>            <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 454</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">100</span>, <span class="n">500</span>, <span class="n">0</span>, text<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 455</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">300</span>, <span class="n">550</span>, <span class="n">0</span>, text1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 456</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"> 457</span>
<span class="number"> 458</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 459</span>        <span class="k2">}</span>
<span class="number"> 460</span>
<span class="number"> 461</span>    <span class="k2">}</span>
<span class="number"> 462</span>
<span class="number"> 463</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>dino_apresentacao<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 464</span>    <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 465</span>    <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 466</span>    <a href="http://www.allegro.cc/manual/al_destroy_audio_stream"><span class="a">al_destroy_audio_stream</span></a><span class="k2">(</span>music<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 467</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"> 468</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>queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 469</span>
<span class="number"> 470</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 471</span><span class="k2">}</span>
</div></div><p>

Many thanks
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (mayna azevedo)</author>
		<pubDate>Wed, 19 May 2021 01:13:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Are you also linking the ttf addon library? Sorry, I don&#39;t use Linux, so not exactly sure. </p><p>There are 2 libraries: allegro_font &amp; allegro_ttf</p><p>You have this line twice<br />must_init(al_init_image_addon(), &quot;image addon&quot;);</p><p>enums vs defines for game states?</p><p>Also why so many else ifs?</p><p>condense some of that. Use switch statements or a separate function if a is pressed vs b is pressed.
</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><a href="http://www.allegro.cc/manual/keypressed"><span class="a">keypressed</span></a><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>key_enter<span class="k2">)</span><span class="k2">{</span><span class="k2">}</span>
<span class="number">  4</span>
<span class="number">  5</span><span class="k1">if</span> <span class="k2">(</span>key_a<span class="k2">)</span> gamestate <span class="k3">=</span> a_was_pressed<span class="k2">(</span>gamestate<span class="k2">)</span><span class="k2">;</span>
<span class="number">  6</span><span class="k1">if</span> <span class="k2">(</span>key_b<span class="k2">)</span> gamestate <span class="k3">=</span> b_was_pressed<span class="k2">(</span>gamestate<span class="k2">)</span><span class="k2">;</span>
<span class="number">  7</span><span class="k2">}</span>
<span class="number">  8</span>
<span class="number">  9</span><span class="k1">int</span> a_was_pressed<span class="k2">(</span><span class="k1">int</span> gamestate<span class="k2">)</span>
<span class="number"> 10</span><span class="k2">{</span>
<span class="number"> 11</span>    <span class="k1">switch</span> <span class="k2">(</span>gamestate<span class="k2">)</span>
<span class="number"> 12</span>    <span class="k2">{</span>
<span class="number"> 13</span>        <span class="k1">case</span> STATE_PRESSED_BURACO:
<span class="number"> 14</span>               <span class="k1">return</span> STATE_PRESSED_PULA_BURACO<span class="k2">;</span>
<span class="number"> 15</span>
<span class="number"> 16</span>         <span class="k1">case</span> STATE_PRESSED_PULA_BURACO: <span class="k1">return</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">;</span>
<span class="number"> 17</span>
<span class="number"> 18</span><span class="c">///... etc</span>
<span class="number"> 19</span>
<span class="number"> 20</span>
<span class="number"> 21</span>    <span class="k2">}</span>
<span class="number"> 22</span>
<span class="number"> 23</span>    <span class="k1">return</span> gamestate<span class="k2">;</span>
<span class="number"> 24</span><span class="k2">}</span>
</div></div><p>

also, since you are hard coding your text, why not do something like this?</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">char</span> <span class="k3">*</span>text <span class="k3">=</span> <span class="s">"PRESSIONE ENTER PARA COMEÇAR O JOGO"</span><span class="k2">;</span>
<span class="k1">char</span> <span class="k3">*</span>text1 <span class="k3">=</span> <span class="s">""</span><span class="k2">;</span>

<span class="c">//later in code switch from this</span>
                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PERCEBE UM METEORO VINDO EM SUA DIREÇÃO E COMEÇA A FUGIR. LOGO A SUA FRENTE, DINO VÊ UM BURACO!"</span><span class="k2">)</span><span class="k2">;</span>
                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO PULAR O BURACO (A) OU IGNORAR O BURACO (B)?"</span><span class="k2">)</span><span class="k2">;</span>

<span class="c">// to this</span>
text <span class="k3">=</span> <span class="s">"DINO PERCEBE UM METEORO VINDO EM SUA DIREÇÃO E COMEÇA A FUGIR. LOGO A SUA FRENTE, DINO VÊ UM BURACO!"</span><span class="k2">;</span>
text1 <span class="k3">=</span> <span class="s">"DINO PULAR O BURACO (A) OU IGNORAR O BURACO (B)?"</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Wed, 19 May 2021 01:20:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>@DanielH, I removed the second line: must_init(al_init_image_addon(), &quot;image addon&quot;);</p><p>You ask about all the if(), soooo... I really don&#39;t know what I am doing, so I did the logic based on what the great @Dizzy Egg explain to me, and work. It may not be the most beautiful, but it works. </p><p>But the font is not working, it give the follow error:</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>jogo_dino_allegro.c: In function main<span class="k2">:</span>
<span class="number">  3</span>jogo_dino_allegro.c:79:19: error: redefinition of <a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>
<span class="number">  4</span>   <span class="n">79</span> <span class="k3">|</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">"Antonio-Bold.ttf"</span>, <span class="n">14</span>, ALLEGRO_ALIGN_LEFT<span class="k2">)</span><span class="k2">;</span> <span class="c">//NOW WE CAN CHOOSE SIZE</span>
<span class="number">  5</span>      <span class="k3">|</span>                   ^~~~
<span class="number">  6</span>jogo_dino_allegro.c:76:19: note: previous definition of <a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a> was here
<span class="number">  7</span>   <span class="n">76</span> <span class="k3">|</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> al_create_builtin_font<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  8</span>      <span class="k3">|</span>                   ^~~~
</div></div><p>

The part to return to begining of the game is not work.</p><p>The complete 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">   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;allegro5/allegro5.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_font.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_audio.h&gt; // biblioteca de som</span>
<span class="number">   9</span><span class="p">#include &lt;allegro5/allegro_acodec.h&gt;</span>
<span class="number">  10</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt; // permite colocar formas simples, linhas, pontos, etc. (formas primitivas)</span>
<span class="number">  11</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt; //NEED FOR TTF FONTS</span>
<span class="number">  12</span>
<span class="number">  13</span><span class="c">//HERE ARE THE GAME STATES, WE NEED TO KNOW WHAT "STATE" THE GAME IS IN...</span>
<span class="number">  14</span><span class="p">#define STATE_START 1</span>
<span class="number">  15</span><span class="p">#define STATE_PRESSED_BURACO 2</span>
<span class="number">  16</span><span class="p">#define STATE_PRESSED_PULA_BURACO 3</span>
<span class="number">  17</span><span class="p">#define STATE_PRESSED_CAI_BURACO 4</span>
<span class="number">  18</span><span class="p">#define STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE 5</span>
<span class="number">  19</span><span class="p">#define STATE_PRESSED_SONO_DESCANSA_OU_CORRE 6</span>
<span class="number">  20</span><span class="p">#define STATE_PRESSED_MACHUCADO_CORRE 7</span>
<span class="number">  21</span><span class="p">#define STATE_PRESSED_MACHUCADO_DESCANSA 8</span>
<span class="number">  22</span><span class="p">#define STATE_PRESSED_GAME_OVER 9</span>
<span class="number">  23</span><span class="p">#define STATE_PRESSED_SONO_CORRE 10</span>
<span class="number">  24</span><span class="p">#define STATE_PRESSED_SONO_DESCANSA 11</span>
<span class="number">  25</span><span class="p">#define STATE_PRESSED_CAI_BURACO_AJUDA 12</span>
<span class="number">  26</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CORRE 13</span>
<span class="number">  27</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO 14</span>
<span class="number">  28</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CAVANDO 15</span>
<span class="number">  29</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE 16</span>
<span class="number">  30</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA 17</span>
<span class="number">  31</span><span class="p">#define STATE_CORRE 18</span>
<span class="number">  32</span><span class="p">#define STATE_ABRIGO 19</span>
<span class="number">  33</span>
<span class="number">  34</span><span class="k1">int</span> gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//HERE IS OUR STARTING STATE, WE CAN CHANGE THIS TO USE IN OUR "IF"</span>
<span class="number">  35</span>
<span class="number">  36</span>
<span class="number">  37</span><span class="k1">char</span> text<span class="k2">[</span><span class="n">255</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">"PRESSIONE ENTER PARA COMEÇAR O JOGO"</span><span class="k2">;</span>
<span class="number">  38</span><span class="k1">char</span> text1<span class="k2">[</span><span class="n">255</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">" "</span><span class="k2">;</span>
<span class="number">  39</span>
<span class="number">  40</span><span class="k1">void</span> must_init<span class="k2">(</span><span class="k1">bool</span> test, <span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>description<span class="k2">)</span><span class="k2">{</span>
<span class="number">  41</span>    <span class="k1">if</span><span class="k2">(</span>test<span class="k2">)</span> <span class="k1">return</span><span class="k2">;</span>
<span class="number">  42</span>
<span class="number">  43</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"couldn't initialize %s\n"</span>, description<span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span><span class="k2">}</span>
<span class="number">  46</span>
<span class="number">  47</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  48</span>    must_init<span class="k2">(</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="s">"allegro"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// auxilia o must_init(), evitar de colocar instruções a mais par averificar erros.</span>
<span class="number">  49</span>    must_init<span class="k2">(</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="s">"keyboard"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  50</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span>, <span class="s">"mouse"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// instalando o mouse</span>
<span class="number">  51</span>
<span class="number">  52</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">30</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  53</span>    must_init<span class="k2">(</span>timer, <span class="s">"timer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  54</span>
<span class="number">  55</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> gameOverTimer <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">3</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//Game Over timer will last 3 seconds</span>
<span class="number">  56</span>    must_init<span class="k2">(</span>gameOverTimer, <span class="s">"gameOverTimer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</span>
<span class="number">  58</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a><span class="k3">*</span> 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">  59</span>    must_init<span class="k2">(</span>queue, <span class="s">"queue"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  60</span>
<span class="number">  61</span>     <span class="c">// Permite que as formas e linhas tenham maior definição, deixar mais suave</span>
<span class="number">  62</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  63</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">8</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  64</span>    <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>ALLEGRO_MIN_LINEAR <span class="k3">|</span> ALLEGRO_MAG_LINEAR<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  65</span>
<span class="number">  66</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a><span class="k3">*</span> disp <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><span class="n">1200</span>, <span class="n">800</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  67</span>    must_init<span class="k2">(</span>disp, <span class="s">"display"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  68</span>
<span class="number">  69</span>    <span class="c">// add novo</span>
<span class="number">  70</span>    <span class="c">/*</span>
<span class="number">  71</span><span class="c">    ALLEGRO_FONT* font = al_create_builtin_font();</span>
<span class="number">  72</span><span class="c">    must_init(font, "font");</span>
<span class="number">  73</span><span class="c"></span>
<span class="number">  74</span><span class="c">    ALLEGRO_FONT* font1 = al_create_builtin_font();</span>
<span class="number">  75</span><span class="c">    must_init(font1, "font1");</span>
<span class="number">  76</span><span class="c">    */</span>
<span class="number">  77</span>
<span class="number">  78</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> al_create_builtin_font<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  79</span>    must_init<span class="k2">(</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="s">"font"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//WE NEED TO INIT FONT FIRST!</span>
<span class="number">  80</span>    must_init<span class="k2">(</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="s">"ttf font"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//THEN WE NEED TO INIT TTF FONTS</span>
<span class="number">  81</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">"Antonio-Bold.ttf"</span>, <span class="n">14</span>, ALLEGRO_ALIGN_LEFT<span class="k2">)</span><span class="k2">;</span> <span class="c">//NOW WE CAN CHOOSE SIZE</span>
<span class="number">  82</span>
<span class="number">  83</span>    must_init<span class="k2">(</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="s">"primitives"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Para inserir linhas, formas e pontos no código</span>
<span class="number">  84</span>
<span class="number">  85</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">  86</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>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">  87</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>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>disp<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  88</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>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">  89</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>queue, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">// adicionado para o mouse funcionar</span>
<span class="number">  90</span>
<span class="number">  91</span>    <span class="c">// imagens</span>
<span class="number">  92</span>    must_init<span class="k2">(</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="s">"image addon"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  93</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> dino_apresentacao <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">"dino_apresentacao.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  94</span>    must_init<span class="k2">(</span>dino_apresentacao, <span class="s">"dino_apresentacao"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  95</span>
<span class="number">  96</span>    <span class="c">// adicionando o audio ao jogo</span>
<span class="number">  97</span>    must_init<span class="k2">(</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="s">"audio"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  98</span>    must_init<span class="k2">(</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="s">"audio codecs"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  99</span>    must_init<span class="k2">(</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">16</span><span class="k2">)</span>, <span class="s">"reserve samples"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 100</span>
<span class="number"> 101</span>    <span class="c">// para música longa</span>
<span class="number"> 102</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_AUDIO_STREAM"><span class="a">ALLEGRO_AUDIO_STREAM</span></a><span class="k3">*</span> music <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_audio_stream"><span class="a">al_load_audio_stream</span></a><span class="k2">(</span><span class="s">"music.opus"</span>, <span class="n">2</span>, <span class="n">2048</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// os números são referentes as áreas da memoria onde a musica sera armazenada. não mudar</span>
<span class="number"> 103</span>    must_init<span class="k2">(</span>music, <span class="s">"music"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 104</span>    <a href="http://www.allegro.cc/manual/al_set_audio_stream_playmode"><span class="a">al_set_audio_stream_playmode</span></a><span class="k2">(</span>music, ALLEGRO_PLAYMODE_LOOP<span class="k2">)</span><span class="k2">;</span> <span class="c">// música em loop</span>
<span class="number"> 105</span>    <a href="http://www.allegro.cc/manual/al_attach_audio_stream_to_mixer"><span class="a">al_attach_audio_stream_to_mixer</span></a><span class="k2">(</span>music, <a href="http://www.allegro.cc/manual/al_get_default_mixer"><span class="a">al_get_default_mixer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// linha para o som sair, senão tem sai</span>
<span class="number"> 106</span>
<span class="number"> 107</span>    <span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 108</span>    <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 109</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number"> 110</span>
<span class="number"> 111</span>    <span class="p">#define KEY_SEEN     1</span>
<span class="number"> 112</span>    <span class="p">#define KEY_RELEASED 2</span>
<span class="number"> 113</span>
<span class="number"> 114</span>    <span class="k1">unsigned</span> <span class="k1">char</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>ALLEGRO_KEY_MAX<span class="k2">]</span><span class="k2">;</span>
<span class="number"> 115</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_569.html" target="_blank">memset</a><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a>, <span class="n">0</span>, <span class="k1">sizeof</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 116</span>    <a href="http://www.allegro.cc/manual/al_hide_mouse_cursor"><span class="a">al_hide_mouse_cursor</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 117</span>
<span class="number"> 118</span>
<span class="number"> 119</span>
<span class="number"> 120</span>    <span class="k1">while</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">{</span>
<span class="number"> 121</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>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 122</span>
<span class="number"> 123</span>        <span class="k1">switch</span><span class="k2">(</span>event.type<span class="k2">)</span>
<span class="number"> 124</span>        <span class="k2">{</span>
<span class="number"> 125</span>            <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number"> 126</span>            <span class="k2">{</span>
<span class="number"> 127</span>                redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 128</span>
<span class="number"> 129</span>                <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_get_timer_count"><span class="a">al_get_timer_count</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span> <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span> <span class="c">//IF STATE IS GAME OVER AND TIMER HAS TICKED AT LEAST ONCE...</span>
<span class="number"> 130</span>                <span class="k2">{</span>
<span class="number"> 131</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"RECOMEÇANDO O JOGO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 132</span>                    gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "START"</span>
<span class="number"> 133</span>
<span class="number"> 134</span>                    <span class="c">//RESET THE GAME OVER TIMER!</span>
<span class="number"> 135</span>                    <a href="http://www.allegro.cc/manual/al_stop_timer"><span class="a">al_stop_timer</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 136</span>                    <a href="http://www.allegro.cc/manual/al_set_timer_count"><span class="a">al_set_timer_count</span></a><span class="k2">(</span>gameOverTimer, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 137</span>                <span class="k2">}</span>
<span class="number"> 138</span>
<span class="number"> 139</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 140</span>            <span class="k2">}</span>
<span class="number"> 141</span>
<span class="number"> 142</span>            <span class="k1">case</span> ALLEGRO_EVENT_KEY_CHAR:
<span class="number"> 143</span>            <span class="k2">{</span>
<span class="number"> 144</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ENTER <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_START<span class="k2">)</span> <span class="c">//IF WE PRESS ENTER WHEN STATE IS "START"....</span>
<span class="number"> 145</span>                <span class="k2">{</span>
<span class="number"> 146</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PERCEBE UM METEORO VINDO EM SUA DIREÇÃO E COMEÇA A FUGIR. LOGO A SUA FRENTE, DINO VÊ UM BURACO!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 147</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO PULAR O BURACO (A) OU IGNORAR O BURACO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 148</span>                    gameState <span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED ENTER"</span>
<span class="number"> 149</span>
<span class="number"> 150</span>                <span class="k2">}</span>
<span class="number"> 151</span>                <span class="c">// PULA BURACO </span>
<span class="number"> 152</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">)</span> 
<span class="number"> 153</span>                <span class="k2">{</span>
<span class="number"> 154</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PULOU O BURACO, MAS MACHUCOU A PATINHA!!! "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 155</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO (A), MESMO MACHUCADO, OU COMER UMA PLANTA MEDICINAL (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 156</span>                    gameState <span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">;</span>
<span class="number"> 157</span>                <span class="k2">}</span>
<span class="number"> 158</span>                
<span class="number"> 159</span>                <span class="c">// DINO PULA BURACO E CORRE</span>
<span class="number"> 160</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">)</span> 
<span class="number"> 161</span>                <span class="k2">{</span>
<span class="number"> 162</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO, MESMO MACHUCADO, CONTINUOU CORRENDO. ENTRETANTO, ESTÁ CORRENDO MUITO DEVAGAR!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 163</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO MACHUCADO (A) OU DESCANSAR PARA SARAR A PATINHA (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 164</span>                    gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">;</span> 
<span class="number"> 165</span>                <span class="k2">}</span>
<span class="number"> 166</span>
<span class="number"> 167</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 168</span>                <span class="k2">{</span>
<span class="number"> 169</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUOU CORRENDO, MAS SUA VELOCIDADE AINDA É BAIXA. DESSA FORMA, O METEORO ESTÁ CADA VEZ MAIS PRÓXIMO!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 170</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 171</span>                    gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<span class="k2">;</span> 
<span class="number"> 172</span>                <span class="k2">}</span>
<span class="number"> 173</span>
<span class="number"> 174</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">)</span> 
<span class="number"> 175</span>                <span class="k2">{</span>
<span class="number"> 176</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PAROU PARA DESCANSAR, MAS PERDEU MUITO TEMPO E O METEORO ESTÁ PRÓXIMO!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 177</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 178</span>                    gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<span class="k2">;</span>
<span class="number"> 179</span>                <span class="k2">}</span>
<span class="number"> 180</span>
<span class="number"> 181</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<span class="k2">)</span> 
<span class="number"> 182</span>                <span class="k2">{</span>
<span class="number"> 183</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 184</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 185</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 186</span>                <span class="k2">}</span>
<span class="number"> 187</span>
<span class="number"> 188</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<span class="k2">)</span> 
<span class="number"> 189</span>                <span class="k2">{</span>
<span class="number"> 190</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 191</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 192</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 193</span>                <span class="k2">}</span>
<span class="number"> 194</span>
<span class="number"> 195</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<span class="k2">)</span> 
<span class="number"> 196</span>                <span class="k2">{</span>
<span class="number"> 197</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 198</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRERENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 199</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 200</span>                <span class="k2">}</span>
<span class="number"> 201</span>
<span class="number"> 202</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<span class="k2">)</span> 
<span class="number"> 203</span>                <span class="k2">{</span>
<span class="number"> 204</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 205</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 206</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 207</span>                <span class="k2">}</span>
<span class="number"> 208</span>
<span class="number"> 209</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_CORRE<span class="k2">)</span> 
<span class="number"> 210</span>                <span class="k2">{</span>
<span class="number"> 211</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 212</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 213</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 214</span>                <span class="k2">}</span>
<span class="number"> 215</span>
<span class="number"> 216</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_CORRE<span class="k2">)</span> 
<span class="number"> 217</span>                <span class="k2">{</span>
<span class="number"> 218</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 219</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 220</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 221</span>                <span class="k2">}</span>
<span class="number"> 222</span>
<span class="number"> 223</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_ABRIGO<span class="k2">)</span> 
<span class="number"> 224</span>                <span class="k2">{</span>
<span class="number"> 225</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 226</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 227</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 228</span>                <span class="k2">}</span>
<span class="number"> 229</span>
<span class="number"> 230</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_ABRIGO<span class="k2">)</span> 
<span class="number"> 231</span>                <span class="k2">{</span>
<span class="number"> 232</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 233</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 234</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 235</span>                <span class="k2">}</span>
<span class="number"> 236</span>
<span class="number"> 237</span>                <span class="c">//DINO PULA O BURACO E COME A PLANTA</span>
<span class="number"> 238</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">)</span>
<span class="number"> 239</span>                <span class="k2">{</span>
<span class="number"> 240</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PAROU PARA COMER UMA PLANTA, E A DOR PASSOU. ENTRETANTO, A PLANTA DEIXOU DINO FICOU COM SONO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 241</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE COMEÇAR A CORRER (A) OU PARAR PARA DESCANSAR (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 242</span>                    gameState <span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">;</span> 
<span class="number"> 243</span>                <span class="k2">}</span>
<span class="number"> 244</span>
<span class="number"> 245</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 246</span>                <span class="k2">{</span>
<span class="number"> 247</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO COMEÇAR A CORRER MESMO SONOLENTO, E FICA BEM DEVAGAR. ASSIM, PERDEU MUITO TEMPO E O COMETA ESTÁ PRÓXIMO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 248</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 249</span>                    gameState <span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">;</span> 
<span class="number"> 250</span>                <span class="k2">}</span>
<span class="number"> 251</span>
<span class="number"> 252</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 253</span>                <span class="k2">{</span>
<span class="number"> 254</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PAROU PARA DESCANSAR, MAS PERDEU MUITO TEMPO. O METEORO ESTÁ PRÓXIMO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 255</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 256</span>                    gameState <span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">;</span> 
<span class="number"> 257</span>                <span class="k2">}</span>
<span class="number"> 258</span>
<span class="number"> 259</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">)</span> 
<span class="number"> 260</span>                <span class="k2">{</span>
<span class="number"> 261</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 262</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 263</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 264</span>                <span class="k2">}</span>
<span class="number"> 265</span>
<span class="number"> 266</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">)</span> 
<span class="number"> 267</span>                <span class="k2">{</span>
<span class="number"> 268</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 269</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 270</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 271</span>                <span class="k2">}</span>
<span class="number"> 272</span>
<span class="number"> 273</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 274</span>                <span class="k2">{</span>
<span class="number"> 275</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 276</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 277</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 278</span>                <span class="k2">}</span>
<span class="number"> 279</span>
<span class="number"> 280</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 281</span>                <span class="k2">{</span>
<span class="number"> 282</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 283</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 284</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 285</span>                <span class="k2">}</span>
<span class="number"> 286</span>
<span class="number"> 287</span>
<span class="number"> 288</span>                <span class="c">// CAI NO BURACO</span>
<span class="number"> 289</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">)</span>
<span class="number"> 290</span>                <span class="k2">{</span>
<span class="number"> 291</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO NÃO PULOU, E CAIU NO BURACO. DINO DEVE PEDIR AJUDA (A) OU SAIR DO BURACO CAVANDO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 292</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO<span class="k2">;</span> 
<span class="number"> 293</span>                <span class="k2">}</span>
<span class="number"> 294</span>
<span class="number"> 295</span>                <span class="c">// CAI BURACO SAI COM AJUDA</span>
<span class="number"> 296</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO<span class="k2">)</span>
<span class="number"> 297</span>                <span class="k2">{</span>
<span class="number"> 298</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PEDIU AJUDA, MAS DEMOROU MUITO PARA AJUDA-LO, E PERDEU MUITO TEMPO. "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 299</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CORRER NORMALMENTE (A) OU CORRER O MAIS RÁPIDO POSSIVEL (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 300</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_AJUDA<span class="k2">;</span> 
<span class="number"> 301</span>                <span class="k2">}</span>
<span class="number"> 302</span>
<span class="number"> 303</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_AJUDA<span class="k2">)</span>
<span class="number"> 304</span>                <span class="k2">{</span>
<span class="number"> 305</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO NÃO ESTÁ CORRENDO RÁPIDO O SUFICIENTE, E O METEORO ESTÁ SE APROXIMANDO. "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 306</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO COMETA (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 307</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE<span class="k2">;</span> 
<span class="number"> 308</span>                <span class="k2">}</span>
<span class="number"> 309</span>
<span class="number"> 310</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE<span class="k2">)</span> 
<span class="number"> 311</span>                <span class="k2">{</span>
<span class="number"> 312</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 313</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 314</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 315</span>                <span class="k2">}</span>
<span class="number"> 316</span>
<span class="number"> 317</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE<span class="k2">)</span> 
<span class="number"> 318</span>                <span class="k2">{</span>
<span class="number"> 319</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 320</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 321</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 322</span>                <span class="k2">}</span>
<span class="number"> 323</span>
<span class="number"> 324</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 325</span>                <span class="k2">{</span>
<span class="number"> 326</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 327</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 328</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 329</span>                <span class="k2">}</span>
<span class="number"> 330</span>
<span class="number"> 331</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 332</span>                <span class="k2">{</span>
<span class="number"> 333</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 334</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 335</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 336</span>                <span class="k2">}</span>
<span class="number"> 337</span>
<span class="number"> 338</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_AJUDA<span class="k2">)</span>
<span class="number"> 339</span>                <span class="k2">{</span>
<span class="number"> 340</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTAVA CORRENDO MUITO RÁPIDO, E ACABOU TROPEÇANDO E CAINDO. COM ISSO, O METEORO ESTÁ CADA VEZ MAIS PRÓXIMO "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 341</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO COMETA (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 342</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO<span class="k2">;</span> 
<span class="number"> 343</span>                <span class="k2">}</span>
<span class="number"> 344</span>
<span class="number"> 345</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO<span class="k2">)</span> 
<span class="number"> 346</span>                <span class="k2">{</span>
<span class="number"> 347</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 348</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 349</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 350</span>                <span class="k2">}</span>
<span class="number"> 351</span>
<span class="number"> 352</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO<span class="k2">)</span> 
<span class="number"> 353</span>                <span class="k2">{</span>
<span class="number"> 354</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 355</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 356</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 357</span>                <span class="k2">}</span>
<span class="number"> 358</span>
<span class="number"> 359</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 360</span>                <span class="k2">{</span>
<span class="number"> 361</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 362</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 363</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 364</span>                <span class="k2">}</span>
<span class="number"> 365</span>
<span class="number"> 366</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 367</span>                <span class="k2">{</span>
<span class="number"> 368</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 369</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 370</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 371</span>                <span class="k2">}</span>
<span class="number"> 372</span>
<span class="number"> 373</span>                <span class="c">// CAI BURACO SAI CAVANDO</span>
<span class="number"> 374</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO<span class="k2">)</span>
<span class="number"> 375</span>                <span class="k2">{</span>
<span class="number"> 376</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO SAIU DO BURACO CAVANDO, MAS AGORA ESTÁ COM SEDE."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 377</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE IGNORAR A SEDE E COMEÇAR A CORRER (A) OU BEBER ÁGUA (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 378</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO<span class="k2">;</span> 
<span class="number"> 379</span>                <span class="k2">}</span>
<span class="number"> 380</span>
<span class="number"> 381</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO<span class="k2">)</span>
<span class="number"> 382</span>                <span class="k2">{</span>
<span class="number"> 383</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO COMEÇAR A CORRER COM SEDE, E ISSO O DEIXA MUITO LENTO. DESSA FORMA, O METEORO ESTÁ CADA VEZ MAIS PERTO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 384</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 385</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE<span class="k2">;</span> 
<span class="number"> 386</span>                <span class="k2">}</span>
<span class="number"> 387</span>
<span class="number"> 388</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO<span class="k2">)</span>
<span class="number"> 389</span>                <span class="k2">{</span>
<span class="number"> 390</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO VAI BEBER ÁGUA, MAS PERDE MUITO TEMPO. DESSA FORMA, O METEORO ESTÁ CADA VEZ MAIS PERTO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 391</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 392</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA<span class="k2">;</span> 
<span class="number"> 393</span>                <span class="k2">}</span>
<span class="number"> 394</span>
<span class="number"> 395</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE<span class="k2">)</span> 
<span class="number"> 396</span>                <span class="k2">{</span>
<span class="number"> 397</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 398</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 399</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 400</span>                <span class="k2">}</span>
<span class="number"> 401</span>
<span class="number"> 402</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE<span class="k2">)</span> 
<span class="number"> 403</span>                <span class="k2">{</span>
<span class="number"> 404</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 405</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 406</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 407</span>                <span class="k2">}</span>
<span class="number"> 408</span>
<span class="number"> 409</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA<span class="k2">)</span> 
<span class="number"> 410</span>                <span class="k2">{</span>
<span class="number"> 411</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 412</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 413</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 414</span>                <span class="k2">}</span>
<span class="number"> 415</span>
<span class="number"> 416</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA<span class="k2">)</span> 
<span class="number"> 417</span>                <span class="k2">{</span>
<span class="number"> 418</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 419</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 420</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 421</span>                <span class="k2">}</span>
<span class="number"> 422</span>
<span class="number"> 423</span>
<span class="number"> 424</span>                
<span class="number"> 425</span>
<span class="number"> 426</span>                <span class="c">//HERE WE USE A SINLE KEY (BACKSPACE), AND THEN USE IF/ELSE TO DO DIFFERENT THINGS, DEPENDING ON THE STATE...</span>
<span class="number"> 427</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_BACKSPACE<span class="k2">)</span>
<span class="number"> 428</span>                <span class="k2">{</span>
<span class="number"> 429</span>                    <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">)</span> <span class="c">//IF WE HAVE ONLY PRESSED ENTER...</span>
<span class="number"> 430</span>                    <span class="k2">{</span>
<span class="number"> 431</span>                        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>dino_apresentacao, <span class="n">70</span>, <span class="n">100</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 432</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PRESSIONE ENTER PARA COMEÇAR O JOGO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 433</span>                        gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "START"</span>
<span class="number"> 434</span>                    <span class="k2">}</span>
<span class="number"> 435</span>
<span class="number"> 436</span>                    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">)</span> <span class="c">//ELSE IF WE HAVE PRESSED A OR B...</span>
<span class="number"> 437</span>                    <span class="k2">{</span>
<span class="number"> 438</span>                        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>dino_apresentacao, <span class="n">70</span>, <span class="n">100</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 439</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PARA JOGAR NOVAMENTE, APERTE O BOTÃO DE ESPAÇO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 440</span>                        gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "PRESSED ENTER"</span>
<span class="number"> 441</span>                    <span class="k2">}</span>
<span class="number"> 442</span>                <span class="k2">}</span>
<span class="number"> 443</span>
<span class="number"> 444</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">!</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 445</span>                <span class="k2">{</span>
<span class="number"> 446</span>                    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 447</span>                <span class="k2">}</span>
<span class="number"> 448</span>            <span class="k2">}</span>
<span class="number"> 449</span>
<span class="number"> 450</span>            <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 451</span>            <span class="k2">{</span>
<span class="number"> 452</span>                done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 453</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 454</span>            <span class="k2">}</span>
<span class="number"> 455</span>        <span class="k2">}</span>
<span class="number"> 456</span>
<span class="number"> 457</span>        <span class="k1">if</span><span class="k2">(</span>done<span class="k2">)</span>
<span class="number"> 458</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 459</span>
<span class="number"> 460</span>        <span class="k1">if</span><span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 461</span>        <span class="k2">{</span>
<span class="number"> 462</span>            <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 463</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">100</span>, <span class="n">500</span>, <span class="n">0</span>, text<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 464</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">300</span>, <span class="n">550</span>, <span class="n">0</span>, text1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 465</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"> 466</span>
<span class="number"> 467</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 468</span>        <span class="k2">}</span>
<span class="number"> 469</span>
<span class="number"> 470</span>    <span class="k2">}</span>
<span class="number"> 471</span>
<span class="number"> 472</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>dino_apresentacao<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 473</span>    <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 474</span>    <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 475</span>    <a href="http://www.allegro.cc/manual/al_destroy_audio_stream"><span class="a">al_destroy_audio_stream</span></a><span class="k2">(</span>music<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 476</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"> 477</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>queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 478</span>
<span class="number"> 479</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 480</span><span class="k2">}</span>
</div></div><p>

Thanks soooooo much.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (mayna azevedo)</author>
		<pubDate>Wed, 19 May 2021 02:44:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code snippet"><div class="inner"><pre>    <span class="c">//ALLEGRO_FONT* font = al_create_builtin_font();</span>
    must_init<span class="k2">(</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="s">"font"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//WE NEED TO INIT FONT FIRST!</span>
    must_init<span class="k2">(</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="s">"ttf font"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//THEN WE NEED TO INIT TTF FONTS</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">"Antonio-Bold.ttf"</span>, <span class="n">14</span>, ALLEGRO_ALIGN_LEFT<span class="k2">)</span><span class="k2">;</span> <span class="c">//NOW WE CAN CHOOSE SIZE</span>
</pre></div></div><p>

You are defining font twice. Lose the first one.</p><div class="quote_container"><div class="title"><a href="https://www.allegro.cc/forums/revision/1049985">mayna azevedo</a> said:</div><div class="quote"><p>The part to return to begining of the game is not work.</p></div></div><p>

Not sure what you mean by this? return to beginning when? When game over, you stop timer, but reset it to 0. why reset it if it is stopped? Are should you not stop it, but reset it 0?</p><p>Look at this. 
</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">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_BACKSPACE<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>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">)</span> <span class="c">//IF WE HAVE ONLY PRESSED ENTER...</span>
<span class="number">  4</span>                    <span class="k2">{</span>
<span class="number">  5</span>                        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>dino_apresentacao, <span class="n">70</span>, <span class="n">100</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  6</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PRESSIONE ENTER PARA COMEÇAR O JOGO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  7</span>                        gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "START"</span>
<span class="number">  8</span>                    <span class="k2">}</span>
<span class="number">  9</span>
<span class="number"> 10</span>                    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">)</span> <span class="c">//ELSE IF WE HAVE PRESSED A OR B...</span>
<span class="number"> 11</span>                    <span class="k2">{</span>
<span class="number"> 12</span>                        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>dino_apresentacao, <span class="n">70</span>, <span class="n">100</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 13</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PARA JOGAR NOVAMENTE, APERTE O BOTÃO DE ESPAÇO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 14</span>                        gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "PRESSED ENTER"</span>
<span class="number"> 15</span>                    <span class="k2">}</span>
<span class="number"> 16</span>                <span class="k2">}</span>
</div></div><p>
This part:<br />if (gameState == STATE_PRESSED_GAME_OVER) else if (gameState == STATE_PRESSED_GAME_OVER)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Wed, 19 May 2021 04:15:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I have to remove only the first line?</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number"> 1</span><span class="c">//ALLEGRO_FONT* font = al_create_builtin_font();</span>
<span class="number"> 2</span>    <span class="c">//must_init(al_init_font_addon(), "font"); //WE NEED TO INIT FONT FIRST!</span>
<span class="number"> 3</span>    must_init<span class="k2">(</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="s">"ttf font"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//THEN WE NEED TO INIT TTF FONTS</span>
<span class="number"> 4</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">"Antonio-Bold.ttf"</span>, <span class="n">14</span>, ALLEGRO_ALIGN_LEFT<span class="k2">)</span><span class="k2">;</span> <span class="c">//NOW WE CAN CHOOSE SIZE</span>
</div></div><p>

It gave the follow error:</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>reference <span class="k1">not</span> set to <span class="s">"al_init_ttf_addon"</span>
<span class="number"> 3</span>reference <span class="k1">not</span> set to <span class="s">"al_load_ttf_font"</span>
</div></div><p>

Do I have to add a new library?</p><p>At the end of the game, I would like the player to have the option to play again </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">   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;allegro5/allegro5.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_font.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_audio.h&gt; // biblioteca de som</span>
<span class="number">   9</span><span class="p">#include &lt;allegro5/allegro_acodec.h&gt;</span>
<span class="number">  10</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt; // permite colocar formas simples, linhas, pontos, etc. (formas primitivas)</span>
<span class="number">  11</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt; //NEED FOR TTF FONTS</span>
<span class="number">  12</span>
<span class="number">  13</span><span class="c">//HERE ARE THE GAME STATES, WE NEED TO KNOW WHAT "STATE" THE GAME IS IN...</span>
<span class="number">  14</span><span class="p">#define STATE_START 1</span>
<span class="number">  15</span><span class="p">#define STATE_PRESSED_BURACO 2</span>
<span class="number">  16</span><span class="p">#define STATE_PRESSED_PULA_BURACO 3</span>
<span class="number">  17</span><span class="p">#define STATE_PRESSED_CAI_BURACO 4</span>
<span class="number">  18</span><span class="p">#define STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE 5</span>
<span class="number">  19</span><span class="p">#define STATE_PRESSED_SONO_DESCANSA_OU_CORRE 6</span>
<span class="number">  20</span><span class="p">#define STATE_PRESSED_MACHUCADO_CORRE 7</span>
<span class="number">  21</span><span class="p">#define STATE_PRESSED_MACHUCADO_DESCANSA 8</span>
<span class="number">  22</span><span class="p">#define STATE_PRESSED_GAME_OVER 9</span>
<span class="number">  23</span><span class="p">#define STATE_PRESSED_SONO_CORRE 10</span>
<span class="number">  24</span><span class="p">#define STATE_PRESSED_SONO_DESCANSA 11</span>
<span class="number">  25</span><span class="p">#define STATE_PRESSED_CAI_BURACO_AJUDA 12</span>
<span class="number">  26</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CORRE 13</span>
<span class="number">  27</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO 14</span>
<span class="number">  28</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CAVANDO 15</span>
<span class="number">  29</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE 16</span>
<span class="number">  30</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA 17</span>
<span class="number">  31</span><span class="p">#define STATE_CORRE 18</span>
<span class="number">  32</span><span class="p">#define STATE_ABRIGO 19</span>
<span class="number">  33</span>
<span class="number">  34</span><span class="k1">int</span> gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//HERE IS OUR STARTING STATE, WE CAN CHANGE THIS TO USE IN OUR "IF"</span>
<span class="number">  35</span>
<span class="number">  36</span>
<span class="number">  37</span><span class="k1">char</span> text<span class="k2">[</span><span class="n">255</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">"PRESSIONE ENTER PARA COMEÇAR O JOGO"</span><span class="k2">;</span>
<span class="number">  38</span><span class="k1">char</span> text1<span class="k2">[</span><span class="n">255</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">" "</span><span class="k2">;</span>
<span class="number">  39</span>
<span class="number">  40</span><span class="k1">void</span> must_init<span class="k2">(</span><span class="k1">bool</span> test, <span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>description<span class="k2">)</span><span class="k2">{</span>
<span class="number">  41</span>    <span class="k1">if</span><span class="k2">(</span>test<span class="k2">)</span> <span class="k1">return</span><span class="k2">;</span>
<span class="number">  42</span>
<span class="number">  43</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"couldn't initialize %s\n"</span>, description<span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span><span class="k2">}</span>
<span class="number">  46</span>
<span class="number">  47</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  48</span>    must_init<span class="k2">(</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="s">"allegro"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// auxilia o must_init(), evitar de colocar instruções a mais par averificar erros.</span>
<span class="number">  49</span>    must_init<span class="k2">(</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="s">"keyboard"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  50</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span>, <span class="s">"mouse"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// instalando o mouse</span>
<span class="number">  51</span>
<span class="number">  52</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">30</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  53</span>    must_init<span class="k2">(</span>timer, <span class="s">"timer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  54</span>
<span class="number">  55</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> gameOverTimer <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">3</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//Game Over timer will last 3 seconds</span>
<span class="number">  56</span>    must_init<span class="k2">(</span>gameOverTimer, <span class="s">"gameOverTimer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</span>
<span class="number">  58</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a><span class="k3">*</span> 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">  59</span>    must_init<span class="k2">(</span>queue, <span class="s">"queue"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  60</span>
<span class="number">  61</span>     <span class="c">// Permite que as formas e linhas tenham maior definição, deixar mais suave</span>
<span class="number">  62</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  63</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">8</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  64</span>    <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>ALLEGRO_MIN_LINEAR <span class="k3">|</span> ALLEGRO_MAG_LINEAR<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  65</span>
<span class="number">  66</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a><span class="k3">*</span> disp <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><span class="n">1200</span>, <span class="n">800</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  67</span>    must_init<span class="k2">(</span>disp, <span class="s">"display"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  68</span>
<span class="number">  69</span>    <span class="c">// add novo</span>
<span class="number">  70</span>    <span class="c">/*</span>
<span class="number">  71</span><span class="c">    ALLEGRO_FONT* font = al_create_builtin_font();</span>
<span class="number">  72</span><span class="c">    must_init(font, "font");</span>
<span class="number">  73</span><span class="c"></span>
<span class="number">  74</span><span class="c">    ALLEGRO_FONT* font1 = al_create_builtin_font();</span>
<span class="number">  75</span><span class="c">    must_init(font1, "font1");</span>
<span class="number">  76</span><span class="c">    */</span>
<span class="number">  77</span>
<span class="number">  78</span>    <span class="c">//ALLEGRO_FONT* font = al_create_builtin_font();</span>
<span class="number">  79</span>    <span class="c">//must_init(al_init_font_addon(), "font"); //WE NEED TO INIT FONT FIRST!</span>
<span class="number">  80</span>    must_init<span class="k2">(</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="s">"ttf font"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//THEN WE NEED TO INIT TTF FONTS</span>
<span class="number">  81</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">"Antonio-Bold.ttf"</span>, <span class="n">14</span>, ALLEGRO_ALIGN_LEFT<span class="k2">)</span><span class="k2">;</span> <span class="c">//NOW WE CAN CHOOSE SIZE</span>
<span class="number">  82</span>
<span class="number">  83</span>    <span class="c">//al_init_font_addon();</span>
<span class="number">  84</span>    <span class="c">//al_init_ttf_addon();</span>
<span class="number">  85</span>
<span class="number">  86</span>    must_init<span class="k2">(</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="s">"primitives"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Para inserir linhas, formas e pontos no código</span>
<span class="number">  87</span>
<span class="number">  88</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">  89</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>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">  90</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>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>disp<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  91</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>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">  92</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>queue, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">// adicionado para o mouse funcionar</span>
<span class="number">  93</span>
<span class="number">  94</span>    <span class="c">// imagens</span>
<span class="number">  95</span>    must_init<span class="k2">(</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="s">"image addon"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  96</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> dino_apresentacao <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">"dino_apresentacao.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  97</span>    must_init<span class="k2">(</span>dino_apresentacao, <span class="s">"dino_apresentacao"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  98</span>
<span class="number">  99</span>    <span class="c">// adicionando o audio ao jogo</span>
<span class="number"> 100</span>    must_init<span class="k2">(</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="s">"audio"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 101</span>    must_init<span class="k2">(</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="s">"audio codecs"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 102</span>    must_init<span class="k2">(</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">16</span><span class="k2">)</span>, <span class="s">"reserve samples"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 103</span>
<span class="number"> 104</span>    <span class="c">// para música longa</span>
<span class="number"> 105</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_AUDIO_STREAM"><span class="a">ALLEGRO_AUDIO_STREAM</span></a><span class="k3">*</span> music <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_audio_stream"><span class="a">al_load_audio_stream</span></a><span class="k2">(</span><span class="s">"music.opus"</span>, <span class="n">2</span>, <span class="n">2048</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// os números são referentes as áreas da memoria onde a musica sera armazenada. não mudar</span>
<span class="number"> 106</span>    must_init<span class="k2">(</span>music, <span class="s">"music"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 107</span>    <a href="http://www.allegro.cc/manual/al_set_audio_stream_playmode"><span class="a">al_set_audio_stream_playmode</span></a><span class="k2">(</span>music, ALLEGRO_PLAYMODE_LOOP<span class="k2">)</span><span class="k2">;</span> <span class="c">// música em loop</span>
<span class="number"> 108</span>    <a href="http://www.allegro.cc/manual/al_attach_audio_stream_to_mixer"><span class="a">al_attach_audio_stream_to_mixer</span></a><span class="k2">(</span>music, <a href="http://www.allegro.cc/manual/al_get_default_mixer"><span class="a">al_get_default_mixer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// linha para o som sair, senão tem sai</span>
<span class="number"> 109</span>
<span class="number"> 110</span>    <span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 111</span>    <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 112</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number"> 113</span>
<span class="number"> 114</span>    <span class="p">#define KEY_SEEN     1</span>
<span class="number"> 115</span>    <span class="p">#define KEY_RELEASED 2</span>
<span class="number"> 116</span>
<span class="number"> 117</span>    <span class="k1">unsigned</span> <span class="k1">char</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>ALLEGRO_KEY_MAX<span class="k2">]</span><span class="k2">;</span>
<span class="number"> 118</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_569.html" target="_blank">memset</a><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a>, <span class="n">0</span>, <span class="k1">sizeof</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 119</span>    <a href="http://www.allegro.cc/manual/al_hide_mouse_cursor"><span class="a">al_hide_mouse_cursor</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 120</span>
<span class="number"> 121</span>
<span class="number"> 122</span>
<span class="number"> 123</span>    <span class="k1">while</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><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>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 125</span>
<span class="number"> 126</span>        <span class="k1">switch</span><span class="k2">(</span>event.type<span class="k2">)</span>
<span class="number"> 127</span>        <span class="k2">{</span>
<span class="number"> 128</span>            <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number"> 129</span>            <span class="k2">{</span>
<span class="number"> 130</span>                redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 131</span>
<span class="number"> 132</span>                <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_get_timer_count"><span class="a">al_get_timer_count</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span> <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span> <span class="c">//IF STATE IS GAME OVER AND TIMER HAS TICKED AT LEAST ONCE...</span>
<span class="number"> 133</span>                <span class="k2">{</span>
<span class="number"> 134</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"RECOMEÇANDO O JOGO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 135</span>                    gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "START"</span>
<span class="number"> 136</span>
<span class="number"> 137</span>                    <span class="c">//RESET THE GAME OVER TIMER!</span>
<span class="number"> 138</span>                    <a href="http://www.allegro.cc/manual/al_stop_timer"><span class="a">al_stop_timer</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 139</span>                    <a href="http://www.allegro.cc/manual/al_set_timer_count"><span class="a">al_set_timer_count</span></a><span class="k2">(</span>gameOverTimer, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 140</span>                <span class="k2">}</span>
<span class="number"> 141</span>
<span class="number"> 142</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 143</span>            <span class="k2">}</span>
<span class="number"> 144</span>
<span class="number"> 145</span>            <span class="k1">case</span> ALLEGRO_EVENT_KEY_CHAR:
<span class="number"> 146</span>            <span class="k2">{</span>
<span class="number"> 147</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ENTER <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_START<span class="k2">)</span> <span class="c">//IF WE PRESS ENTER WHEN STATE IS "START"....</span>
<span class="number"> 148</span>                <span class="k2">{</span>
<span class="number"> 149</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PERCEBE UM METEORO VINDO EM SUA DIREÇÃO E COMEÇA A FUGIR. LOGO A SUA FRENTE, DINO VÊ UM BURACO!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 150</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO PULAR O BURACO (A) OU IGNORAR O BURACO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 151</span>                    gameState <span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED ENTER"</span>
<span class="number"> 152</span>
<span class="number"> 153</span>                <span class="k2">}</span>
<span class="number"> 154</span>                <span class="c">// PULA BURACO </span>
<span class="number"> 155</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">)</span> 
<span class="number"> 156</span>                <span class="k2">{</span>
<span class="number"> 157</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PULOU O BURACO, MAS MACHUCOU A PATINHA!!! "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 158</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO (A), MESMO MACHUCADO, OU COMER UMA PLANTA MEDICINAL (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 159</span>                    gameState <span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">;</span>
<span class="number"> 160</span>                <span class="k2">}</span>
<span class="number"> 161</span>                
<span class="number"> 162</span>                <span class="c">// DINO PULA BURACO E CORRE</span>
<span class="number"> 163</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">)</span> 
<span class="number"> 164</span>                <span class="k2">{</span>
<span class="number"> 165</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO, MESMO MACHUCADO, CONTINUOU CORRENDO. ENTRETANTO, ESTÁ CORRENDO MUITO DEVAGAR!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 166</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO MACHUCADO (A) OU DESCANSAR PARA SARAR A PATINHA (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 167</span>                    gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">;</span> 
<span class="number"> 168</span>                <span class="k2">}</span>
<span class="number"> 169</span>
<span class="number"> 170</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 171</span>                <span class="k2">{</span>
<span class="number"> 172</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUOU CORRENDO, MAS SUA VELOCIDADE AINDA É BAIXA. DESSA FORMA, O METEORO ESTÁ CADA VEZ MAIS PRÓXIMO!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 173</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 174</span>                    gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<span class="k2">;</span> 
<span class="number"> 175</span>                <span class="k2">}</span>
<span class="number"> 176</span>
<span class="number"> 177</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">)</span> 
<span class="number"> 178</span>                <span class="k2">{</span>
<span class="number"> 179</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PAROU PARA DESCANSAR, MAS PERDEU MUITO TEMPO E O METEORO ESTÁ PRÓXIMO!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 180</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 181</span>                    gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<span class="k2">;</span>
<span class="number"> 182</span>                <span class="k2">}</span>
<span class="number"> 183</span>
<span class="number"> 184</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<span class="k2">)</span> 
<span class="number"> 185</span>                <span class="k2">{</span>
<span class="number"> 186</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 187</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 188</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 189</span>                <span class="k2">}</span>
<span class="number"> 190</span>
<span class="number"> 191</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<span class="k2">)</span> 
<span class="number"> 192</span>                <span class="k2">{</span>
<span class="number"> 193</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 194</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 195</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 196</span>                <span class="k2">}</span>
<span class="number"> 197</span>
<span class="number"> 198</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<span class="k2">)</span> 
<span class="number"> 199</span>                <span class="k2">{</span>
<span class="number"> 200</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 201</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRERENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 202</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 203</span>                <span class="k2">}</span>
<span class="number"> 204</span>
<span class="number"> 205</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<span class="k2">)</span> 
<span class="number"> 206</span>                <span class="k2">{</span>
<span class="number"> 207</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 208</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 209</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 210</span>                <span class="k2">}</span>
<span class="number"> 211</span>
<span class="number"> 212</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_CORRE<span class="k2">)</span> 
<span class="number"> 213</span>                <span class="k2">{</span>
<span class="number"> 214</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 215</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 216</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 217</span>                <span class="k2">}</span>
<span class="number"> 218</span>
<span class="number"> 219</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_CORRE<span class="k2">)</span> 
<span class="number"> 220</span>                <span class="k2">{</span>
<span class="number"> 221</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 222</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 223</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 224</span>                <span class="k2">}</span>
<span class="number"> 225</span>
<span class="number"> 226</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_ABRIGO<span class="k2">)</span> 
<span class="number"> 227</span>                <span class="k2">{</span>
<span class="number"> 228</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 229</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 230</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 231</span>                <span class="k2">}</span>
<span class="number"> 232</span>
<span class="number"> 233</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_ABRIGO<span class="k2">)</span> 
<span class="number"> 234</span>                <span class="k2">{</span>
<span class="number"> 235</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 236</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 237</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 238</span>                <span class="k2">}</span>
<span class="number"> 239</span>
<span class="number"> 240</span>                <span class="c">//DINO PULA O BURACO E COME A PLANTA</span>
<span class="number"> 241</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">)</span>
<span class="number"> 242</span>                <span class="k2">{</span>
<span class="number"> 243</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PAROU PARA COMER UMA PLANTA, E A DOR PASSOU. ENTRETANTO, A PLANTA DEIXOU DINO FICOU COM SONO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 244</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE COMEÇAR A CORRER (A) OU PARAR PARA DESCANSAR (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 245</span>                    gameState <span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">;</span> 
<span class="number"> 246</span>                <span class="k2">}</span>
<span class="number"> 247</span>
<span class="number"> 248</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 249</span>                <span class="k2">{</span>
<span class="number"> 250</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO COMEÇAR A CORRER MESMO SONOLENTO, E FICA BEM DEVAGAR. ASSIM, PERDEU MUITO TEMPO E O COMETA ESTÁ PRÓXIMO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 251</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 252</span>                    gameState <span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">;</span> 
<span class="number"> 253</span>                <span class="k2">}</span>
<span class="number"> 254</span>
<span class="number"> 255</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 256</span>                <span class="k2">{</span>
<span class="number"> 257</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PAROU PARA DESCANSAR, MAS PERDEU MUITO TEMPO. O METEORO ESTÁ PRÓXIMO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 258</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 259</span>                    gameState <span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">;</span> 
<span class="number"> 260</span>                <span class="k2">}</span>
<span class="number"> 261</span>
<span class="number"> 262</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">)</span> 
<span class="number"> 263</span>                <span class="k2">{</span>
<span class="number"> 264</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 265</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 266</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 267</span>                <span class="k2">}</span>
<span class="number"> 268</span>
<span class="number"> 269</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">)</span> 
<span class="number"> 270</span>                <span class="k2">{</span>
<span class="number"> 271</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 272</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 273</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 274</span>                <span class="k2">}</span>
<span class="number"> 275</span>
<span class="number"> 276</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 277</span>                <span class="k2">{</span>
<span class="number"> 278</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 279</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 280</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 281</span>                <span class="k2">}</span>
<span class="number"> 282</span>
<span class="number"> 283</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 284</span>                <span class="k2">{</span>
<span class="number"> 285</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 286</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 287</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 288</span>                <span class="k2">}</span>
<span class="number"> 289</span>
<span class="number"> 290</span>
<span class="number"> 291</span>                <span class="c">// CAI NO BURACO</span>
<span class="number"> 292</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">)</span>
<span class="number"> 293</span>                <span class="k2">{</span>
<span class="number"> 294</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO NÃO PULOU, E CAIU NO BURACO. DINO DEVE PEDIR AJUDA (A) OU SAIR DO BURACO CAVANDO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 295</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO<span class="k2">;</span> 
<span class="number"> 296</span>                <span class="k2">}</span>
<span class="number"> 297</span>
<span class="number"> 298</span>                <span class="c">// CAI BURACO SAI COM AJUDA</span>
<span class="number"> 299</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO<span class="k2">)</span>
<span class="number"> 300</span>                <span class="k2">{</span>
<span class="number"> 301</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PEDIU AJUDA, MAS DEMOROU MUITO PARA AJUDA-LO, E PERDEU MUITO TEMPO. "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 302</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CORRER NORMALMENTE (A) OU CORRER O MAIS RÁPIDO POSSIVEL (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 303</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_AJUDA<span class="k2">;</span> 
<span class="number"> 304</span>                <span class="k2">}</span>
<span class="number"> 305</span>
<span class="number"> 306</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_AJUDA<span class="k2">)</span>
<span class="number"> 307</span>                <span class="k2">{</span>
<span class="number"> 308</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO NÃO ESTÁ CORRENDO RÁPIDO O SUFICIENTE, E O METEORO ESTÁ SE APROXIMANDO. "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 309</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO COMETA (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 310</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE<span class="k2">;</span> 
<span class="number"> 311</span>                <span class="k2">}</span>
<span class="number"> 312</span>
<span class="number"> 313</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE<span class="k2">)</span> 
<span class="number"> 314</span>                <span class="k2">{</span>
<span class="number"> 315</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 316</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 317</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 318</span>                <span class="k2">}</span>
<span class="number"> 319</span>
<span class="number"> 320</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE<span class="k2">)</span> 
<span class="number"> 321</span>                <span class="k2">{</span>
<span class="number"> 322</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 323</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 324</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 325</span>                <span class="k2">}</span>
<span class="number"> 326</span>
<span class="number"> 327</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 328</span>                <span class="k2">{</span>
<span class="number"> 329</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 330</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 331</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 332</span>                <span class="k2">}</span>
<span class="number"> 333</span>
<span class="number"> 334</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 335</span>                <span class="k2">{</span>
<span class="number"> 336</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 337</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 338</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 339</span>                <span class="k2">}</span>
<span class="number"> 340</span>
<span class="number"> 341</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_AJUDA<span class="k2">)</span>
<span class="number"> 342</span>                <span class="k2">{</span>
<span class="number"> 343</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTAVA CORRENDO MUITO RÁPIDO, E ACABOU TROPEÇANDO E CAINDO. COM ISSO, O METEORO ESTÁ CADA VEZ MAIS PRÓXIMO "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 344</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO COMETA (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 345</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO<span class="k2">;</span> 
<span class="number"> 346</span>                <span class="k2">}</span>
<span class="number"> 347</span>
<span class="number"> 348</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO<span class="k2">)</span> 
<span class="number"> 349</span>                <span class="k2">{</span>
<span class="number"> 350</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 351</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 352</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 353</span>                <span class="k2">}</span>
<span class="number"> 354</span>
<span class="number"> 355</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO<span class="k2">)</span> 
<span class="number"> 356</span>                <span class="k2">{</span>
<span class="number"> 357</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 358</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 359</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 360</span>                <span class="k2">}</span>
<span class="number"> 361</span>
<span class="number"> 362</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 363</span>                <span class="k2">{</span>
<span class="number"> 364</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 365</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 366</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 367</span>                <span class="k2">}</span>
<span class="number"> 368</span>
<span class="number"> 369</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 370</span>                <span class="k2">{</span>
<span class="number"> 371</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 372</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 373</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 374</span>                <span class="k2">}</span>
<span class="number"> 375</span>
<span class="number"> 376</span>                <span class="c">// CAI BURACO SAI CAVANDO</span>
<span class="number"> 377</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO<span class="k2">)</span>
<span class="number"> 378</span>                <span class="k2">{</span>
<span class="number"> 379</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO SAIU DO BURACO CAVANDO, MAS AGORA ESTÁ COM SEDE."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 380</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE IGNORAR A SEDE E COMEÇAR A CORRER (A) OU BEBER ÁGUA (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 381</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO<span class="k2">;</span> 
<span class="number"> 382</span>                <span class="k2">}</span>
<span class="number"> 383</span>
<span class="number"> 384</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO<span class="k2">)</span>
<span class="number"> 385</span>                <span class="k2">{</span>
<span class="number"> 386</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO COMEÇAR A CORRER COM SEDE, E ISSO O DEIXA MUITO LENTO. DESSA FORMA, O METEORO ESTÁ CADA VEZ MAIS PERTO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 387</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 388</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE<span class="k2">;</span> 
<span class="number"> 389</span>                <span class="k2">}</span>
<span class="number"> 390</span>
<span class="number"> 391</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO<span class="k2">)</span>
<span class="number"> 392</span>                <span class="k2">{</span>
<span class="number"> 393</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO VAI BEBER ÁGUA, MAS PERDE MUITO TEMPO. DESSA FORMA, O METEORO ESTÁ CADA VEZ MAIS PERTO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 394</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 395</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA<span class="k2">;</span> 
<span class="number"> 396</span>                <span class="k2">}</span>
<span class="number"> 397</span>
<span class="number"> 398</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE<span class="k2">)</span> 
<span class="number"> 399</span>                <span class="k2">{</span>
<span class="number"> 400</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 401</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 402</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 403</span>                <span class="k2">}</span>
<span class="number"> 404</span>
<span class="number"> 405</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE<span class="k2">)</span> 
<span class="number"> 406</span>                <span class="k2">{</span>
<span class="number"> 407</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 408</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 409</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 410</span>                <span class="k2">}</span>
<span class="number"> 411</span>
<span class="number"> 412</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA<span class="k2">)</span> 
<span class="number"> 413</span>                <span class="k2">{</span>
<span class="number"> 414</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 415</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 416</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 417</span>                <span class="k2">}</span>
<span class="number"> 418</span>
<span class="number"> 419</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA<span class="k2">)</span> 
<span class="number"> 420</span>                <span class="k2">{</span>
<span class="number"> 421</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 422</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 423</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 424</span>                <span class="k2">}</span>
<span class="number"> 425</span>
<span class="number"> 426</span>
<span class="number"> 427</span>                
<span class="number"> 428</span>
<span class="number"> 429</span>                <span class="c">//HERE WE USE A SINLE KEY (BACKSPACE), AND THEN USE IF/ELSE TO DO DIFFERENT THINGS, DEPENDING ON THE STATE...</span>
<span class="number"> 430</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_BACKSPACE<span class="k2">)</span>
<span class="number"> 431</span>                <span class="k2">{</span>
<span class="number"> 432</span>                    <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">)</span> <span class="c">//IF WE HAVE ONLY PRESSED ENTER...</span>
<span class="number"> 433</span>                    <span class="k2">{</span>
<span class="number"> 434</span>                        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>dino_apresentacao, <span class="n">70</span>, <span class="n">100</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 435</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PRESSIONE ENTER PARA COMEÇAR O JOGO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 436</span>                        gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "START"</span>
<span class="number"> 437</span>                    <span class="k2">}</span>
<span class="number"> 438</span>
<span class="number"> 439</span>                    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">)</span> <span class="c">//ELSE IF WE HAVE PRESSED A OR B...</span>
<span class="number"> 440</span>                    <span class="k2">{</span>
<span class="number"> 441</span>                        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>dino_apresentacao, <span class="n">70</span>, <span class="n">100</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 442</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PARA JOGAR NOVAMENTE, APERTE O BOTÃO DE ESPAÇO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 443</span>                        gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "PRESSED ENTER"</span>
<span class="number"> 444</span>                    <span class="k2">}</span>
<span class="number"> 445</span>                <span class="k2">}</span>
<span class="number"> 446</span>
<span class="number"> 447</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">!</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 448</span>                <span class="k2">{</span>
<span class="number"> 449</span>                    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 450</span>                <span class="k2">}</span>
<span class="number"> 451</span>            <span class="k2">}</span>
<span class="number"> 452</span>
<span class="number"> 453</span>            <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 454</span>            <span class="k2">{</span>
<span class="number"> 455</span>                done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 456</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 457</span>            <span class="k2">}</span>
<span class="number"> 458</span>        <span class="k2">}</span>
<span class="number"> 459</span>
<span class="number"> 460</span>        <span class="k1">if</span><span class="k2">(</span>done<span class="k2">)</span>
<span class="number"> 461</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 462</span>
<span class="number"> 463</span>        <span class="k1">if</span><span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 464</span>        <span class="k2">{</span>
<span class="number"> 465</span>            <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 466</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">100</span>, <span class="n">500</span>, <span class="n">0</span>, text<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 467</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">300</span>, <span class="n">550</span>, <span class="n">0</span>, text1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 468</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"> 469</span>
<span class="number"> 470</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 471</span>        <span class="k2">}</span>
<span class="number"> 472</span>
<span class="number"> 473</span>    <span class="k2">}</span>
<span class="number"> 474</span>
<span class="number"> 475</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>dino_apresentacao<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 476</span>    <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 477</span>    <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 478</span>    <a href="http://www.allegro.cc/manual/al_destroy_audio_stream"><span class="a">al_destroy_audio_stream</span></a><span class="k2">(</span>music<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 479</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"> 480</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>queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 481</span>
<span class="number"> 482</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 483</span><span class="k2">}</span>
</div></div><p>

Thanks
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (mayna azevedo)</author>
		<pubDate>Wed, 19 May 2021 04:59:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yes, there is an allegro_font library which you already included. If you want to use TTF fonts then you also need to link the allegro_ttf library.</p><p>You need both lines
</p><div class="source-code snippet"><div class="inner"><pre>    must_init<span class="k2">(</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="s">"font"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//WE NEED TO INIT FONT FIRST!</span>
    must_init<span class="k2">(</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="s">"ttf font"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//THEN WE NEED TO INIT TTF FONTS</span>
</pre></div></div><p>

Just make sure you link both libraries</p><p>I don&#39;t have your resources, but everything else seems to be working. Also, I don&#39;t speak Portuguese, so I don&#39;t know if it&#39;s working correctly. This is what I was talking about with split in to functions for a or b. A little easier to manage.</p><p>I removed the wonky sprintf string copy code also
</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;allegro5/allegro5.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_audio.h&gt; // biblioteca de som</span>
<span class="number">   7</span><span class="p">#include &lt;allegro5/allegro_acodec.h&gt;</span>
<span class="number">   8</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt; // permite colocar formas simples, linhas, pontos, etc. (formas primitivas)</span>
<span class="number">   9</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt; //NEED FOR TTF FONTS</span>
<span class="number">  10</span>
<span class="number">  11</span><span class="c">//HERE ARE THE GAME STATES, WE NEED TO KNOW WHAT "STATE" THE GAME IS IN...</span>
<span class="number">  12</span><span class="k1">enum</span>
<span class="number">  13</span>    <span class="k2">{</span>
<span class="number">  14</span>    STATE_START,
<span class="number">  15</span>    STATE_PRESSED_BURACO,
<span class="number">  16</span>    STATE_PRESSED_PULA_BURACO,
<span class="number">  17</span>    STATE_PRESSED_CAI_BURACO,
<span class="number">  18</span>    STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE,
<span class="number">  19</span>    STATE_PRESSED_SONO_DESCANSA_OU_CORRE,
<span class="number">  20</span>    STATE_PRESSED_MACHUCADO_CORRE,
<span class="number">  21</span>    STATE_PRESSED_MACHUCADO_DESCANSA,
<span class="number">  22</span>    STATE_PRESSED_GAME_OVER,
<span class="number">  23</span>    STATE_PRESSED_SONO_CORRE,
<span class="number">  24</span>    STATE_PRESSED_SONO_DESCANSA,
<span class="number">  25</span>    STATE_PRESSED_CAI_BURACO_AJUDA,
<span class="number">  26</span>    STATE_PRESSED_CAI_BURACO_CORRE,
<span class="number">  27</span>    STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO,
<span class="number">  28</span>    STATE_PRESSED_CAI_BURACO_CAVANDO,
<span class="number">  29</span>    STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE,
<span class="number">  30</span>    STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA,
<span class="number">  31</span>    STATE_CORRE,
<span class="number">  32</span>    STATE_ABRIGO
<span class="number">  33</span><span class="k2">}</span><span class="k2">;</span>
<span class="number">  34</span>
<span class="number">  35</span><span class="k1">int</span> gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//HERE IS OUR STARTING STATE, WE CAN CHANGE THIS TO USE IN OUR "IF"</span>
<span class="number">  36</span>
<span class="number">  37</span>
<span class="number">  38</span><span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>text <span class="k3">=</span> <span class="s">"PRESSIONE ENTER PARA COMEÇAR O JOGO"</span><span class="k2">;</span>
<span class="number">  39</span><span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>text1 <span class="k3">=</span> <span class="s">""</span><span class="k2">;</span>
<span class="number">  40</span>
<span class="number">  41</span><span class="k1">void</span> must_init<span class="k2">(</span><span class="k1">bool</span> test, <span class="k1">const</span> <span class="k1">char</span><span class="k3">*</span> description<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  42</span>    <span class="k1">if</span> <span class="k2">(</span>test<span class="k2">)</span> <span class="k1">return</span><span class="k2">;</span>
<span class="number">  43</span>
<span class="number">  44</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"couldn't initialize %s\n"</span>, description<span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  46</span><span class="k2">}</span>
<span class="number">  47</span>
<span class="number">  48</span><span class="k1">int</span> pressed_a<span class="k2">(</span><span class="k1">int</span> state<span class="k2">)</span>
<span class="number">  49</span><span class="k2">{</span>
<span class="number">  50</span>    <span class="k1">switch</span> <span class="k2">(</span>state<span class="k2">)</span>
<span class="number">  51</span>    <span class="k2">{</span>
<span class="number">  52</span>    <span class="k1">case</span> STATE_START: <span class="c">//IF WE PRESS ENTER WHEN STATE IS "START"....</span>
<span class="number">  53</span>    <span class="k2">{</span>
<span class="number">  54</span>        text <span class="k3">=</span> <span class="s">"DINO PERCEBE UM METEORO VINDO EM SUA DIREÇÃO E COMEÇA A FUGIR. LOGO A SUA FRENTE, DINO VÊ UM BURACO!"</span><span class="k2">;</span>
<span class="number">  55</span>        text1 <span class="k3">=</span> <span class="s">"DINO PULAR O BURACO (A) OU IGNORAR O BURACO (B)?"</span><span class="k2">;</span>
<span class="number">  56</span>        state <span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED ENTER"</span>
<span class="number">  57</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number">  58</span>
<span class="number">  59</span>    <span class="c">// PULA BURACO </span>
<span class="number">  60</span>    <span class="k1">case</span> STATE_PRESSED_BURACO:
<span class="number">  61</span>    <span class="k2">{</span>
<span class="number">  62</span>        text <span class="k3">=</span> <span class="s">"DINO PULOU O BURACO, MAS MACHUCOU A PATINHA!!! "</span><span class="k2">;</span>
<span class="number">  63</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CONTINUAR CORRENDO (A), MESMO MACHUCADO, OU COMER UMA PLANTA MEDICINAL (B)?"</span><span class="k2">;</span>
<span class="number">  64</span>        state <span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">;</span>
<span class="number">  65</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number">  66</span>
<span class="number">  67</span>    <span class="c">// DINO PULA BURACO E CORRE</span>
<span class="number">  68</span>    <span class="k1">case</span> STATE_PRESSED_PULA_BURACO:
<span class="number">  69</span>    <span class="k2">{</span>
<span class="number">  70</span>        text <span class="k3">=</span> <span class="s">"DINO, MESMO MACHUCADO, CONTINUOU CORRENDO. ENTRETANTO, ESTÁ CORRENDO MUITO DEVAGAR!"</span><span class="k2">;</span>
<span class="number">  71</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CONTINUAR CORRENDO MACHUCADO (A) OU DESCANSAR PARA SARAR A PATINHA (B)?"</span><span class="k2">;</span>
<span class="number">  72</span>        state <span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">;</span>
<span class="number">  73</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number">  74</span>
<span class="number">  75</span>    <span class="c">// CAI BURACO SAI COM AJUDA</span>
<span class="number">  76</span>    <span class="k1">case</span> STATE_PRESSED_CAI_BURACO:
<span class="number">  77</span>    <span class="k2">{</span>
<span class="number">  78</span>        text <span class="k3">=</span> <span class="s">"DINO PEDIU AJUDA, MAS DEMOROU MUITO PARA AJUDA-LO, E PERDEU MUITO TEMPO. "</span><span class="k2">;</span>
<span class="number">  79</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CORRER NORMALMENTE (A) OU CORRER O MAIS RÁPIDO POSSIVEL (B)?"</span><span class="k2">;</span>
<span class="number">  80</span>        state <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_AJUDA<span class="k2">;</span>
<span class="number">  81</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number">  82</span>
<span class="number">  83</span>    <span class="k1">case</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE:
<span class="number">  84</span>    <span class="k2">{</span>
<span class="number">  85</span>        text <span class="k3">=</span> <span class="s">"DINO CONTINUOU CORRENDO, MAS SUA VELOCIDADE AINDA É BAIXA. DESSA FORMA, O METEORO ESTÁ CADA VEZ MAIS PRÓXIMO!"</span><span class="k2">;</span>
<span class="number">  86</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number">  87</span>        state <span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<span class="k2">;</span>
<span class="number">  88</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number">  89</span>
<span class="number">  90</span>    <span class="k1">case</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE:
<span class="number">  91</span>    <span class="k2">{</span>
<span class="number">  92</span>        text <span class="k3">=</span> <span class="s">"DINO COMEÇAR A CORRER MESMO SONOLENTO, E FICA BEM DEVAGAR. ASSIM, PERDEU MUITO TEMPO E O COMETA ESTÁ PRÓXIMO"</span><span class="k2">;</span>
<span class="number">  93</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number">  94</span>        state <span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">;</span>
<span class="number">  95</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number">  96</span>
<span class="number">  97</span>    <span class="k1">case</span> STATE_PRESSED_MACHUCADO_CORRE:
<span class="number">  98</span>    <span class="k2">{</span>
<span class="number">  99</span>        text <span class="k3">=</span> <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">;</span>
<span class="number"> 100</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 101</span>        state <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 102</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 103</span>
<span class="number"> 104</span>    <span class="k1">case</span> STATE_PRESSED_MACHUCADO_DESCANSA:
<span class="number"> 105</span>    <span class="k2">{</span>
<span class="number"> 106</span>        text <span class="k3">=</span> <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">;</span>
<span class="number"> 107</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CONTINUAR CORRERENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 108</span>        state <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 109</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 110</span>
<span class="number"> 111</span>    <span class="k1">case</span> STATE_PRESSED_SONO_CORRE:
<span class="number"> 112</span>    <span class="k2">{</span>
<span class="number"> 113</span>        text <span class="k3">=</span> <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">;</span>
<span class="number"> 114</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 115</span>        state <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 116</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 117</span>
<span class="number"> 118</span>    <span class="k1">case</span> STATE_PRESSED_SONO_DESCANSA:
<span class="number"> 119</span>    <span class="k2">{</span>
<span class="number"> 120</span>        text <span class="k3">=</span> <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">;</span>
<span class="number"> 121</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 122</span>        state <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 123</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 124</span>
<span class="number"> 125</span>
<span class="number"> 126</span>    <span class="k1">case</span> STATE_PRESSED_CAI_BURACO_AJUDA:
<span class="number"> 127</span>    <span class="k2">{</span>
<span class="number"> 128</span>        text <span class="k3">=</span> <span class="s">"DINO NÃO ESTÁ CORRENDO RÁPIDO O SUFICIENTE, E O METEORO ESTÁ SE APROXIMANDO. "</span><span class="k2">;</span>
<span class="number"> 129</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CONTINUAR CORRENDO DO COMETA (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 130</span>        state <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE<span class="k2">;</span>
<span class="number"> 131</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 132</span>
<span class="number"> 133</span>    <span class="k1">case</span> STATE_PRESSED_CAI_BURACO_CORRE:
<span class="number"> 134</span>    <span class="k2">{</span>
<span class="number"> 135</span>        text <span class="k3">=</span> <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">;</span>
<span class="number"> 136</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 137</span>        state <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 138</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 139</span>
<span class="number"> 140</span>    <span class="k1">case</span> STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO:
<span class="number"> 141</span>    <span class="k2">{</span>
<span class="number"> 142</span>        text <span class="k3">=</span> <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">;</span>
<span class="number"> 143</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 144</span>        state <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 145</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 146</span>
<span class="number"> 147</span>    <span class="k1">case</span> STATE_PRESSED_CAI_BURACO_CAVANDO:
<span class="number"> 148</span>    <span class="k2">{</span>
<span class="number"> 149</span>        text <span class="k3">=</span> <span class="s">"DINO COMEÇAR A CORRER COM SEDE, E ISSO O DEIXA MUITO LENTO. DESSA FORMA, O METEORO ESTÁ CADA VEZ MAIS PERTO."</span><span class="k2">;</span>
<span class="number"> 150</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 151</span>        state <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE<span class="k2">;</span>
<span class="number"> 152</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 153</span>
<span class="number"> 154</span>    <span class="k1">case</span> STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE:
<span class="number"> 155</span>    <span class="k2">{</span>
<span class="number"> 156</span>        text <span class="k3">=</span> <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">;</span>
<span class="number"> 157</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 158</span>        state <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 159</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 160</span>
<span class="number"> 161</span>    <span class="k1">case</span> STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA:
<span class="number"> 162</span>    <span class="k2">{</span>
<span class="number"> 163</span>        text <span class="k3">=</span> <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">;</span>
<span class="number"> 164</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 165</span>        state <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 166</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 167</span>
<span class="number"> 168</span>    <span class="k1">case</span> STATE_CORRE:
<span class="number"> 169</span>    <span class="k2">{</span>
<span class="number"> 170</span>        text <span class="k3">=</span> <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">;</span>
<span class="number"> 171</span>        text1 <span class="k3">=</span> <span class="s">"GAME OVER"</span><span class="k2">;</span>
<span class="number"> 172</span>        state <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span>
<span class="number"> 173</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 174</span>
<span class="number"> 175</span>    <span class="k1">case</span> STATE_ABRIGO:
<span class="number"> 176</span>    <span class="k2">{</span>
<span class="number"> 177</span>        text <span class="k3">=</span> <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">;</span>
<span class="number"> 178</span>        text1 <span class="k3">=</span> <span class="s">"GAME OVER"</span><span class="k2">;</span>
<span class="number"> 179</span>        state <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span>
<span class="number"> 180</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 181</span>    <span class="k2">}</span>
<span class="number"> 182</span>
<span class="number"> 183</span>    <span class="k1">return</span> state<span class="k2">;</span>
<span class="number"> 184</span><span class="k2">}</span>
<span class="number"> 185</span>
<span class="number"> 186</span><span class="k1">int</span> pressed_b<span class="k2">(</span><span class="k1">int</span> state<span class="k2">)</span>
<span class="number"> 187</span><span class="k2">{</span>
<span class="number"> 188</span>    <span class="k1">switch</span> <span class="k2">(</span>state<span class="k2">)</span>
<span class="number"> 189</span>    <span class="k2">{</span>
<span class="number"> 190</span>
<span class="number"> 191</span>    <span class="k1">case</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE:
<span class="number"> 192</span>    <span class="k2">{</span>
<span class="number"> 193</span>        text <span class="k3">=</span> <span class="s">"DINO PAROU PARA DESCANSAR, MAS PERDEU MUITO TEMPO E O METEORO ESTÁ PRÓXIMO!"</span><span class="k2">;</span>
<span class="number"> 194</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 195</span>        gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<span class="k2">;</span>
<span class="number"> 196</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 197</span>
<span class="number"> 198</span>    <span class="k1">case</span> STATE_PRESSED_MACHUCADO_CORRE:
<span class="number"> 199</span>    <span class="k2">{</span>
<span class="number"> 200</span>        text <span class="k3">=</span> <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM ABRIGO)"</span><span class="k2">;</span>
<span class="number"> 201</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 202</span>        gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span>
<span class="number"> 203</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 204</span>
<span class="number"> 205</span>    <span class="k1">case</span> STATE_PRESSED_MACHUCADO_DESCANSA:
<span class="number"> 206</span>    <span class="k2">{</span>
<span class="number"> 207</span>        text <span class="k3">=</span> <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">;</span>
<span class="number"> 208</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 209</span>        gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span>
<span class="number"> 210</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 211</span>
<span class="number"> 212</span>    <span class="k1">case</span> STATE_CORRE:
<span class="number"> 213</span>    <span class="k2">{</span>
<span class="number"> 214</span>        text <span class="k3">=</span> <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">;</span>
<span class="number"> 215</span>        text1 <span class="k3">=</span> <span class="s">"GAME OVER"</span><span class="k2">;</span>
<span class="number"> 216</span>        gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span>
<span class="number"> 217</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 218</span>
<span class="number"> 219</span>    <span class="k1">case</span> STATE_ABRIGO:
<span class="number"> 220</span>    <span class="k2">{</span>
<span class="number"> 221</span>        text <span class="k3">=</span> <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">;</span>
<span class="number"> 222</span>        text1 <span class="k3">=</span> <span class="s">"GAME OVER"</span><span class="k2">;</span>
<span class="number"> 223</span>        gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span>
<span class="number"> 224</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 225</span>
<span class="number"> 226</span>    <span class="c">//DINO PULA O BURACO E COME A PLANTA</span>
<span class="number"> 227</span>    <span class="k1">case</span> STATE_PRESSED_PULA_BURACO:
<span class="number"> 228</span>    <span class="k2">{</span>
<span class="number"> 229</span>        text <span class="k3">=</span> <span class="s">"DINO PAROU PARA COMER UMA PLANTA, E A DOR PASSOU. ENTRETANTO, A PLANTA DEIXOU DINO FICOU COM SONO."</span><span class="k2">;</span>
<span class="number"> 230</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE COMEÇAR A CORRER (A) OU PARAR PARA DESCANSAR (B)?"</span><span class="k2">;</span>
<span class="number"> 231</span>        gameState <span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">;</span>
<span class="number"> 232</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 233</span>
<span class="number"> 234</span>    <span class="k1">case</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE:
<span class="number"> 235</span>    <span class="k2">{</span>
<span class="number"> 236</span>        text <span class="k3">=</span> <span class="s">"DINO PAROU PARA DESCANSAR, MAS PERDEU MUITO TEMPO. O METEORO ESTÁ PRÓXIMO."</span><span class="k2">;</span>
<span class="number"> 237</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 238</span>        gameState <span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">;</span>
<span class="number"> 239</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 240</span>
<span class="number"> 241</span>    <span class="k1">case</span> STATE_PRESSED_SONO_CORRE:
<span class="number"> 242</span>    <span class="k2">{</span>
<span class="number"> 243</span>        text <span class="k3">=</span> <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">;</span>
<span class="number"> 244</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 245</span>        gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span>
<span class="number"> 246</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 247</span>
<span class="number"> 248</span>    <span class="k1">case</span> STATE_PRESSED_SONO_DESCANSA:
<span class="number"> 249</span>    <span class="k2">{</span>
<span class="number"> 250</span>        text <span class="k3">=</span> <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">;</span>
<span class="number"> 251</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 252</span>        gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span>
<span class="number"> 253</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 254</span>
<span class="number"> 255</span>
<span class="number"> 256</span>    <span class="c">// CAI NO BURACO</span>
<span class="number"> 257</span>    <span class="k1">case</span> STATE_PRESSED_BURACO:
<span class="number"> 258</span>    <span class="k2">{</span>
<span class="number"> 259</span>        text <span class="k3">=</span> <span class="s">"DINO NÃO PULOU, E CAIU NO BURACO. DINO DEVE PEDIR AJUDA (A) OU SAIR DO BURACO CAVANDO (B)?"</span><span class="k2">;</span>
<span class="number"> 260</span>        gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO<span class="k2">;</span>
<span class="number"> 261</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 262</span>
<span class="number"> 263</span>    <span class="k1">case</span> STATE_PRESSED_CAI_BURACO_CORRE:
<span class="number"> 264</span>    <span class="k2">{</span>
<span class="number"> 265</span>        text <span class="k3">=</span> <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">;</span>
<span class="number"> 266</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 267</span>        gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span>
<span class="number"> 268</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 269</span>
<span class="number"> 270</span>    <span class="k1">case</span> STATE_PRESSED_CAI_BURACO_AJUDA:
<span class="number"> 271</span>    <span class="k2">{</span>
<span class="number"> 272</span>        text <span class="k3">=</span> <span class="s">"DINO ESTAVA CORRENDO MUITO RÁPIDO, E ACABOU TROPEÇANDO E CAINDO. COM ISSO, O METEORO ESTÁ CADA VEZ MAIS PRÓXIMO "</span><span class="k2">;</span>
<span class="number"> 273</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CONTINUAR CORRENDO DO COMETA (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 274</span>        gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO<span class="k2">;</span>
<span class="number"> 275</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 276</span>
<span class="number"> 277</span>    <span class="k1">case</span> STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO:
<span class="number"> 278</span>    <span class="k2">{</span>
<span class="number"> 279</span>        text <span class="k3">=</span> <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">;</span>
<span class="number"> 280</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 281</span>        gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span>
<span class="number"> 282</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 283</span>
<span class="number"> 284</span>    <span class="c">// CAI BURACO SAI CAVANDO</span>
<span class="number"> 285</span>    <span class="k1">case</span> STATE_PRESSED_CAI_BURACO:
<span class="number"> 286</span>    <span class="k2">{</span>
<span class="number"> 287</span>        text <span class="k3">=</span> <span class="s">"DINO SAIU DO BURACO CAVANDO, MAS AGORA ESTÁ COM SEDE."</span><span class="k2">;</span>
<span class="number"> 288</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE IGNORAR A SEDE E COMEÇAR A CORRER (A) OU BEBER ÁGUA (B)?"</span><span class="k2">;</span>
<span class="number"> 289</span>        gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO<span class="k2">;</span>
<span class="number"> 290</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 291</span>
<span class="number"> 292</span>
<span class="number"> 293</span>    <span class="k1">case</span> STATE_PRESSED_CAI_BURACO_CAVANDO:
<span class="number"> 294</span>    <span class="k2">{</span>
<span class="number"> 295</span>        text <span class="k3">=</span> <span class="s">"DINO VAI BEBER ÁGUA, MAS PERDE MUITO TEMPO. DESSA FORMA, O METEORO ESTÁ CADA VEZ MAIS PERTO."</span><span class="k2">;</span>
<span class="number"> 296</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 297</span>        gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA<span class="k2">;</span>
<span class="number"> 298</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 299</span>
<span class="number"> 300</span>    <span class="k1">case</span> STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE:
<span class="number"> 301</span>    <span class="k2">{</span>
<span class="number"> 302</span>        text <span class="k3">=</span> <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">;</span>
<span class="number"> 303</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 304</span>        gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span>
<span class="number"> 305</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 306</span>
<span class="number"> 307</span>
<span class="number"> 308</span>    <span class="k1">case</span> STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA:
<span class="number"> 309</span>    <span class="k2">{</span>
<span class="number"> 310</span>        text <span class="k3">=</span> <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">;</span>
<span class="number"> 311</span>        text1 <span class="k3">=</span> <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">;</span>
<span class="number"> 312</span>        gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span>
<span class="number"> 313</span>    <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 314</span>    <span class="k2">}</span>
<span class="number"> 315</span>
<span class="number"> 316</span>    <span class="k1">return</span> state<span class="k2">;</span>
<span class="number"> 317</span><span class="k2">}</span>
<span class="number"> 318</span>
<span class="number"> 319</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 320</span>    must_init<span class="k2">(</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="s">"allegro"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// auxilia o must_init(), evitar de colocar instruções a mais par averificar erros.</span>
<span class="number"> 321</span>    must_init<span class="k2">(</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="s">"keyboard"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 322</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span>, <span class="s">"mouse"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// instalando o mouse</span>
<span class="number"> 323</span>
<span class="number"> 324</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">30</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 325</span>    must_init<span class="k2">(</span>timer, <span class="s">"timer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 326</span>
<span class="number"> 327</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> gameOverTimer <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">3</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//Game Over timer will last 3 seconds</span>
<span class="number"> 328</span>    must_init<span class="k2">(</span>gameOverTimer, <span class="s">"gameOverTimer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 329</span>
<span class="number"> 330</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a><span class="k3">*</span> 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"> 331</span>    must_init<span class="k2">(</span>queue, <span class="s">"queue"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 332</span>
<span class="number"> 333</span>    <span class="c">// Permite que as formas e linhas tenham maior definição, deixar mais suave</span>
<span class="number"> 334</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number"> 335</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">8</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number"> 336</span>    <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>ALLEGRO_MIN_LINEAR <span class="k3">|</span> ALLEGRO_MAG_LINEAR<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number"> 337</span>
<span class="number"> 338</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a><span class="k3">*</span> disp <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><span class="n">1200</span>, <span class="n">800</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 339</span>    must_init<span class="k2">(</span>disp, <span class="s">"display"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 340</span>
<span class="number"> 341</span>    must_init<span class="k2">(</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="s">"font"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//WE NEED TO INIT FONT FIRST!</span>
<span class="number"> 342</span>    must_init<span class="k2">(</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="s">"ttf font"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//THEN WE NEED TO INIT TTF FONTS</span>
<span class="number"> 343</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">"Antonio-Bold.ttf"</span>, <span class="n">14</span>, ALLEGRO_ALIGN_LEFT<span class="k2">)</span><span class="k2">;</span> <span class="c">//NOW WE CAN CHOOSE SIZE</span>
<span class="number"> 344</span>    <span class="c">//ALLEGRO_FONT* font = al_create_builtin_font();</span>
<span class="number"> 345</span>
<span class="number"> 346</span>    must_init<span class="k2">(</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="s">"primitives"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Para inserir linhas, formas e pontos no código</span>
<span class="number"> 347</span>
<span class="number"> 348</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"> 349</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>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"> 350</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>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>disp<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 351</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>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"> 352</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>queue, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">// adicionado para o mouse funcionar</span>
<span class="number"> 353</span>
<span class="number"> 354</span>    <span class="c">// imagens</span>
<span class="number"> 355</span>    must_init<span class="k2">(</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="s">"image addon"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 356</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> dino_apresentacao <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">"dino_apresentacao.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 357</span>    must_init<span class="k2">(</span>dino_apresentacao, <span class="s">"dino_apresentacao"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 358</span>
<span class="number"> 359</span>    <span class="c">// adicionando o audio ao jogo</span>
<span class="number"> 360</span>    must_init<span class="k2">(</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="s">"audio"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 361</span>    must_init<span class="k2">(</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="s">"audio codecs"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 362</span>    must_init<span class="k2">(</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">16</span><span class="k2">)</span>, <span class="s">"reserve samples"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 363</span>
<span class="number"> 364</span>    <span class="c">// para música longa</span>
<span class="number"> 365</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_AUDIO_STREAM"><span class="a">ALLEGRO_AUDIO_STREAM</span></a><span class="k3">*</span> music <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_audio_stream"><span class="a">al_load_audio_stream</span></a><span class="k2">(</span><span class="s">"music.opus"</span>, <span class="n">2</span>, <span class="n">2048</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// os números são referentes as áreas da memoria onde a musica sera armazenada. não mudar</span>
<span class="number"> 366</span>    must_init<span class="k2">(</span>music, <span class="s">"music"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 367</span>    <a href="http://www.allegro.cc/manual/al_set_audio_stream_playmode"><span class="a">al_set_audio_stream_playmode</span></a><span class="k2">(</span>music, ALLEGRO_PLAYMODE_LOOP<span class="k2">)</span><span class="k2">;</span> <span class="c">// música em loop</span>
<span class="number"> 368</span>    <a href="http://www.allegro.cc/manual/al_attach_audio_stream_to_mixer"><span class="a">al_attach_audio_stream_to_mixer</span></a><span class="k2">(</span>music, <a href="http://www.allegro.cc/manual/al_get_default_mixer"><span class="a">al_get_default_mixer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// linha para o som sair, senão tem sai</span>
<span class="number"> 369</span>
<span class="number"> 370</span>    <span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 371</span>    <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 372</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number"> 373</span>
<span class="number"> 374</span><span class="p">#define KEY_SEEN     1</span>
<span class="number"> 375</span><span class="p">#define KEY_RELEASED 2</span>
<span class="number"> 376</span>
<span class="number"> 377</span>    <span class="k1">unsigned</span> <span class="k1">char</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>ALLEGRO_KEY_MAX<span class="k2">]</span><span class="k2">;</span>
<span class="number"> 378</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_569.html" target="_blank">memset</a><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a>, <span class="n">0</span>, <span class="k1">sizeof</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 379</span>    <a href="http://www.allegro.cc/manual/al_hide_mouse_cursor"><span class="a">al_hide_mouse_cursor</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 380</span>
<span class="number"> 381</span>    <span class="k1">while</span> <span class="k2">(</span><span class="n">1</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 382</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>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 383</span>
<span class="number"> 384</span>        <span class="k1">switch</span> <span class="k2">(</span>event.type<span class="k2">)</span>
<span class="number"> 385</span>        <span class="k2">{</span>
<span class="number"> 386</span>        <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number"> 387</span>        <span class="k2">{</span>
<span class="number"> 388</span>            redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 389</span>
<span class="number"> 390</span>            <span class="k1">if</span> <span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_get_timer_count"><span class="a">al_get_timer_count</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span> <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span> <span class="c">//IF STATE IS GAME OVER AND TIMER HAS TICKED AT LEAST ONCE...</span>
<span class="number"> 391</span>            <span class="k2">{</span>
<span class="number"> 392</span>                text <span class="k3">=</span> <span class="s">"RECOMEÇANDO O JOGO"</span><span class="k2">;</span>
<span class="number"> 393</span>                gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "START"</span>
<span class="number"> 394</span>
<span class="number"> 395</span>                <span class="c">//RESET THE GAME OVER TIMER!</span>
<span class="number"> 396</span>                <span class="c">//al_stop_timer(gameOverTimer);</span>
<span class="number"> 397</span>                <a href="http://www.allegro.cc/manual/al_set_timer_count"><span class="a">al_set_timer_count</span></a><span class="k2">(</span>gameOverTimer, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 398</span>            <span class="k2">}</span>
<span class="number"> 399</span>        <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 400</span>
<span class="number"> 401</span>        <span class="k1">case</span> ALLEGRO_EVENT_KEY_CHAR:
<span class="number"> 402</span>        <span class="k2">{</span>
<span class="number"> 403</span>            <span class="k1">switch</span> <span class="k2">(</span>event.keyboard.keycode<span class="k2">)</span>
<span class="number"> 404</span>            <span class="k2">{</span>
<span class="number"> 405</span>            <span class="k1">case</span> ALLEGRO_KEY_ENTER:
<span class="number"> 406</span>            <span class="k2">{</span>
<span class="number"> 407</span>                <span class="k1">if</span> <span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_START<span class="k2">)</span> <span class="c">//IF WE PRESS ENTER WHEN STATE IS "START"....</span>
<span class="number"> 408</span>                <span class="k2">{</span>
<span class="number"> 409</span>                    text <span class="k3">=</span> <span class="s">"DINO PERCEBE UM METEORO VINDO EM SUA DIREÇÃO E COMEÇA A FUGIR. LOGO A SUA FRENTE, DINO VÊ UM BURACO!"</span><span class="k2">;</span>
<span class="number"> 410</span>                    text1 <span class="k3">=</span> <span class="s">"DINO PULAR O BURACO (A) OU IGNORAR O BURACO (B)?"</span><span class="k2">;</span>
<span class="number"> 411</span>                    gameState <span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED ENTER"</span>
<span class="number"> 412</span>                <span class="k2">}</span>
<span class="number"> 413</span>            <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 414</span>
<span class="number"> 415</span>            <span class="k1">case</span> ALLEGRO_KEY_A:
<span class="number"> 416</span>            <span class="k2">{</span>
<span class="number"> 417</span>                gameState <span class="k3">=</span> pressed_a<span class="k2">(</span>gameState<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 418</span>            <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 419</span>
<span class="number"> 420</span>            <span class="k1">case</span> ALLEGRO_KEY_B:
<span class="number"> 421</span>            <span class="k2">{</span>
<span class="number"> 422</span>                gameState <span class="k3">=</span> pressed_b<span class="k2">(</span>gameState<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 423</span>            <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 424</span>
<span class="number"> 425</span><span class="c">/*********************Need to clean up this***********/</span>
<span class="number"> 426</span>            <span class="c">//HERE WE USE A SINLE KEY (BACKSPACE), AND THEN USE IF/ELSE TO DO DIFFERENT THINGS, DEPENDING ON THE STATE...</span>
<span class="number"> 427</span>            <span class="k1">case</span> ALLEGRO_KEY_BACKSPACE:
<span class="number"> 428</span>            <span class="k2">{</span>
<span class="number"> 429</span>                <span class="k1">if</span> <span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">)</span> <span class="c">//IF WE HAVE ONLY PRESSED ENTER...</span>
<span class="number"> 430</span>                <span class="k2">{</span>
<span class="number"> 431</span>                    <span class="c">//al_draw_bitmap(dino_apresentacao, 70, 100, 0);</span>
<span class="number"> 432</span>                    text <span class="k3">=</span> <span class="s">"PRESSIONE ENTER PARA COMEÇAR O JOGO"</span><span class="k2">;</span>
<span class="number"> 433</span>                    gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "START"</span>
<span class="number"> 434</span>                <span class="k2">}</span>
<span class="number"> 435</span>
<span class="number"> 436</span>                <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">)</span> <span class="c">//ELSE IF WE HAVE PRESSED A OR B...</span>
<span class="number"> 437</span>                <span class="k2">{</span>
<span class="number"> 438</span>                    <span class="c">//al_draw_bitmap(dino_apresentacao, 70, 100, 0);</span>
<span class="number"> 439</span>                    text <span class="k3">=</span> <span class="s">"PARA JOGAR NOVAMENTE, APERTE O BOTÃO DE ESPAÇO"</span><span class="k2">;</span>
<span class="number"> 440</span>                    gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "PRESSED ENTER"</span>
<span class="number"> 441</span>                <span class="k2">}</span>
<span class="number"> 442</span>            <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 443</span>
<span class="number"> 444</span>            <span class="k1">case</span> ALLEGRO_KEY_ESCAPE:
<span class="number"> 445</span>            <span class="k2">{</span>
<span class="number"> 446</span>                done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 447</span>            <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 448</span>            <span class="k2">}</span>
<span class="number"> 449</span>        <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 450</span>
<span class="number"> 451</span>        <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 452</span>        <span class="k2">{</span>
<span class="number"> 453</span>            done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 454</span>        <span class="k2">}</span> <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 455</span>        <span class="k2">}</span>
<span class="number"> 456</span>
<span class="number"> 457</span>        <span class="k1">if</span> <span class="k2">(</span>done<span class="k2">)</span>
<span class="number"> 458</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 459</span>
<span class="number"> 460</span>        <span class="k1">if</span> <span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 461</span>        <span class="k2">{</span>
<span class="number"> 462</span>            <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 463</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">100</span>, <span class="n">500</span>, <span class="n">0</span>, text<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 464</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">300</span>, <span class="n">550</span>, <span class="n">0</span>, text1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 465</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"> 466</span>
<span class="number"> 467</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 468</span>        <span class="k2">}</span>
<span class="number"> 469</span>
<span class="number"> 470</span>    <span class="k2">}</span>
<span class="number"> 471</span>
<span class="number"> 472</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>dino_apresentacao<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 473</span>    <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 474</span>    <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 475</span>    <a href="http://www.allegro.cc/manual/al_destroy_audio_stream"><span class="a">al_destroy_audio_stream</span></a><span class="k2">(</span>music<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 476</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"> 477</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>queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 478</span>
<span class="number"> 479</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 480</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Wed, 19 May 2021 06:24:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hello.</p><p>Really cool what you did separete the A and B. But it&#39;s not working properly. For exemple, almost all the decision with B is not working, only A, and not always correctely. I will look with more attention. </p><p>About the library, how do I link </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>must_init<span class="k2">(</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="s">"font"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 2</span>must_init<span class="k2">(</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="s">"ttf font"</span><span class="k2">)</span><span class="k2">;</span>
</div></div><p>


The loop in the game is not working too. You know how to correct it?</p><p>Thanks again.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (mayna azevedo)</author>
		<pubDate>Thu, 20 May 2021 04:23:58 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah, I noticed that. </p><p>Plus you had duplicate elseifs.</p><p>Best bet would be to get a pencil and paper and workout the flowchart first. Then go through the code and make sure the states are correct?</p><p>Draw it out with. make circle for each state. draw lines from state to state if you press A or B. </p><p>If state _ and press key _ what is next state?</p><p>I don&#39;t understand Portuguese to understand what is going on.</p><p>google translate does help a little<br />Dino sees a meteor. A - Jump in hole, B - Ignore hole
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Thu, 20 May 2021 04:42:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Okayyyyyyyyyyyyyyy, the last two question! <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> (sorry, I have the sensation that will never end).</p><p>So, I discovery, that in linux, we have to add allegro_font-5 to compile</p><p><span class="source-code">gcc jogo_dino_allegro.c <span class="k3">-</span>o jogo_dino_allegro $<span class="k2">(</span>pkg-config allegro-5 allegro_font-5 allegro_ttf-5 allegro_image-5 allegro_primitives-5 allegro_audio-5 allegro_acodec-5 <span class="k3">-</span><span class="k3">-</span>libs <span class="k3">-</span><span class="k3">-</span>cflags<span class="k2">)</span></span></p><p>So I change the code, But now all the letters disappear. The game will stay with the black window. </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>must_init<span class="k2">(</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="s">"ttf font"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//THEN WE NEED TO INIT TTF FONTS</span>
<span class="number"> 3</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">"Antonio-Bold.ttf"</span>, <span class="n">14</span>, ALLEGRO_ALIGN_LEFT<span class="k2">)</span><span class="k2">;</span> <span class="c">//NOW WE CAN CHOOSE SIZE</span>
<span class="number"> 4</span><a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a><span class="k3">*</span> font1 <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">"Antonio-Bold.ttf"</span>, <span class="n">14</span>, ALLEGRO_ALIGN_LEFT<span class="k2">)</span><span class="k2">;</span> 
<span class="number"> 5</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">"Antonio-Bold.ttf"</span>, <span class="n">14</span>, ALLEGRO_ALIGN_LEFT<span class="k2">)</span><span class="k2">;</span>
</div></div><p>


And another think: I put images in the code, but they appear quickly, in milliseconds. How do I make them stay on screen longer?</p><p>See all the code and the files:</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">   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;allegro5/allegro5.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_font.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_audio.h&gt; // biblioteca de som</span>
<span class="number">   9</span><span class="p">#include &lt;allegro5/allegro_acodec.h&gt;</span>
<span class="number">  10</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt; // permite colocar formas simples, linhas, pontos, etc. (formas primitivas)</span>
<span class="number">  11</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt; //NEED FOR TTF FONTS</span>
<span class="number">  12</span>
<span class="number">  13</span><span class="c">//HERE ARE THE GAME STATES, WE NEED TO KNOW WHAT "STATE" THE GAME IS IN...</span>
<span class="number">  14</span><span class="p">#define STATE_START 1</span>
<span class="number">  15</span><span class="p">#define STATE_PRESSED_BURACO 2</span>
<span class="number">  16</span><span class="p">#define STATE_PRESSED_PULA_BURACO 3</span>
<span class="number">  17</span><span class="p">#define STATE_PRESSED_CAI_BURACO 4</span>
<span class="number">  18</span><span class="p">#define STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE 5</span>
<span class="number">  19</span><span class="p">#define STATE_PRESSED_SONO_DESCANSA_OU_CORRE 6</span>
<span class="number">  20</span><span class="p">#define STATE_PRESSED_MACHUCADO_CORRE 7</span>
<span class="number">  21</span><span class="p">#define STATE_PRESSED_MACHUCADO_DESCANSA 8</span>
<span class="number">  22</span><span class="p">#define STATE_PRESSED_GAME_OVER 9</span>
<span class="number">  23</span><span class="p">#define STATE_PRESSED_SONO_CORRE 10</span>
<span class="number">  24</span><span class="p">#define STATE_PRESSED_SONO_DESCANSA 11</span>
<span class="number">  25</span><span class="p">#define STATE_PRESSED_CAI_BURACO_AJUDA 12</span>
<span class="number">  26</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CORRE 13</span>
<span class="number">  27</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO 14</span>
<span class="number">  28</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CAVANDO 15</span>
<span class="number">  29</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE 16</span>
<span class="number">  30</span><span class="p">#define STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA 17</span>
<span class="number">  31</span><span class="p">#define STATE_CORRE 18</span>
<span class="number">  32</span><span class="p">#define STATE_ABRIGO 19</span>
<span class="number">  33</span>
<span class="number">  34</span><span class="k1">int</span> gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//HERE IS OUR STARTING STATE, WE CAN CHANGE THIS TO USE IN OUR "IF"</span>
<span class="number">  35</span>
<span class="number">  36</span>
<span class="number">  37</span><span class="k1">char</span> text<span class="k2">[</span><span class="n">255</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">"PRESSIONE ENTER PARA COMEÇAR O JOGO"</span><span class="k2">;</span>
<span class="number">  38</span><span class="k1">char</span> text1<span class="k2">[</span><span class="n">255</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">" "</span><span class="k2">;</span>
<span class="number">  39</span><span class="k1">char</span> text2<span class="k2">[</span><span class="n">255</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">"@ TODOS DIREITOS RESERVADOS AO DINO PESCOÇUDO @"</span><span class="k2">;</span>
<span class="number">  40</span>
<span class="number">  41</span><span class="k1">void</span> must_init<span class="k2">(</span><span class="k1">bool</span> test, <span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>description<span class="k2">)</span><span class="k2">{</span>
<span class="number">  42</span>    <span class="k1">if</span><span class="k2">(</span>test<span class="k2">)</span> <span class="k1">return</span><span class="k2">;</span>
<span class="number">  43</span>
<span class="number">  44</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"couldn't initialize %s\n"</span>, description<span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  46</span><span class="k2">}</span>
<span class="number">  47</span>
<span class="number">  48</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span>
<span class="number">  49</span>    must_init<span class="k2">(</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="s">"allegro"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// auxilia o must_init(), evitar de colocar instruções a mais par averificar erros.</span>
<span class="number">  50</span>    must_init<span class="k2">(</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="s">"keyboard"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  51</span>    must_init<span class="k2">(</span><a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span>, <span class="s">"mouse"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// instalando o mouse</span>
<span class="number">  52</span>
<span class="number">  53</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">30</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  54</span>    must_init<span class="k2">(</span>timer, <span class="s">"timer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>
<span class="number">  56</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> gameOverTimer <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">3</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//Game Over timer will last 3 seconds</span>
<span class="number">  57</span>    must_init<span class="k2">(</span>gameOverTimer, <span class="s">"gameOverTimer"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  58</span>
<span class="number">  59</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a><span class="k3">*</span> 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">  60</span>    must_init<span class="k2">(</span>queue, <span class="s">"queue"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  61</span>
<span class="number">  62</span>     <span class="c">// Permite que as formas e linhas tenham maior definição, deixar mais suave</span>
<span class="number">  63</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  64</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">8</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  65</span>    <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>ALLEGRO_MIN_LINEAR <span class="k3">|</span> ALLEGRO_MAG_LINEAR<span class="k2">)</span><span class="k2">;</span> <span class="c">// imagem suave</span>
<span class="number">  66</span>
<span class="number">  67</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a><span class="k3">*</span> disp <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><span class="n">1200</span>, <span class="n">800</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  68</span>    must_init<span class="k2">(</span>disp, <span class="s">"display"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>
<span class="number">  70</span>    <span class="c">// add novo</span>
<span class="number">  71</span>    <span class="c">/*</span>
<span class="number">  72</span><span class="c">    ALLEGRO_FONT* font = al_create_builtin_font();</span>
<span class="number">  73</span><span class="c">    must_init(font, "font");</span>
<span class="number">  74</span><span class="c"></span>
<span class="number">  75</span><span class="c">    ALLEGRO_FONT* font1 = al_create_builtin_font();</span>
<span class="number">  76</span><span class="c">    must_init(font1, "font1");</span>
<span class="number">  77</span><span class="c"></span>
<span class="number">  78</span><span class="c">    ALLEGRO_FONT* font2 = al_create_builtin_font();</span>
<span class="number">  79</span><span class="c">    must_init(font1, "font2");</span>
<span class="number">  80</span><span class="c">    */</span>
<span class="number">  81</span>    
<span class="number">  82</span>
<span class="number">  83</span>    <span class="c">//ALLEGRO_FONT* font = al_create_builtin_font();</span>
<span class="number">  84</span>    <span class="c">//must_init(al_init_font_addon(), "font"); //WE NEED TO INIT FONT FIRST!</span>
<span class="number">  85</span>    must_init<span class="k2">(</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="s">"ttf font"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//THEN WE NEED TO INIT TTF FONTS</span>
<span class="number">  86</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">"Antonio-Bold.ttf"</span>, <span class="n">14</span>, ALLEGRO_ALIGN_LEFT<span class="k2">)</span><span class="k2">;</span> <span class="c">//NOW WE CAN CHOOSE SIZE</span>
<span class="number">  87</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a><span class="k3">*</span> font1 <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">"Antonio-Bold.ttf"</span>, <span class="n">14</span>, ALLEGRO_ALIGN_LEFT<span class="k2">)</span><span class="k2">;</span> 
<span class="number">  88</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a><span class="k3">*</span> 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">"Antonio-Bold.ttf"</span>, <span class="n">14</span>, ALLEGRO_ALIGN_LEFT<span class="k2">)</span><span class="k2">;</span> 
<span class="number">  89</span>
<span class="number">  90</span>    <span class="c">//al_init_font_addon();</span>
<span class="number">  91</span>    <span class="c">//al_init_ttf_addon();</span>
<span class="number">  92</span>
<span class="number">  93</span>    must_init<span class="k2">(</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="s">"primitives"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Para inserir linhas, formas e pontos no código</span>
<span class="number">  94</span>
<span class="number">  95</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">  96</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>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">  97</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>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>disp<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  98</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>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">  99</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>queue, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">// adicionado para o mouse funcionar</span>
<span class="number"> 100</span>
<span class="number"> 101</span>    <span class="c">// imagens</span>
<span class="number"> 102</span>    must_init<span class="k2">(</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="s">"image addon"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 103</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> apresentacao <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">"apresentacao.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 104</span>    must_init<span class="k2">(</span>apresentacao, <span class="s">"apresentacao"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 105</span>
<span class="number"> 106</span>    <span class="c">// adicionando o audio ao jogo</span>
<span class="number"> 107</span>    must_init<span class="k2">(</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="s">"audio"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 108</span>    must_init<span class="k2">(</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="s">"audio codecs"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 109</span>    must_init<span class="k2">(</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">16</span><span class="k2">)</span>, <span class="s">"reserve samples"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 110</span>
<span class="number"> 111</span>    <span class="c">// para música longa</span>
<span class="number"> 112</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_AUDIO_STREAM"><span class="a">ALLEGRO_AUDIO_STREAM</span></a><span class="k3">*</span> music <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_audio_stream"><span class="a">al_load_audio_stream</span></a><span class="k2">(</span><span class="s">"music.opus"</span>, <span class="n">2</span>, <span class="n">2048</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// os números são referentes as áreas da memoria onde a musica sera armazenada. não mudar</span>
<span class="number"> 113</span>    must_init<span class="k2">(</span>music, <span class="s">"music"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 114</span>    <a href="http://www.allegro.cc/manual/al_set_audio_stream_playmode"><span class="a">al_set_audio_stream_playmode</span></a><span class="k2">(</span>music, ALLEGRO_PLAYMODE_LOOP<span class="k2">)</span><span class="k2">;</span> <span class="c">// música em loop</span>
<span class="number"> 115</span>    <a href="http://www.allegro.cc/manual/al_attach_audio_stream_to_mixer"><span class="a">al_attach_audio_stream_to_mixer</span></a><span class="k2">(</span>music, <a href="http://www.allegro.cc/manual/al_get_default_mixer"><span class="a">al_get_default_mixer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// linha para o som sair, senão tem sai</span>
<span class="number"> 116</span>
<span class="number"> 117</span>    <span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 118</span>    <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 119</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number"> 120</span>
<span class="number"> 121</span>    <span class="p">#define KEY_SEEN     1</span>
<span class="number"> 122</span>    <span class="p">#define KEY_RELEASED 2</span>
<span class="number"> 123</span>
<span class="number"> 124</span>    <span class="k1">unsigned</span> <span class="k1">char</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>ALLEGRO_KEY_MAX<span class="k2">]</span><span class="k2">;</span>
<span class="number"> 125</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_569.html" target="_blank">memset</a><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a>, <span class="n">0</span>, <span class="k1">sizeof</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 126</span>    <a href="http://www.allegro.cc/manual/al_hide_mouse_cursor"><span class="a">al_hide_mouse_cursor</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 127</span>
<span class="number"> 128</span>
<span class="number"> 129</span>
<span class="number"> 130</span>    <span class="k1">while</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">{</span>
<span class="number"> 131</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>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 132</span>
<span class="number"> 133</span>        <span class="k1">switch</span><span class="k2">(</span>event.type<span class="k2">)</span>
<span class="number"> 134</span>        <span class="k2">{</span>
<span class="number"> 135</span>            <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number"> 136</span>            <span class="k2">{</span>
<span class="number"> 137</span>                redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 138</span>
<span class="number"> 139</span>                <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_get_timer_count"><span class="a">al_get_timer_count</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span> <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span> <span class="c">//IF STATE IS GAME OVER AND TIMER HAS TICKED AT LEAST ONCE...</span>
<span class="number"> 140</span>                <span class="k2">{</span>
<span class="number"> 141</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"RECOMEÇANDO O JOGO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 142</span>                    gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "START"</span>
<span class="number"> 143</span>
<span class="number"> 144</span>                    <span class="c">//RESET THE GAME OVER TIMER!</span>
<span class="number"> 145</span>                    <a href="http://www.allegro.cc/manual/al_stop_timer"><span class="a">al_stop_timer</span></a><span class="k2">(</span>gameOverTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 146</span>                    <a href="http://www.allegro.cc/manual/al_set_timer_count"><span class="a">al_set_timer_count</span></a><span class="k2">(</span>gameOverTimer, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 147</span>                <span class="k2">}</span>
<span class="number"> 148</span>
<span class="number"> 149</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 150</span>            <span class="k2">}</span>
<span class="number"> 151</span>
<span class="number"> 152</span>            <span class="k1">case</span> ALLEGRO_EVENT_KEY_CHAR:
<span class="number"> 153</span>            <span class="k2">{</span>
<span class="number"> 154</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ENTER <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_START<span class="k2">)</span> <span class="c">//IF WE PRESS ENTER WHEN STATE IS "START"....</span>
<span class="number"> 155</span>                <span class="k2">{</span>
<span class="number"> 156</span>                    <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>apresentacao, <span class="n">100</span>, <span class="n">100</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 157</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PERCEBE UM METEORO VINDO EM SUA DIREÇÃO E COMEÇA A FUGIR. LOGO A SUA FRENTE, DINO VÊ UM BURACO!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 158</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO PULAR O BURACO (A) OU IGNORAR O BURACO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 159</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text2, <span class="s">"%s"</span>, <span class="s">""</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 160</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"> 161</span>                    redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 162</span>                    gameState <span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">;</span> <span class="c">//...NOW WE CHANGE STATE TO "PRESSED ENTER"</span>
<span class="number"> 163</span>
<span class="number"> 164</span>                <span class="k2">}</span>
<span class="number"> 165</span>                <span class="c">// PULA BURACO </span>
<span class="number"> 166</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">)</span> 
<span class="number"> 167</span>                <span class="k2">{</span>
<span class="number"> 168</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PULOU O BURACO, MAS MACHUCOU A PATINHA!!! "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 169</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO (A), MESMO MACHUCADO, OU COMER UMA PLANTA MEDICINAL (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 170</span>                    gameState <span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">;</span>
<span class="number"> 171</span>                <span class="k2">}</span>
<span class="number"> 172</span>                
<span class="number"> 173</span>                <span class="c">// DINO PULA BURACO E CORRE</span>
<span class="number"> 174</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">)</span> 
<span class="number"> 175</span>                <span class="k2">{</span>
<span class="number"> 176</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO, MESMO MACHUCADO, CONTINUOU CORRENDO. ENTRETANTO, ESTÁ CORRENDO MUITO DEVAGAR!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 177</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO MACHUCADO (A) OU DESCANSAR PARA SARAR A PATINHA (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 178</span>                    gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">;</span> 
<span class="number"> 179</span>                <span class="k2">}</span>
<span class="number"> 180</span>
<span class="number"> 181</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 182</span>                <span class="k2">{</span>
<span class="number"> 183</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUOU CORRENDO, MAS SUA VELOCIDADE AINDA É BAIXA. DESSA FORMA, O METEORO ESTÁ CADA VEZ MAIS PRÓXIMO!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 184</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 185</span>                    gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<span class="k2">;</span> 
<span class="number"> 186</span>                <span class="k2">}</span>
<span class="number"> 187</span>
<span class="number"> 188</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE<span class="k2">)</span> 
<span class="number"> 189</span>                <span class="k2">{</span>
<span class="number"> 190</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PAROU PARA DESCANSAR, MAS PERDEU MUITO TEMPO E O METEORO ESTÁ PRÓXIMO!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 191</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 192</span>                    gameState <span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<span class="k2">;</span>
<span class="number"> 193</span>                <span class="k2">}</span>
<span class="number"> 194</span>
<span class="number"> 195</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<span class="k2">)</span> 
<span class="number"> 196</span>                <span class="k2">{</span>
<span class="number"> 197</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 198</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 199</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 200</span>                <span class="k2">}</span>
<span class="number"> 201</span>
<span class="number"> 202</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_CORRE<span class="k2">)</span> 
<span class="number"> 203</span>                <span class="k2">{</span>
<span class="number"> 204</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 205</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 206</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 207</span>                <span class="k2">}</span>
<span class="number"> 208</span>
<span class="number"> 209</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<span class="k2">)</span> 
<span class="number"> 210</span>                <span class="k2">{</span>
<span class="number"> 211</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 212</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRERENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 213</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 214</span>                <span class="k2">}</span>
<span class="number"> 215</span>
<span class="number"> 216</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_MACHUCADO_DESCANSA<span class="k2">)</span> 
<span class="number"> 217</span>                <span class="k2">{</span>
<span class="number"> 218</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 219</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 220</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 221</span>                <span class="k2">}</span>
<span class="number"> 222</span>
<span class="number"> 223</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_CORRE<span class="k2">)</span> 
<span class="number"> 224</span>                <span class="k2">{</span>
<span class="number"> 225</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 226</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER! JOGAR NOVAMENTE (S)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 227</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 228</span>                <span class="k2">}</span>
<span class="number"> 229</span>
<span class="number"> 230</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_S <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">)</span> 
<span class="number"> 231</span>                <span class="k2">{</span>
<span class="number"> 232</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"RECOMEÇA"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 233</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"ENTER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 234</span>                    gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> 
<span class="number"> 235</span>                <span class="k2">}</span>
<span class="number"> 236</span>
<span class="number"> 237</span>
<span class="number"> 238</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_CORRE<span class="k2">)</span> 
<span class="number"> 239</span>                <span class="k2">{</span>
<span class="number"> 240</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 241</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER! JOGAR NOVAMENTE?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 242</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 243</span>                <span class="k2">}</span>
<span class="number"> 244</span>
<span class="number"> 245</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_ABRIGO<span class="k2">)</span> 
<span class="number"> 246</span>                <span class="k2">{</span>
<span class="number"> 247</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 248</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER! JOGAR NOVAMENTE (S)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 249</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 250</span>                <span class="k2">}</span>
<span class="number"> 251</span>
<span class="number"> 252</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_ABRIGO<span class="k2">)</span> 
<span class="number"> 253</span>                <span class="k2">{</span>
<span class="number"> 254</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"VOCÊ MATOU O DINO!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 255</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"GAME OVER! JOGAR NOVAMENTE (S)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 256</span>                    gameState <span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">;</span> 
<span class="number"> 257</span>                <span class="k2">}</span>
<span class="number"> 258</span>
<span class="number"> 259</span>                <span class="c">//DINO PULA O BURACO E COME A PLANTA</span>
<span class="number"> 260</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_PULA_BURACO<span class="k2">)</span>
<span class="number"> 261</span>                <span class="k2">{</span>
<span class="number"> 262</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PAROU PARA COMER UMA PLANTA, E A DOR PASSOU. ENTRETANTO, A PLANTA DEIXOU DINO FICOU COM SONO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 263</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE COMEÇAR A CORRER (A) OU PARAR PARA DESCANSAR (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 264</span>                    gameState <span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">;</span> 
<span class="number"> 265</span>                <span class="k2">}</span>
<span class="number"> 266</span>
<span class="number"> 267</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 268</span>                <span class="k2">{</span>
<span class="number"> 269</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO COMEÇAR A CORRER MESMO SONOLENTO, E FICA BEM DEVAGAR. ASSIM, PERDEU MUITO TEMPO E O COMETA ESTÁ PRÓXIMO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 270</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 271</span>                    gameState <span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">;</span> 
<span class="number"> 272</span>                <span class="k2">}</span>
<span class="number"> 273</span>
<span class="number"> 274</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA_OU_CORRE<span class="k2">)</span>
<span class="number"> 275</span>                <span class="k2">{</span>
<span class="number"> 276</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PAROU PARA DESCANSAR, MAS PERDEU MUITO TEMPO. O METEORO ESTÁ PRÓXIMO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 277</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 278</span>                    gameState <span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">;</span> 
<span class="number"> 279</span>                <span class="k2">}</span>
<span class="number"> 280</span>
<span class="number"> 281</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">)</span> 
<span class="number"> 282</span>                <span class="k2">{</span>
<span class="number"> 283</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 284</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 285</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 286</span>                <span class="k2">}</span>
<span class="number"> 287</span>
<span class="number"> 288</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_CORRE<span class="k2">)</span> 
<span class="number"> 289</span>                <span class="k2">{</span>
<span class="number"> 290</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 291</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 292</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 293</span>                <span class="k2">}</span>
<span class="number"> 294</span>
<span class="number"> 295</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 296</span>                <span class="k2">{</span>
<span class="number"> 297</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 298</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 299</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 300</span>                <span class="k2">}</span>
<span class="number"> 301</span>
<span class="number"> 302</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 303</span>                <span class="k2">{</span>
<span class="number"> 304</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 305</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 306</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 307</span>                <span class="k2">}</span>
<span class="number"> 308</span>
<span class="number"> 309</span>
<span class="number"> 310</span>                <span class="c">// CAI NO BURACO</span>
<span class="number"> 311</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_BURACO<span class="k2">)</span>
<span class="number"> 312</span>                <span class="k2">{</span>
<span class="number"> 313</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO NÃO PULOU, E CAIU NO BURACO. DINO DEVE PEDIR AJUDA (A) OU SAIR DO BURACO CAVANDO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 314</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">" "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 315</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO<span class="k2">;</span> 
<span class="number"> 316</span>                <span class="k2">}</span>
<span class="number"> 317</span>
<span class="number"> 318</span>                <span class="c">// CAI BURACO SAI COM AJUDA</span>
<span class="number"> 319</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO<span class="k2">)</span>
<span class="number"> 320</span>                <span class="k2">{</span>
<span class="number"> 321</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PEDIU AJUDA, MAS DEMOROU MUITO PARA AJUDA-LO, E PERDEU MUITO TEMPO. "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 322</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CORRER NORMALMENTE (A) OU CORRER O MAIS RÁPIDO POSSIVEL (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 323</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_AJUDA<span class="k2">;</span> 
<span class="number"> 324</span>                <span class="k2">}</span>
<span class="number"> 325</span>
<span class="number"> 326</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_AJUDA<span class="k2">)</span>
<span class="number"> 327</span>                <span class="k2">{</span>
<span class="number"> 328</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO NÃO ESTÁ CORRENDO RÁPIDO O SUFICIENTE, E O METEORO ESTÁ SE APROXIMANDO. "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 329</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO COMETA (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 330</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE<span class="k2">;</span> 
<span class="number"> 331</span>                <span class="k2">}</span>
<span class="number"> 332</span>
<span class="number"> 333</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE<span class="k2">)</span> 
<span class="number"> 334</span>                <span class="k2">{</span>
<span class="number"> 335</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 336</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 337</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 338</span>                <span class="k2">}</span>
<span class="number"> 339</span>
<span class="number"> 340</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE<span class="k2">)</span> 
<span class="number"> 341</span>                <span class="k2">{</span>
<span class="number"> 342</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 343</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 344</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 345</span>                <span class="k2">}</span>
<span class="number"> 346</span>
<span class="number"> 347</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 348</span>                <span class="k2">{</span>
<span class="number"> 349</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 350</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 351</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 352</span>                <span class="k2">}</span>
<span class="number"> 353</span>
<span class="number"> 354</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 355</span>                <span class="k2">{</span>
<span class="number"> 356</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 357</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 358</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 359</span>                <span class="k2">}</span>
<span class="number"> 360</span>
<span class="number"> 361</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_AJUDA<span class="k2">)</span>
<span class="number"> 362</span>                <span class="k2">{</span>
<span class="number"> 363</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTAVA CORRENDO MUITO RÁPIDO, E ACABOU TROPEÇANDO E CAINDO. COM ISSO, O METEORO ESTÁ CADA VEZ MAIS PRÓXIMO "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 364</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRENDO DO COMETA (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 365</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO<span class="k2">;</span> 
<span class="number"> 366</span>                <span class="k2">}</span>
<span class="number"> 367</span>
<span class="number"> 368</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO<span class="k2">)</span> 
<span class="number"> 369</span>                <span class="k2">{</span>
<span class="number"> 370</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 371</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 372</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 373</span>                <span class="k2">}</span>
<span class="number"> 374</span>
<span class="number"> 375</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO<span class="k2">)</span> 
<span class="number"> 376</span>                <span class="k2">{</span>
<span class="number"> 377</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 378</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 379</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 380</span>                <span class="k2">}</span>
<span class="number"> 381</span>
<span class="number"> 382</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 383</span>                <span class="k2">{</span>
<span class="number"> 384</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 385</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 386</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 387</span>                <span class="k2">}</span>
<span class="number"> 388</span>
<span class="number"> 389</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_SONO_DESCANSA<span class="k2">)</span> 
<span class="number"> 390</span>                <span class="k2">{</span>
<span class="number"> 391</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 392</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 393</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 394</span>                <span class="k2">}</span>
<span class="number"> 395</span>
<span class="number"> 396</span>                <span class="c">// CAI BURACO SAI CAVANDO</span>
<span class="number"> 397</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO<span class="k2">)</span>
<span class="number"> 398</span>                <span class="k2">{</span>
<span class="number"> 399</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO SAIU DO BURACO CAVANDO, MAS AGORA ESTÁ COM SEDE."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 400</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE IGNORAR A SEDE E COMEÇAR A CORRER (A) OU BEBER ÁGUA (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 401</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO<span class="k2">;</span> 
<span class="number"> 402</span>                <span class="k2">}</span>
<span class="number"> 403</span>
<span class="number"> 404</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO<span class="k2">)</span>
<span class="number"> 405</span>                <span class="k2">{</span>
<span class="number"> 406</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO COMEÇAR A CORRER COM SEDE, E ISSO O DEIXA MUITO LENTO. DESSA FORMA, O METEORO ESTÁ CADA VEZ MAIS PERTO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 407</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 408</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE<span class="k2">;</span> 
<span class="number"> 409</span>                <span class="k2">}</span>
<span class="number"> 410</span>
<span class="number"> 411</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO<span class="k2">)</span>
<span class="number"> 412</span>                <span class="k2">{</span>
<span class="number"> 413</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO VAI BEBER ÁGUA, MAS PERDE MUITO TEMPO. DESSA FORMA, O METEORO ESTÁ CADA VEZ MAIS PERTO."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 414</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 415</span>                    gameState <span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA<span class="k2">;</span> 
<span class="number"> 416</span>                <span class="k2">}</span>
<span class="number"> 417</span>
<span class="number"> 418</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE<span class="k2">)</span> 
<span class="number"> 419</span>                <span class="k2">{</span>
<span class="number"> 420</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 421</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 422</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 423</span>                <span class="k2">}</span>
<span class="number"> 424</span>
<span class="number"> 425</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE<span class="k2">)</span> 
<span class="number"> 426</span>                <span class="k2">{</span>
<span class="number"> 427</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 428</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 429</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 430</span>                <span class="k2">}</span>
<span class="number"> 431</span>
<span class="number"> 432</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_A <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA<span class="k2">)</span> 
<span class="number"> 433</span>                <span class="k2">{</span>
<span class="number"> 434</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO CONTINUAR CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO! (IMAGEM CORRENDO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 435</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 436</span>                    gameState <span class="k3">=</span> STATE_CORRE<span class="k2">;</span>
<span class="number"> 437</span>                <span class="k2">}</span>
<span class="number"> 438</span>
<span class="number"> 439</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_B <span class="k3">&amp;</span><span class="k3">&amp;</span> gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA<span class="k2">)</span> 
<span class="number"> 440</span>                <span class="k2">{</span>
<span class="number"> 441</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO! (IMAGEM ABRIGO)"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 442</span>                    <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text1, <span class="s">"%s"</span>, <span class="s">"DINO DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 443</span>                    gameState <span class="k3">=</span> STATE_ABRIGO<span class="k2">;</span> 
<span class="number"> 444</span>                <span class="k2">}</span>
<span class="number"> 445</span>
<span class="number"> 446</span>
<span class="number"> 447</span>                
<span class="number"> 448</span>
<span class="number"> 449</span>                <span class="c">//HERE WE USE A SINLE KEY (BACKSPACE), AND THEN USE IF/ELSE TO DO DIFFERENT THINGS, DEPENDING ON THE STATE...</span>
<span class="number"> 450</span>                <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_BACKSPACE<span class="k2">)</span>
<span class="number"> 451</span>                <span class="k2">{</span>
<span class="number"> 452</span>                    <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">)</span> <span class="c">//IF WE HAVE ONLY PRESSED ENTER...</span>
<span class="number"> 453</span>                    <span class="k2">{</span>
<span class="number"> 454</span>                        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>apresentacao, <span class="n">70</span>, <span class="n">100</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 455</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PRESSIONE ENTER PARA COMEÇAR O JOGO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 456</span>                        <span class="c">//al_draw_text(font, al_map_rgb(255, 255, 255), 430, 750, 0, "@ TODOS DIREITOS RESERVADOS AO DINO PESCOÇUDO @");</span>
<span class="number"> 457</span>                        gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "START"</span>
<span class="number"> 458</span>                    <span class="k2">}</span>
<span class="number"> 459</span>
<span class="number"> 460</span>                    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_PRESSED_GAME_OVER<span class="k2">)</span> <span class="c">//ELSE IF WE HAVE PRESSED A OR B...</span>
<span class="number"> 461</span>                    <span class="k2">{</span>
<span class="number"> 462</span>                        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>apresentacao, <span class="n">70</span>, <span class="n">100</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 463</span>                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"PARA JOGAR NOVAMENTE, APERTE O BOTÃO DE ESPAÇO"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 464</span>                        gameState <span class="k3">=</span> STATE_START<span class="k2">;</span> <span class="c">//...WE CHANGE GO BACK TO STATE "PRESSED ENTER"</span>
<span class="number"> 465</span>                    <span class="k2">}</span>
<span class="number"> 466</span>                <span class="k2">}</span>
<span class="number"> 467</span>
<span class="number"> 468</span>                <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">!</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 469</span>                <span class="k2">{</span>
<span class="number"> 470</span>                    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 471</span>                <span class="k2">}</span>
<span class="number"> 472</span>            <span class="k2">}</span>
<span class="number"> 473</span>
<span class="number"> 474</span>            <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 475</span>            <span class="k2">{</span>
<span class="number"> 476</span>                done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 477</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 478</span>            <span class="k2">}</span>
<span class="number"> 479</span>        <span class="k2">}</span>
<span class="number"> 480</span>
<span class="number"> 481</span>        <span class="k1">if</span><span class="k2">(</span>done<span class="k2">)</span>
<span class="number"> 482</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 483</span>
<span class="number"> 484</span>        <span class="k1">if</span><span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 485</span>        <span class="k2">{</span>
<span class="number"> 486</span>            <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 487</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">200</span>, <span class="n">500</span>, <span class="n">0</span>, text<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 488</span>            <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font1, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">400</span>, <span class="n">550</span>, <span class="n">0</span>, text1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 489</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">255</span><span class="k2">)</span>, <span class="n">400</span>, <span class="n">650</span>, <span class="n">0</span>, text2<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 490</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"> 491</span>
<span class="number"> 492</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 493</span>        <span class="k2">}</span>
<span class="number"> 494</span>
<span class="number"> 495</span>    <span class="k2">}</span>
<span class="number"> 496</span>
<span class="number"> 497</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>apresentacao<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 498</span>    <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 499</span>    <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 500</span>    <a href="http://www.allegro.cc/manual/al_destroy_audio_stream"><span class="a">al_destroy_audio_stream</span></a><span class="k2">(</span>music<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 501</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"> 502</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>queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 503</span>
<span class="number"> 504</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 505</span><span class="k2">}</span>
</div></div><p>

Thanks again. You all go to heaven with teleportation.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (mayna azevedo)</author>
		<pubDate>Sat, 22 May 2021 02:08:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Not exactly sure about the blank text. What I did see is that you commented out al_init_font_addon.</p><p>You need to init both:
</p><div class="source-code snippet"><div class="inner"><pre>must_init<span class="k2">(</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="s">"font"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//WE NEED TO INIT FONT FIRST!</span>
must_init<span class="k2">(</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="s">"ttf font"</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//THEN WE NEED TO INIT TTF FONTS</span>
</pre></div></div><p>

Are you sure the font is loading correctly? It worked for me. I used a generic TTF font and the words were there.</p><p>How about you get one font to work before trying 3.</p><p>About the image disappearing quickly: </p><p>Ideally you should separate ALL input from ALL logic from ALL drawing</p><p>1. process input<br />2. do logic on current state and input<br />3. draw based on state</p><p>You are drawing dino in the input section<br />Then in the drawing portion you are clearing the screen.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Sat, 22 May 2021 02:22:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hello. The font is working, thank you so much!<br />But I don&#39;t understand about the image. Can you explain a little bit more?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (mayna azevedo)</author>
		<pubDate>Sun, 23 May 2021 05:16:35 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You only want to draw the image in the &quot;draw&quot; code, before you flip the display. You can use the gameState to see if you should draw the image:
</p><div class="source-code snippet"><div class="inner"><pre>        <span class="k1">if</span><span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span>
        <span class="k2">{</span>
            <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
            <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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">200</span>, <span class="n">500</span>, <span class="n">0</span>, text<span class="k2">)</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>font1, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">400</span>, <span class="n">550</span>, <span class="n">0</span>, text1<span class="k2">)</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">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">400</span>, <span class="n">650</span>, <span class="n">0</span>, text2<span class="k2">)</span><span class="k2">;</span>

            <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_START<span class="k2">)</span>
                <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>apresentacao, <span class="n">70</span>, <span class="n">100</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</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>

            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
        <span class="k2">}</span>
</pre></div></div><p>

I have attached full source code for you.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dizzy Egg)</author>
		<pubDate>Sun, 23 May 2021 16:51:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi everyone!</p><p>So, in the font, I adjust where the text will go in the windows with the lines </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>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span>
<span class="number">  2</span>        <span class="k2">{</span>
<span class="number">  3</span>            <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  4</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">200</span>, <span class="n">500</span>, <span class="n">0</span>, text<span class="k2">)</span><span class="k2">;</span>
<span class="number">  5</span>            <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>font1, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">400</span>, <span class="n">550</span>, <span class="n">0</span>, text1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  6</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">255</span><span class="k2">)</span>, <span class="n">400</span>, <span class="n">650</span>, <span class="n">0</span>, text2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  7</span>
<span class="number">  8</span>            <span class="k1">if</span><span class="k2">(</span>gameState <span class="k3">=</span><span class="k3">=</span> STATE_START<span class="k2">)</span>
<span class="number">  9</span>                <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>apresentacao, <span class="n">10</span>, <span class="n">50</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 10</span>
<span class="number"> 11</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"> 12</span>
<span class="number"> 13</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 14</span><span class="k2">}</span>
</div></div><p>

But can I change in the lines </p><p><span class="source-code"><a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>text, <span class="s">"%s"</span>, <span class="s">"DINO PERCEBE UM METEORO VINDO EM SUA DIREÇÃO E COMEÇA A FUGIR. LOGO A SUA FRENTE, DINO VÊ UM BURACO!"</span><span class="k2">)</span><span class="k2">;</span></span></p><p>?</p><p>I have a lot of different size for the lines, and like to change everyone manualy to be aesthetically more beautiful.</p><p>Thanks all of you!!!!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (mayna azevedo)</author>
		<pubDate>Mon, 24 May 2021 01:55:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It&#39;s probably time to create a draw function, and draw different things depending on the state. Alternatively you could encode some characters in the string, and then have a function to print them as required. Probably easier for now, to just draw different things depending on the game state. In the attached source code, I have created a drawGame function, which is called every frame. I have put the first few states in for you (and removed them from the keypress/logic loop), to get you started....but there is a lot to move, so I&#39;ll leave the rest up to you!! <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dizzy Egg)</author>
		<pubDate>Mon, 24 May 2021 17:36:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Wow, it&#39;s working perfectly. Thank you so much for everything, everyone!</p><p>I will finish this topic (finally), and I will start other projects using allegro.</p><p>But you were instrumental in helping me understand the basics and logic! Thank you very much!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (mayna azevedo)</author>
		<pubDate>Sat, 29 May 2021 03:00:12 +0000</pubDate>
	</item>
</rss>
