<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>MicroHack</title>
		<link>http://www.allegro.cc/forums/view/586670</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Fri, 04 Aug 2006 03:11:31 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I want to run a super-quick competition. I&#39;m talking about 1-hour long. The restriction is:</p><p>You may only have 1 source file as your entry.</p><p>That is, there are no other files allowed. You have to generate images and other media (you may load <u>_FILE</u>_), and give compilation instructions as a comment in the code. I put up a quick page to give a countdown here:</p><p><a href="http://cgamesplay.com/minorhack/">http://cgamesplay.com/minorhack/</a></p><p>Please participate if you are bored and have an hour to spare <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>[append]<br />Topic should be &quot;MinorHack&quot;
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Tue, 25 Jul 2006 21:26:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Does it have to be allegro?  And why post here?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Onewing)</author>
		<pubDate>Tue, 25 Jul 2006 21:33:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yes, Allegro, and post here because that is how we compare entries, of course <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Tue, 25 Jul 2006 21:37:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No, no, I mean why post in Programming Questions?</p><p>I don&#39;t have allegro on me at the moment, but I could do a pure C program.  <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Onewing)</author>
		<pubDate>Tue, 25 Jul 2006 21:37:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Pure C in console? Well, if you can do something interesting, go for it <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>Programming Questions because it felt most appropriate... It&#39;s not design, and it&#39;s more on-topic than most off-topic threads. So yes.</p><p>[append]<br />By the way, you know allegro.cc has precompiled binaries, right?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Tue, 25 Jul 2006 21:42:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
By the way, you know allegro.cc has precompiled binaries, right?
</p></div></div><p>
Yeah, thing is I&#39;m at work.  We have linux servers, so we got the whole gcc setup, so pure C is the only way for me atm.  <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>Why I&#39;d be participating whilst at work is a topic for another day...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Onewing)</author>
		<pubDate>Tue, 25 Jul 2006 21:44:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well if you want to draw up a quick text adventure over lunch or something, it&#39;d be good in my book. Just don&#39;t use platform-specific thingies <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" /></p><p>Yeah, I&#39;m scrambling to get soem work done now so I can take a slightly-longer-than-normal lunch to do this in <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Tue, 25 Jul 2006 21:49:06 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m in!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Tue, 25 Jul 2006 21:52:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Great, 2 entries and 1 maybe and 20 minutes left still <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>I will be making a tank game (if I haven&#39;t already said that), hopefully.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Tue, 25 Jul 2006 22:07:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m also in, though I don&#39;t think an hour is long enough for me but I will try.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (yozshura)</author>
		<pubDate>Tue, 25 Jul 2006 22:09:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Question, is it MicroHack or MinorHack?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Onewing)</author>
		<pubDate>Tue, 25 Jul 2006 22:10:19 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>MinorHack, Micro-BlitzHack was the original name, but I changed it <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>Okay, 3 entries and 1 maybe <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Tue, 25 Jul 2006 22:12:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What, a whole game in an hour? Count me out...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (James Stanley)</author>
		<pubDate>Tue, 25 Jul 2006 22:20:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Not a whole game, a crappy thing you throw together really fast <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p><a href="http://cgamesplay.com/files/mh.win.zip">mh.win.zip</a> - A fun game I coded between 11 p.m. December 31, 2005 and 2006. I just wanted to copyright something 2005.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Tue, 25 Jul 2006 22:23:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
You could do a pong / breakout game in an hour.</p><p>Snake is another good one.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Richard Phipps)</author>
		<pubDate>Tue, 25 Jul 2006 22:28:19 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>GO!</p><p>Good luck, participants <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Tue, 25 Jul 2006 22:29:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Snake... good idea RP. <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Tue, 25 Jul 2006 22:30:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Bring it!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Onewing)</author>
		<pubDate>Tue, 25 Jul 2006 22:35:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You&#39;re in then? Good, it will be refreshing playing a text adventure <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>Or better, a C-style-IO text action game. Those are tricky <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Tue, 25 Jul 2006 22:36:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I stand by what I said...bring it!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Onewing)</author>
		<pubDate>Tue, 25 Jul 2006 22:42:06 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>We&#39;re already 1 quarter over! I haven&#39;t even run my program for the first time yet <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>I&#39;m looking at a tricky display method which doesn&#39;t use double buffering... because it&#39;s <i>cool</i> <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Tue, 25 Jul 2006 22:44:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
You l00t hackers you! <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Richard Phipps)</author>
		<pubDate>Tue, 25 Jul 2006 22:45:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I would do a 2 line MMORPG.</p><p>printf(&quot;Go out of your parent&#39;s house, take a good look at the big shiny ball called &quot;the sun&quot; and interact with other players/NPC&quot;);<br />printf(&quot;Other players can be identified in that they have greasy cheetos-fingers. All others living things are NPC.&quot;);</p><p>I only ask for a 30€ monthly fee <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Epsi)</author>
		<pubDate>Tue, 25 Jul 2006 23:05:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I am gonna have to drop out, have other stuff to do. sorry
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (yozshura)</author>
		<pubDate>Tue, 25 Jul 2006 23:20:20 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
Hehe! Even a one hour compo is too much. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Richard Phipps)</author>
		<pubDate>Tue, 25 Jul 2006 23:27:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>My game is done. Do I post the source as an attachment?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Todd Cope)</author>
		<pubDate>Tue, 25 Jul 2006 23:27:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah, please do.</p><p>Here is my incomplete entry. Maybe I will have it finished soon:
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="c">/// \file cgamesplay.cpp</span></td></tr><tr><td class="number">2</td><td><span class="c">/// It's my MinorHack entry for 25 Jul 2006.</span></td></tr><tr><td class="number">3</td><td><span class="c">/// Compile with Allegro!</span></td></tr><tr><td class="number">4</td><td>&#160;</td></tr><tr><td class="number">5</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">6</td><td><span class="p">#include &lt;math.h&gt;</span></td></tr><tr><td class="number">7</td><td><span class="p">#include &lt;vector&gt;</span></td></tr><tr><td class="number">8</td><td>&#160;</td></tr><tr><td class="number">9</td><td><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span></td></tr><tr><td class="number">10</td><td>&#160;</td></tr><tr><td class="number">11</td><td><span class="p">#define SKY_COLOR makecol(196, 196, 255)</span></td></tr><tr><td class="number">12</td><td><span class="p">#define GROUND_COLOR makecol(128, 196, 96)</span></td></tr><tr><td class="number">13</td><td><span class="p">#define NUM_EQ 4</span></td></tr><tr><td class="number">14</td><td><span class="p">#define NUM_PLAYERS 2</span></td></tr><tr><td class="number">15</td><td><span class="p">#define TURN_RATE (AL_PI / 30 / 2)</span></td></tr><tr><td class="number">16</td><td>&#160;</td></tr><tr><td class="number">17</td><td><span class="k1">double</span> frand<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">18</td><td><span class="k2">{</span></td></tr><tr><td class="number">19</td><td>  <span class="k1">return</span> <span class="k2">(</span><span class="k1">double</span><span class="k2">)</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> <span class="k3">/</span> RAND_MAX<span class="k2">;</span></td></tr><tr><td class="number">20</td><td><span class="k2">}</span></td></tr><tr><td class="number">21</td><td>&#160;</td></tr><tr><td class="number">22</td><td><span class="k1">class</span> Tank</td></tr><tr><td class="number">23</td><td><span class="k2">{</span></td></tr><tr><td class="number">24</td><td>  public: <span class="c">// Public variables</span></td></tr><tr><td class="number">25</td><td>    <span class="k1">double</span> angle<span class="k2">;</span></td></tr><tr><td class="number">26</td><td>    <span class="k1">double</span> x, y<span class="k2">;</span></td></tr><tr><td class="number">27</td><td>    <span class="k1">int</span> color<span class="k2">;</span></td></tr><tr><td class="number">28</td><td>&#160;</td></tr><tr><td class="number">29</td><td>  public: <span class="c">// Public functions</span></td></tr><tr><td class="number">30</td><td>    Tank<span class="k2">(</span><span class="k2">)</span><span class="k2">:</span> angle<span class="k2">(</span><span class="n">0</span><span class="k2">)</span>, x<span class="k2">(</span><span class="n">0</span><span class="k2">)</span>, y<span class="k2">(</span><span class="n">0</span><span class="k2">)</span>, color<span class="k2">(</span><span class="n">0xff0000</span><span class="k2">)</span></td></tr><tr><td class="number">31</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">32</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">33</td><td>&#160;</td></tr><tr><td class="number">34</td><td>    <span class="k1">void</span> Spawn<span class="k2">(</span><span class="k1">bool</span> facingRight<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">35</td><td>    <span class="k1">void</span> Fire<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">36</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">37</td><td>&#160;</td></tr><tr><td class="number">38</td><td><span class="k1">class</span> Map</td></tr><tr><td class="number">39</td><td><span class="k2">{</span></td></tr><tr><td class="number">40</td><td>  public: <span class="c">// Public variables</span></td></tr><tr><td class="number">41</td><td>    <span class="k1">int</span> width, height<span class="k2">;</span></td></tr><tr><td class="number">42</td><td>    <span class="k1">int</span><span class="k3">*</span> heights<span class="k2">;</span></td></tr><tr><td class="number">43</td><td>    Tank tanks<span class="k2">[</span>NUM_PLAYERS<span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">44</td><td>    <span class="k1">int</span> turn<span class="k2">;</span></td></tr><tr><td class="number">45</td><td>&#160;</td></tr><tr><td class="number">46</td><td>  public: <span class="c">// Public functions</span></td></tr><tr><td class="number">47</td><td>    Map<span class="k2">(</span><span class="k2">)</span><span class="k2">:</span> width<span class="k2">(</span><span class="n">0</span><span class="k2">)</span>, height<span class="k2">(</span><span class="n">0</span><span class="k2">)</span>, heights<span class="k2">(</span>NULL<span class="k2">)</span>, turn<span class="k2">(</span><span class="n">0</span><span class="k2">)</span></td></tr><tr><td class="number">48</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">49</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">50</td><td>&#160;</td></tr><tr><td class="number">51</td><td>    ~Map<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">52</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">53</td><td>      <span class="k1">delete</span> <span class="k2">[</span><span class="k2">]</span> heights<span class="k2">;</span></td></tr><tr><td class="number">54</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">55</td><td>&#160;</td></tr><tr><td class="number">56</td><td>    <span class="k1">void</span> Create<span class="k2">(</span><span class="k1">int</span> width, <span class="k1">int</span> height<span class="k2">)</span></td></tr><tr><td class="number">57</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">58</td><td>      this-&gt;width <span class="k3">=</span> width<span class="k2">;</span></td></tr><tr><td class="number">59</td><td>      this-&gt;height <span class="k3">=</span> height <span class="k3">-</span> <a href="http://www.allegro.cc/manual/text_height" target="_blank"><span class="a">text_height</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">60</td><td>      heights <span class="k3">=</span> <span class="k1">new</span> <span class="k1">int</span> <span class="k2">[</span>width<span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">61</td><td>&#160;</td></tr><tr><td class="number">62</td><td>      <span class="k1">double</span> freq<span class="k2">[</span>NUM_EQ<span class="k2">]</span> <span class="k3">=</span> <span class="k2">{</span></td></tr><tr><td class="number">63</td><td>        <span class="k2">(</span>frand<span class="k2">(</span><span class="k2">)</span> <span class="k3">/</span> <span class="n">2</span> <span class="k3">+</span> .<span class="n">25</span><span class="k2">)</span> <span class="k3">*</span> width,</td></tr><tr><td class="number">64</td><td>        <span class="k2">(</span>frand<span class="k2">(</span><span class="k2">)</span> <span class="k3">/</span> <span class="n">2</span> <span class="k3">+</span> .<span class="n">25</span><span class="k2">)</span> <span class="k3">*</span> width,</td></tr><tr><td class="number">65</td><td>        <span class="k2">(</span>frand<span class="k2">(</span><span class="k2">)</span> <span class="k3">/</span> <span class="n">2</span> <span class="k3">+</span> .<span class="n">25</span><span class="k2">)</span> <span class="k3">*</span> width,</td></tr><tr><td class="number">66</td><td>        <span class="k2">(</span>frand<span class="k2">(</span><span class="k2">)</span> <span class="k3">/</span> <span class="n">2</span> <span class="k3">+</span> .<span class="n">25</span><span class="k2">)</span> <span class="k3">*</span> width,</td></tr><tr><td class="number">67</td><td>      <span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">68</td><td>      <span class="k1">double</span> amp<span class="k2">[</span>NUM_EQ<span class="k2">]</span> <span class="k3">=</span> <span class="k2">{</span></td></tr><tr><td class="number">69</td><td>        frand<span class="k2">(</span><span class="k2">)</span> <span class="k3">*</span> height <span class="k3">*</span> <span class="n">3</span> <span class="k3">/</span> <span class="n">4</span> <span class="k3">/</span> NUM_EQ,</td></tr><tr><td class="number">70</td><td>        frand<span class="k2">(</span><span class="k2">)</span> <span class="k3">*</span> height <span class="k3">*</span> <span class="n">3</span> <span class="k3">/</span> <span class="n">4</span> <span class="k3">/</span> NUM_EQ,</td></tr><tr><td class="number">71</td><td>        frand<span class="k2">(</span><span class="k2">)</span> <span class="k3">*</span> height <span class="k3">*</span> <span class="n">3</span> <span class="k3">/</span> <span class="n">4</span> <span class="k3">/</span> NUM_EQ,</td></tr><tr><td class="number">72</td><td>        frand<span class="k2">(</span><span class="k2">)</span> <span class="k3">*</span> height <span class="k3">*</span> <span class="n">3</span> <span class="k3">/</span> <span class="n">4</span> <span class="k3">/</span> NUM_EQ,</td></tr><tr><td class="number">73</td><td>      <span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">74</td><td>      </td></tr><tr><td class="number">75</td><td>      <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> width<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">76</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">77</td><td>        <span class="k1">double</span> val <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">78</td><td>        <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> j <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> j <span class="k3">&lt;</span> NUM_EQ<span class="k2">;</span> j<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">79</td><td>          val <span class="k3">+</span><span class="k3">=</span> <span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_728.html" target="_blank">sin</a><span class="k2">(</span>i <span class="k3">*</span> AL_PI <span class="k3">/</span> freq<span class="k2">[</span>j<span class="k2">]</span><span class="k2">)</span><span class="k2">)</span> <span class="k3">*</span> amp<span class="k2">[</span>j<span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">80</td><td>        <span class="k1">if</span><span class="k2">(</span>val <span class="k3">&lt;</span> <span class="n">1</span><span class="k2">)</span></td></tr><tr><td class="number">81</td><td>          val <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">82</td><td>        heights<span class="k3">&lt;</span>i&gt; <span class="k3">=</span> val<span class="k2">;</span></td></tr><tr><td class="number">83</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">84</td><td>&#160;</td></tr><tr><td class="number">85</td><td>      <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> NUM_PLAYERS<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">86</td><td>        tanks<span class="k3">&lt;</span>i&gt;.Spawn<span class="k2">(</span>i % <span class="n">2</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">87</td><td>&#160;</td></tr><tr><td class="number">88</td><td>      turn <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">89</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">90</td><td>&#160;</td></tr><tr><td class="number">91</td><td>    <span class="k1">void</span> Logic<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">92</td><td>    <span class="k1">void</span> Draw<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span> to<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">93</td><td><span class="k2">}</span> map<span class="k2">;</span></td></tr><tr><td class="number">94</td><td>&#160;</td></tr><tr><td class="number">95</td><td><span class="k1">void</span> Tank::Spawn<span class="k2">(</span><span class="k1">bool</span> facingRight<span class="k2">)</span></td></tr><tr><td class="number">96</td><td><span class="k2">{</span></td></tr><tr><td class="number">97</td><td>  x <span class="k3">=</span> <span class="k2">(</span>frand<span class="k2">(</span><span class="k2">)</span> <span class="k3">*</span> <span class="n">1</span> <span class="k3">/</span> <span class="n">2</span> <span class="k3">+</span> .<span class="n">25</span><span class="k2">)</span> <span class="k3">*</span> map.width<span class="k2">;</span></td></tr><tr><td class="number">98</td><td>  y <span class="k3">=</span> map.heights<span class="k2">[</span><span class="k2">(</span><span class="k1">int</span><span class="k2">)</span> x<span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">99</td><td>  <span class="k1">if</span><span class="k2">(</span>facingRight<span class="k2">)</span></td></tr><tr><td class="number">100</td><td>    angle <span class="k3">=</span> AL_PI<span class="k2">;</span></td></tr><tr><td class="number">101</td><td>  <span class="k1">else</span></td></tr><tr><td class="number">102</td><td>    angle <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">103</td><td><span class="k2">}</span></td></tr><tr><td class="number">104</td><td>&#160;</td></tr><tr><td class="number">105</td><td><span class="k1">void</span> Tank::Fire<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">106</td><td><span class="k2">{</span></td></tr><tr><td class="number">107</td><td>&#160;</td></tr><tr><td class="number">108</td><td><span class="k2">}</span></td></tr><tr><td class="number">109</td><td>&#160;</td></tr><tr><td class="number">110</td><td><span class="k1">void</span> Map::Logic<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">111</td><td><span class="k2">{</span></td></tr><tr><td class="number">112</td><td>  <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">113</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">114</td><td>    <span class="k1">if</span><span class="k2">(</span>tanks<span class="k2">[</span>turn<span class="k2">]</span>.angle <span class="k3">&gt;</span> AL_PI <span class="k3">/</span> <span class="n">2</span><span class="k2">)</span></td></tr><tr><td class="number">115</td><td>      tanks<span class="k2">[</span>turn<span class="k2">]</span>.angle <span class="k3">-</span><span class="k3">=</span> TURN_RATE<span class="k2">;</span></td></tr><tr><td class="number">116</td><td>    <span class="k1">else</span></td></tr><tr><td class="number">117</td><td>      tanks<span class="k2">[</span>turn<span class="k2">]</span>.angle <span class="k3">+</span><span class="k3">=</span> TURN_RATE<span class="k2">;</span></td></tr><tr><td class="number">118</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">119</td><td>  <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_DOWN<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">120</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">121</td><td>    <span class="k1">if</span><span class="k2">(</span>tanks<span class="k2">[</span>turn<span class="k2">]</span>.angle <span class="k3">&gt;</span> AL_PI <span class="k3">/</span> <span class="n">2</span><span class="k2">)</span></td></tr><tr><td class="number">122</td><td>      tanks<span class="k2">[</span>turn<span class="k2">]</span>.angle <span class="k3">+</span><span class="k3">=</span> TURN_RATE<span class="k2">;</span></td></tr><tr><td class="number">123</td><td>    <span class="k1">else</span></td></tr><tr><td class="number">124</td><td>      tanks<span class="k2">[</span>turn<span class="k2">]</span>.angle <span class="k3">-</span><span class="k3">=</span> TURN_RATE<span class="k2">;</span></td></tr><tr><td class="number">125</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">126</td><td>  <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_SPACE<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">127</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">128</td><td>    tanks<span class="k2">[</span>turn<span class="k2">]</span>.Fire<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">129</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">130</td><td><span class="k2">}</span></td></tr><tr><td class="number">131</td><td>&#160;</td></tr><tr><td class="number">132</td><td><span class="k1">void</span> Map::Draw<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span> to<span class="k2">)</span></td></tr><tr><td class="number">133</td><td><span class="k2">{</span></td></tr><tr><td class="number">134</td><td>  <span class="k1">struct</span> seg</td></tr><tr><td class="number">135</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">136</td><td>    <span class="k1">int</span> y<span class="k2">;</span></td></tr><tr><td class="number">137</td><td>    <span class="k1">int</span> x<span class="k2">;</span></td></tr><tr><td class="number">138</td><td>    <span class="k1">int</span> w<span class="k2">;</span></td></tr><tr><td class="number">139</td><td>    <span class="k1">int</span> c<span class="k2">;</span></td></tr><tr><td class="number">140</td><td>  <span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">141</td><td>&#160;</td></tr><tr><td class="number">142</td><td>  vector<span class="k3">&lt;</span>seg&gt; segments<span class="k2">;</span></td></tr><tr><td class="number">143</td><td>&#160;</td></tr><tr><td class="number">144</td><td>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> y <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> y <span class="k3">&lt;</span> height<span class="k2">;</span> y<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">145</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">146</td><td>    seg curseg<span class="k2">;</span></td></tr><tr><td class="number">147</td><td>    curseg.y <span class="k3">=</span> y<span class="k2">;</span></td></tr><tr><td class="number">148</td><td>    curseg.x <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">149</td><td>    curseg.c <span class="k3">=</span> SKY_COLOR<span class="k2">;</span></td></tr><tr><td class="number">150</td><td>    curseg.w <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">151</td><td>&#160;</td></tr><tr><td class="number">152</td><td>    <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> x <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> x <span class="k3">&lt;</span> width<span class="k2">;</span> x<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">153</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">154</td><td>      <span class="k1">if</span><span class="k2">(</span>curseg.c <span class="k3">=</span><span class="k3">=</span> SKY_COLOR<span class="k2">)</span></td></tr><tr><td class="number">155</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">156</td><td>        <span class="k1">if</span><span class="k2">(</span>height <span class="k3">-</span> heights<span class="k2">[</span>x<span class="k2">]</span> <span class="k3">&lt;</span><span class="k3">=</span> y<span class="k2">)</span></td></tr><tr><td class="number">157</td><td>        <span class="k2">{</span></td></tr><tr><td class="number">158</td><td>          curseg.w <span class="k3">=</span> x <span class="k3">-</span> curseg.x<span class="k2">;</span></td></tr><tr><td class="number">159</td><td>          <span class="k1">if</span><span class="k2">(</span>curseg.w<span class="k2">)</span></td></tr><tr><td class="number">160</td><td>            segments.push_back<span class="k2">(</span>curseg<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">161</td><td>          curseg.x <span class="k3">=</span> x<span class="k2">;</span></td></tr><tr><td class="number">162</td><td>          curseg.c <span class="k3">=</span> GROUND_COLOR<span class="k2">;</span></td></tr><tr><td class="number">163</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">164</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">165</td><td>      <span class="k1">if</span><span class="k2">(</span>curseg.c <span class="k3">=</span><span class="k3">=</span> GROUND_COLOR<span class="k2">)</span></td></tr><tr><td class="number">166</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">167</td><td>        <span class="k1">if</span><span class="k2">(</span>height <span class="k3">-</span> heights<span class="k2">[</span>x<span class="k2">]</span> <span class="k3">&gt;</span> y<span class="k2">)</span></td></tr><tr><td class="number">168</td><td>        <span class="k2">{</span></td></tr><tr><td class="number">169</td><td>          curseg.w <span class="k3">=</span> x <span class="k3">-</span> curseg.x<span class="k2">;</span></td></tr><tr><td class="number">170</td><td>          <span class="k1">if</span><span class="k2">(</span>curseg.w<span class="k2">)</span></td></tr><tr><td class="number">171</td><td>            segments.push_back<span class="k2">(</span>curseg<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">172</td><td>          curseg.x <span class="k3">=</span> x<span class="k2">;</span></td></tr><tr><td class="number">173</td><td>          curseg.c <span class="k3">=</span> SKY_COLOR<span class="k2">;</span></td></tr><tr><td class="number">174</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">175</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">176</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">177</td><td>&#160;</td></tr><tr><td class="number">178</td><td>    curseg.w <span class="k3">=</span> width <span class="k3">-</span> curseg.x<span class="k2">;</span></td></tr><tr><td class="number">179</td><td>    <span class="k1">if</span><span class="k2">(</span>curseg.w<span class="k2">)</span></td></tr><tr><td class="number">180</td><td>      segments.push_back<span class="k2">(</span>curseg<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">181</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">182</td><td>&#160;</td></tr><tr><td class="number">183</td><td>  <span class="k1">for</span><span class="k2">(</span>vector<span class="k3">&lt;</span>seg&gt;::iterator i <span class="k3">=</span> segments.begin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> i <span class="k3">!</span><span class="k3">=</span> segments.end<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">184</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">185</td><td>    <a href="http://www.allegro.cc/manual/hline" target="_blank"><span class="a">hline</span></a><span class="k2">(</span>to, i-&gt;x, i-&gt;y, i-&gt;x <span class="k3">+</span> i-&gt;w, i-&gt;c<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">186</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">187</td><td>&#160;</td></tr><tr><td class="number">188</td><td>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> NUM_PLAYERS<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">189</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">190</td><td>    <span class="k1">double</span> x2 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_113.html" target="_blank">cos</a><span class="k2">(</span>tanks<span class="k3">&lt;</span>i&gt;.angle<span class="k2">)</span> <span class="k3">*</span> <span class="n">16</span> <span class="k3">+</span> tanks<span class="k3">&lt;</span>i&gt;.x<span class="k2">;</span></td></tr><tr><td class="number">191</td><td>    <span class="k1">double</span> y2 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_728.html" target="_blank">sin</a><span class="k2">(</span>tanks<span class="k3">&lt;</span>i&gt;.angle<span class="k2">)</span> <span class="k3">*</span> <span class="n">16</span> <span class="k3">+</span> tanks<span class="k3">&lt;</span>i&gt;.y<span class="k2">;</span></td></tr><tr><td class="number">192</td><td>    <a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">(</span>to, <span class="k2">(</span><span class="k1">int</span><span class="k2">)</span> tanks<span class="k3">&lt;</span>i&gt;.x, map.height <span class="k3">-</span> <span class="k2">(</span><span class="k1">int</span><span class="k2">)</span> tanks<span class="k3">&lt;</span>i&gt;.y, <span class="k2">(</span><span class="k1">int</span><span class="k2">)</span> x2, map.height <span class="k3">-</span> <span class="k2">(</span><span class="k1">int</span><span class="k2">)</span> y2, tanks<span class="k3">&lt;</span>i&gt;.color<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">193</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">194</td><td>&#160;</td></tr><tr><td class="number">195</td><td>  <span class="k1">double</span> angle <span class="k3">=</span> tanks<span class="k2">[</span>turn<span class="k2">]</span>.angle<span class="k2">;</span></td></tr><tr><td class="number">196</td><td>  <span class="k1">if</span><span class="k2">(</span>angle <span class="k3">&gt;</span> AL_PI <span class="k3">/</span> <span class="n">2</span><span class="k2">)</span></td></tr><tr><td class="number">197</td><td>    angle <span class="k3">=</span> AL_PI <span class="k3">/</span> <span class="n">2</span> <span class="k3">-</span> angle<span class="k2">;</span></td></tr><tr><td class="number">198</td><td>  <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>to, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">0</span>, height, <span class="k3">-</span><span class="n">1</span>, <span class="n">0</span>, <span class="s">"Turn: %d Angle: %0.4f"</span>, turn <span class="k3">+</span> <span class="n">1</span>, angle<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">199</td><td><span class="k2">}</span></td></tr><tr><td class="number">200</td><td>&#160;</td></tr><tr><td class="number">201</td><td><span class="k1">volatile</span> <span class="k1">int</span> game_time <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">202</td><td><span class="k1">static</span> <span class="k1">void</span> timer<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">203</td><td><span class="k2">{</span></td></tr><tr><td class="number">204</td><td>  <span class="k3">+</span><span class="k3">+</span>game_time<span class="k2">;</span></td></tr><tr><td class="number">205</td><td><span class="k2">}</span></td></tr><tr><td class="number">206</td><td>&#160;</td></tr><tr><td class="number">207</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span><span class="k3">*</span> argv<span class="k2">[</span><span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">208</td><td><span class="k2">{</span></td></tr><tr><td class="number">209</td><td>  <a href="http://www.allegro.cc/manual/allegro_init" target="_blank"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">210</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_739.html" target="_blank">srand</a><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a><span class="k2">(</span>NULL<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">211</td><td>&#160;</td></tr><tr><td class="number">212</td><td>  <a href="http://www.allegro.cc/manual/set_color_depth" target="_blank"><span class="a">set_color_depth</span></a><span class="k2">(</span><span class="n">16</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">213</td><td>  <a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_AUTODETECT_WINDOWED, <span class="n">640</span>, <span class="n">480</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">214</td><td>&#160;</td></tr><tr><td class="number">215</td><td>  <a href="http://www.allegro.cc/manual/install_keyboard" target="_blank"><span class="a">install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">216</td><td>  <a href="http://www.allegro.cc/manual/install_timer" target="_blank"><span class="a">install_timer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">217</td><td>&#160;</td></tr><tr><td class="number">218</td><td>  <a href="http://www.allegro.cc/manual/install_int_ex" target="_blank"><span class="a">install_int_ex</span></a><span class="k2">(</span>timer, BPS_TO_TIMER<span class="k2">(</span><span class="n">30</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">219</td><td>&#160;</td></tr><tr><td class="number">220</td><td>  map.Create<span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a>, <a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">221</td><td>&#160;</td></tr><tr><td class="number">222</td><td>  <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_ESC<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">223</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">224</td><td>    <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span>game_time<span class="k2">)</span></td></tr><tr><td class="number">225</td><td>      <a href="http://www.allegro.cc/manual/rest" target="_blank"><span class="a">rest</span></a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">226</td><td>&#160;</td></tr><tr><td class="number">227</td><td>    map.Logic<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">228</td><td>&#160;</td></tr><tr><td class="number">229</td><td>    map.Draw<span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">230</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">231</td><td>&#160;</td></tr><tr><td class="number">232</td><td>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">233</td><td><span class="k2">}</span></td></tr><tr><td class="number">234</td><td><a href="http://www.allegro.cc/manual/END_OF_MAIN" target="_blank"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">235</td><td>&#160;</td></tr><tr><td class="number">236</td><td><span class="c">// The end</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Tue, 25 Jul 2006 23:29:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hmmm...gotta figure out how to attach my file...</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="c">//COMPILE LIKE THIS:  gcc eatc.c -o eatc.exe</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="p">#include&lt;stdio.h&gt;</span></td></tr><tr><td class="number">4</td><td><span class="p">#include&lt;time.h&gt;</span></td></tr><tr><td class="number">5</td><td><span class="p">#include&lt;string.h&gt;</span></td></tr><tr><td class="number">6</td><td>&#160;</td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td>&#160;</td></tr><tr><td class="number">9</td><td><span class="k1">typedef</span> <span class="k1">struct</span> area</td></tr><tr><td class="number">10</td><td><span class="k2">{</span></td></tr><tr><td class="number">11</td><td>  <span class="k1">char</span> cname<span class="k2">[</span><span class="n">30</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>  <span class="k1">char</span> description<span class="k2">[</span><span class="n">255</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>  <span class="k1">struct</span> area <span class="k3">*</span>adj1<span class="k2">;</span></td></tr><tr><td class="number">14</td><td>  <span class="k1">struct</span> area <span class="k3">*</span>adj2<span class="k2">;</span></td></tr><tr><td class="number">15</td><td>  <span class="k1">struct</span> area <span class="k3">*</span>adj3<span class="k2">;</span></td></tr><tr><td class="number">16</td><td><span class="k2">}</span> AREA<span class="k2">;</span></td></tr><tr><td class="number">17</td><td>&#160;</td></tr><tr><td class="number">18</td><td><span class="k1">typedef</span> <span class="k1">struct</span> enemy</td></tr><tr><td class="number">19</td><td><span class="k2">{</span></td></tr><tr><td class="number">20</td><td>  <span class="k1">char</span> cname<span class="k2">[</span><span class="n">30</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>  <span class="k1">char</span> description<span class="k2">[</span><span class="n">255</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>  <span class="k1">int</span> iHP<span class="k2">;</span></td></tr><tr><td class="number">23</td><td>  <span class="k1">int</span> iStr<span class="k2">;</span></td></tr><tr><td class="number">24</td><td>  AREA <span class="k3">*</span>current<span class="k2">;</span></td></tr><tr><td class="number">25</td><td><span class="k2">}</span> ENEMY<span class="k2">;</span></td></tr><tr><td class="number">26</td><td>&#160;</td></tr><tr><td class="number">27</td><td>AREA <span class="k3">*</span>place<span class="k2">[</span><span class="n">30</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">28</td><td><span class="p">#define MAX_WORKERS 1</span></td></tr><tr><td class="number">29</td><td>ENEMY <span class="k3">*</span>workers<span class="k2">[</span>MAX_WORKERS<span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">30</td><td>&#160;</td></tr><tr><td class="number">31</td><td><span class="k1">void</span> begin_game<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td><span class="k1">int</span> battle<span class="k2">(</span>ENEMY <span class="k3">*</span>monster<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">33</td><td>&#160;</td></tr><tr><td class="number">34</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">35</td><td><span class="k2">{</span></td></tr><tr><td class="number">36</td><td>        <span class="k1">char</span> cTemp<span class="k2">[</span><span class="n">30</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">37</td><td>    <span class="k1">int</span> iTemp<span class="k2">;</span></td></tr><tr><td class="number">38</td><td>&#160;</td></tr><tr><td class="number">39</td><td>  place<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">(</span>AREA <span class="k3">*</span><span class="k2">)</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_551.html" target="_blank">malloc</a><span class="k2">(</span><span class="k1">sizeof</span><span class="k2">(</span>AREA<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">40</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_756.html" target="_blank">strcpy</a><span class="k2">(</span>place<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>cname, <span class="s">"Your Desk"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">41</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_756.html" target="_blank">strcpy</a><span class="k2">(</span>place<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>description, <span class="s">"Your not-so big office desk."</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">42</td><td>&#160;</td></tr><tr><td class="number">43</td><td>&#160;</td></tr><tr><td class="number">44</td><td>  place<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">(</span>AREA <span class="k3">*</span><span class="k2">)</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_551.html" target="_blank">malloc</a><span class="k2">(</span><span class="k1">sizeof</span><span class="k2">(</span>AREA<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">45</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_756.html" target="_blank">strcpy</a><span class="k2">(</span>place<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>cname, <span class="s">"Neighboring Cubicle"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">46</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_756.html" target="_blank">strcpy</a><span class="k2">(</span>place<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>description, <span class="s">"The walls of your fat co-worker of mold on them..."</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">47</td><td>&#160;</td></tr><tr><td class="number">48</td><td>  place<span class="k2">[</span><span class="n">2</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">(</span>AREA <span class="k3">*</span><span class="k2">)</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_551.html" target="_blank">malloc</a><span class="k2">(</span><span class="k1">sizeof</span><span class="k2">(</span>AREA<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">49</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_756.html" target="_blank">strcpy</a><span class="k2">(</span>place<span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>cname, <span class="s">"Bathroom"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">50</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_756.html" target="_blank">strcpy</a><span class="k2">(</span>place<span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>description, <span class="s">"There are two stalls..."</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">51</td><td>&#160;</td></tr><tr><td class="number">52</td><td>  place<span class="k2">[</span><span class="n">30</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">(</span>AREA <span class="k3">*</span><span class="k2">)</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_551.html" target="_blank">malloc</a><span class="k2">(</span><span class="k1">sizeof</span><span class="k2">(</span>AREA<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">53</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_756.html" target="_blank">strcpy</a><span class="k2">(</span>place<span class="k2">[</span><span class="n">30</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>cname, <span class="s">"No Where!"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">54</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_756.html" target="_blank">strcpy</a><span class="k2">(</span>place<span class="k2">[</span><span class="n">30</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>description, <span class="s">"You aren't really here!"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">55</td><td>&#160;</td></tr><tr><td class="number">56</td><td>   place<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>adj1 <span class="k3">=</span> place<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">57</td><td>  place<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>adj2 <span class="k3">=</span> place<span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">58</td><td>  place<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>adj3 <span class="k3">=</span> place<span class="k2">[</span><span class="n">30</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">59</td><td>&#160;</td></tr><tr><td class="number">60</td><td>   place<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>adj1 <span class="k3">=</span> place<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">61</td><td>  place<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>adj2 <span class="k3">=</span> place<span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">62</td><td>  place<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>adj3 <span class="k3">=</span> place<span class="k2">[</span><span class="n">30</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">63</td><td>   place<span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>adj1 <span class="k3">=</span> place<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">64</td><td>  place<span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>adj2 <span class="k3">=</span> place<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">65</td><td>  place<span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>adj3 <span class="k3">=</span> place<span class="k2">[</span><span class="n">30</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">66</td><td>&#160;</td></tr><tr><td class="number">67</td><td>    workers<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">(</span>ENEMY <span class="k3">*</span><span class="k2">)</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_551.html" target="_blank">malloc</a><span class="k2">(</span><span class="k1">sizeof</span><span class="k2">(</span>ENEMY<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">68</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_756.html" target="_blank">strcpy</a><span class="k2">(</span>workers<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>cname, <span class="s">"Neighboring Programmer"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">69</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_756.html" target="_blank">strcpy</a><span class="k2">(</span>workers<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>cname, <span class="s">"It's Bob!  You know, that fat guy you work with?"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">70</td><td>  workers<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>iHP <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span></td></tr><tr><td class="number">71</td><td>  workers<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>iStr <span class="k3">=</span> <span class="n">4</span><span class="k2">;</span>  </td></tr><tr><td class="number">72</td><td>  workers<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>current <span class="k3">=</span> place<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">73</td><td>&#160;</td></tr><tr><td class="number">74</td><td>&#160;</td></tr><tr><td class="number">75</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a><span class="k2">(</span><span class="s">"cls"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">76</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"*****************************\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">77</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"*                           *\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">78</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"*                           *\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">79</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"*      minorHack Presents   *\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">80</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"*                           *\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">81</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"*                           *\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">82</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"*****************************\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">83</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Press any key to continue..."</span><span class="k2">)</span><span class="k2">;</span> </td></tr><tr><td class="number">84</td><td>        </td></tr><tr><td class="number">85</td><td>        </td></tr><tr><td class="number">86</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_670.html" target="_blank">scanf</a><span class="k2">(</span><span class="s">"%c"</span>, cTemp<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">87</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a><span class="k2">(</span><span class="s">"cls"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">88</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"*****************************\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">89</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"*                           *\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">90</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"*                           *\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">91</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"*      Eat C and Die!       *\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">92</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"*                           *\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">93</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"*                           *\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">94</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"*****************************\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">95</td><td>&#160;</td></tr><tr><td class="number">96</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"1)  Start Game\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">97</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"2)  Quit\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">98</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_670.html" target="_blank">scanf</a><span class="k2">(</span><span class="s">"%d"</span>, <span class="k3">&amp;</span>iTemp<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">99</td><td>        <span class="k1">if</span><span class="k2">(</span>iTemp <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span></td></tr><tr><td class="number">100</td><td>          begin_game<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">101</td><td> </td></tr><tr><td class="number">102</td><td>   <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">103</td><td><span class="k2">}</span></td></tr><tr><td class="number">104</td><td>&#160;</td></tr><tr><td class="number">105</td><td><span class="k1">void</span> begin_game<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">106</td><td><span class="k2">{</span></td></tr><tr><td class="number">107</td><td>  <span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span>, iTemp <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">108</td><td>  AREA <span class="k3">*</span>current_place <span class="k3">=</span> place<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">109</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_739.html" target="_blank">srand</a><span class="k2">(</span><span class="k2">(</span><span class="k1">unsigned</span> <span class="k1">int</span><span class="k2">)</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a><span class="k2">(</span>NULL<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">110</td><td>  <span class="k1">int</span> iHp <span class="k3">=</span> <span class="n">0</span>, iStr <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">111</td><td>  iHp <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">5</span> <span class="k3">+</span> <span class="n">10</span><span class="k2">;</span></td></tr><tr><td class="number">112</td><td>        iStr <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">5</span> <span class="k3">-</span> iHp <span class="k3">+</span> <span class="n">20</span><span class="k2">;</span></td></tr><tr><td class="number">113</td><td>        </td></tr><tr><td class="number">114</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a><span class="k2">(</span><span class="s">"cls"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">115</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"*****************************\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">116</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"*      Eat C and Die!       *\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">117</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"*****************************\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">118</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"HP:  %d\n"</span>, iHp<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">119</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"STR: %d\n"</span>, iStr<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">120</td><td>        <span class="k1">while</span><span class="k2">(</span>iHp <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span></td></tr><tr><td class="number">121</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">122</td><td>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"%s\n"</span>, current_place-&gt;cname<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">123</td><td>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"%s\n"</span>, current_place-&gt;description<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">124</td><td>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"1) %s\n"</span>, current_place-&gt;adj1-&gt;cname<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">125</td><td>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"2) %s\n"</span>, current_place-&gt;adj2-&gt;cname<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">126</td><td>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"3) %s\n"</span>, current_place-&gt;adj3-&gt;cname<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">127</td><td>&#160;</td></tr><tr><td class="number">128</td><td>    <span class="k1">for</span><span class="k2">(</span>i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> MAX_WORKERS<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">129</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">130</td><td>      <span class="k1">if</span><span class="k2">(</span>workers<span class="k3">&lt;</span>i&gt;-&gt;current <span class="k3">=</span> current_place<span class="k2">)</span></td></tr><tr><td class="number">131</td><td>        iHp <span class="k3">=</span> battle<span class="k2">(</span>workers<span class="k3">&lt;</span>i&gt;<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">132</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">133</td><td>&#160;</td></tr><tr><td class="number">134</td><td>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_670.html" target="_blank">scanf</a><span class="k2">(</span><span class="s">"%d"</span>, <span class="k3">&amp;</span>iTemp<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">135</td><td>    <span class="k1">if</span><span class="k2">(</span>iTemp <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span></td></tr><tr><td class="number">136</td><td>      current_place <span class="k3">=</span> current_place-&gt;adj1<span class="k2">;</span></td></tr><tr><td class="number">137</td><td>    <span class="k1">if</span><span class="k2">(</span>iTemp <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span> <span class="k2">)</span></td></tr><tr><td class="number">138</td><td>      current_place <span class="k3">=</span> current_place-&gt;adj2<span class="k2">;</span></td></tr><tr><td class="number">139</td><td>    <span class="k1">if</span><span class="k2">(</span>iTemp <span class="k3">=</span><span class="k3">=</span> <span class="n">3</span> <span class="k2">)</span></td></tr><tr><td class="number">140</td><td>      current_place <span class="k3">=</span> current_place-&gt;adj3<span class="k2">;</span></td></tr><tr><td class="number">141</td><td>&#160;</td></tr><tr><td class="number">142</td><td>  <span class="k2">}</span>  </td></tr><tr><td class="number">143</td><td>     </td></tr><tr><td class="number">144</td><td><span class="k2">}</span></td></tr><tr><td class="number">145</td><td>&#160;</td></tr><tr><td class="number">146</td><td><span class="k1">int</span> battle<span class="k2">(</span>ENEMY <span class="k3">*</span>monster<span class="k2">)</span></td></tr><tr><td class="number">147</td><td><span class="k2">{</span></td></tr><tr><td class="number">148</td><td>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">149</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Onewing)</author>
		<pubDate>Tue, 25 Jul 2006 23:30:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Okay, attached.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Todd Cope)</author>
		<pubDate>Tue, 25 Jul 2006 23:30:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>ahh.. too late to start <img src="http://www.allegro.cc/forums/smileys/sad.gif" alt=":(" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (FMC)</author>
		<pubDate>Tue, 25 Jul 2006 23:31:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span><span class="p">#include &lt;allegro.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;time.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;vector&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;list&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;iostream&gt;</span>
<span class="number">   7</span>
<span class="number">   8</span><span class="k1">volatile</span> <span class="k1">int</span> GameTicker <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">   9</span><span class="k1">void</span> Ticker<span class="k2">(</span><span class="k2">)</span>
<span class="number">  10</span><span class="k2">{</span>
<span class="number">  11</span>  <span class="k3">+</span><span class="k3">+</span>GameTicker<span class="k2">;</span>
<span class="number">  12</span><span class="k2">}</span>
<span class="number">  13</span><a href="http://www.allegro.cc/manual/END_OF_FUNCTION" target="_blank"><span class="a">END_OF_FUNCTION</span></a><span class="k2">(</span>Ticker<span class="k2">)</span><span class="k2">;</span>
<span class="number">  14</span>
<span class="number">  15</span>
<span class="number">  16</span>std::vector<span class="k3">&lt;</span>int&gt; RandomData<span class="k2">;</span>
<span class="number">  17</span>
<span class="number">  18</span><span class="k1">void</span> LoadExeData<span class="k2">(</span><span class="k2">)</span>
<span class="number">  19</span><span class="k2">{</span>
<span class="number">  20</span>  <span class="k1">char</span> ThisFile<span class="k2">[</span><span class="n">512</span><span class="k2">]</span><span class="k2">;</span>
<span class="number">  21</span>  <a href="http://www.allegro.cc/manual/get_executable_name" target="_blank"><span class="a">get_executable_name</span></a><span class="k2">(</span>ThisFile, <span class="n">512</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  22</span>  <a href="http://www.allegro.cc/manual/PACKFILE" target="_blank"><span class="a">PACKFILE</span></a> <span class="k3">*</span>Self <span class="k3">=</span> <a href="http://www.allegro.cc/manual/pack_fopen" target="_blank"><span class="a">pack_fopen</span></a><span class="k2">(</span>ThisFile, <span class="s">"rb"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  23</span>  
<span class="number">  24</span>  <span class="k1">int</span> RandAmt <span class="k3">=</span> file_size<span class="k2">(</span>ThisFile<span class="k2">)</span> <span class="k3">/</span> <span class="n">16</span><span class="k2">;</span>
<span class="number">  25</span>  
<span class="number">  26</span>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> RandAmt<span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>i<span class="k2">)</span>
<span class="number">  27</span>    RandomData.push_back<span class="k2">(</span><a href="http://www.allegro.cc/manual/pack_igetw" target="_blank"><span class="a">pack_igetw</span></a><span class="k2">(</span>Self<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  28</span>  
<span class="number">  29</span>  <a href="http://www.allegro.cc/manual/pack_fclose" target="_blank"><span class="a">pack_fclose</span></a><span class="k2">(</span>Self<span class="k2">)</span><span class="k2">;</span>
<span class="number">  30</span><span class="k2">}</span>
<span class="number">  31</span>
<span class="number">  32</span><span class="k1">int</span> GetRand<span class="k2">(</span><span class="k2">)</span>
<span class="number">  33</span><span class="k2">{</span>
<span class="number">  34</span>  <span class="k1">if</span><span class="k2">(</span>RandomData.size<span class="k2">(</span><span class="k2">)</span> <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span>
<span class="number">  35</span>    LoadExeData<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  36</span>  
<span class="number">  37</span>  <span class="k1">int</span> Rand <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % RandomData.size<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</span>  <span class="k1">int</span> Ret <span class="k3">=</span> RandomData<span class="k2">[</span>Rand<span class="k2">]</span><span class="k2">;</span>
<span class="number">  39</span>  RandomData.erase<span class="k2">(</span>RandomData.begin<span class="k2">(</span><span class="k2">)</span> <span class="k3">+</span> Rand<span class="k2">)</span><span class="k2">;</span>
<span class="number">  40</span>  <span class="k1">return</span> Ret<span class="k2">;</span>
<span class="number">  41</span><span class="k2">}</span>
<span class="number">  42</span>
<span class="number">  43</span><span class="k1">struct</span> SnakePixel
<span class="number">  44</span><span class="k2">{</span>
<span class="number">  45</span>  <span class="k1">int</span> x, y<span class="k2">;</span>
<span class="number">  46</span>  
<span class="number">  47</span>  SnakePixel<span class="k2">(</span><span class="k1">int</span> X, <span class="k1">int</span> Y<span class="k2">)</span> <span class="k2">:</span> x<span class="k2">(</span>X<span class="k2">)</span>, y<span class="k2">(</span>Y<span class="k2">)</span> <span class="k2">{</span> <span class="k2">}</span>
<span class="number">  48</span><span class="k2">}</span><span class="k2">;</span>
<span class="number">  49</span>
<span class="number">  50</span>
<span class="number">  51</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span>argv<span class="k2">[</span><span class="k2">]</span><span class="k2">)</span>
<span class="number">  52</span><span class="k2">{</span>
<span class="number">  53</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_739.html" target="_blank">srand</a><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a><span class="k2">(</span>NULL<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  54</span>  
<span class="number">  55</span>  <a href="http://www.allegro.cc/manual/allegro_init" target="_blank"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>  <a href="http://www.allegro.cc/manual/install_keyboard" target="_blank"><span class="a">install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</span>  <a href="http://www.allegro.cc/manual/install_timer" target="_blank"><span class="a">install_timer</span></a><span class="k2">(</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/LOCK_VARIABLE" target="_blank"><span class="a">LOCK_VARIABLE</span></a><span class="k2">(</span>GameTicker<span class="k2">)</span><span class="k2">;</span>
<span class="number">  60</span>  <a href="http://www.allegro.cc/manual/LOCK_FUNCTION" target="_blank"><span class="a">LOCK_FUNCTION</span></a><span class="k2">(</span>Ticker<span class="k2">)</span><span class="k2">;</span>
<span class="number">  61</span>  <a href="http://www.allegro.cc/manual/install_int_ex" target="_blank"><span class="a">install_int_ex</span></a><span class="k2">(</span>Ticker, BPS_TO_TIMER<span class="k2">(</span><span class="n">60</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  62</span>  
<span class="number">  63</span>  <a href="http://www.allegro.cc/manual/set_color_depth" target="_blank"><span class="a">set_color_depth</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/desktop_color_depth" target="_blank"><span class="a">desktop_color_depth</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  64</span>  <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_AUTODETECT_WINDOWED, <span class="n">640</span>, <span class="n">480</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  65</span>    <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_AUTODETECT, <span class="n">640</span>, <span class="n">480</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  66</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  67</span>  
<span class="number">  68</span>  LoadExeData<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>  
<span class="number">  70</span>  <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>buffer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/create_bitmap" target="_blank"><span class="a">create_bitmap</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a>, <a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  71</span>  <span class="k1">enum</span> eSD
<span class="number">  72</span>  <span class="k2">{</span>
<span class="number">  73</span>    NORTH <span class="k3">=</span> <span class="n">0</span>,
<span class="number">  74</span>    WEST,
<span class="number">  75</span>    EAST,
<span class="number">  76</span>    SOUTH
<span class="number">  77</span>  <span class="k2">}</span> SnakeDirection<span class="k2">;</span>
<span class="number">  78</span>  
<span class="number">  79</span>  
<span class="number">  80</span>  <span class="c">// set up board</span>
<span class="number">  81</span>  <span class="k1">int</span> BoardWidth <span class="k3">=</span> <a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a> <span class="k3">/</span> <span class="n">5</span><span class="k2">;</span>
<span class="number">  82</span>  <span class="k1">int</span> BoardHeight <span class="k3">=</span> <a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a> <span class="k3">/</span> <span class="n">5</span><span class="k2">;</span>
<span class="number">  83</span>  <span class="k1">char</span> <span class="k3">*</span><span class="k3">*</span>Board <span class="k3">=</span> <span class="k1">new</span> <span class="k1">char</span><span class="k3">*</span><span class="k2">[</span>BoardWidth<span class="k2">]</span><span class="k2">;</span>
<span class="number">  84</span>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> BoardWidth<span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>i<span class="k2">)</span>
<span class="number">  85</span>    Board<span class="k3">&lt;</span>i&gt; <span class="k3">=</span> <span class="k1">new</span> <span class="k1">char</span><span class="k2">[</span>BoardHeight<span class="k2">]</span><span class="k2">;</span>
<span class="number">  86</span>  
<span class="number">  87</span>  <span class="c">// board edge barriers</span>
<span class="number">  88</span>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> x <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> x <span class="k3">&lt;</span> BoardWidth<span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>x<span class="k2">)</span>
<span class="number">  89</span>    Board<span class="k2">[</span>x<span class="k2">]</span><span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span> Board<span class="k2">[</span>x<span class="k2">]</span><span class="k2">[</span>BoardHeight <span class="k3">-</span> <span class="n">1</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  90</span>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> y <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> y <span class="k3">&lt;</span> BoardHeight<span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>y<span class="k2">)</span>
<span class="number">  91</span>    Board<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">[</span>y<span class="k2">]</span> <span class="k3">=</span> Board<span class="k2">[</span>BoardWidth <span class="k3">-</span> <span class="n">1</span><span class="k2">]</span><span class="k2">[</span>y<span class="k2">]</span> <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  92</span>  
<span class="number">  93</span>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> x <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> x <span class="k3">&lt;</span> BoardWidth <span class="k3">-</span> <span class="n">1</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>x<span class="k2">)</span>
<span class="number">  94</span>    <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> y <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> y <span class="k3">&lt;</span> BoardHeight <span class="k3">-</span> <span class="n">1</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>y<span class="k2">)</span>
<span class="number">  95</span>      Board<span class="k2">[</span>x<span class="k2">]</span><span class="k2">[</span>y<span class="k2">]</span> <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  96</span>  
<span class="number">  97</span>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> <span class="n">15</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>i<span class="k2">)</span>
<span class="number">  98</span>    Board<span class="k2">[</span><span class="k2">(</span>GetRand<span class="k2">(</span><span class="k2">)</span> % <span class="k2">(</span>BoardWidth <span class="k3">-</span> <span class="n">2</span><span class="k2">)</span><span class="k2">)</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">]</span><span class="k2">[</span><span class="k2">(</span>GetRand<span class="k2">(</span><span class="k2">)</span> % <span class="k2">(</span>BoardHeight <span class="k3">-</span> <span class="n">2</span><span class="k2">)</span><span class="k2">)</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">2</span><span class="k2">;</span>
<span class="number">  99</span>  
<span class="number"> 100</span>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> <span class="n">30</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>i<span class="k2">)</span>
<span class="number"> 101</span>    Board<span class="k2">[</span><span class="k2">(</span>GetRand<span class="k2">(</span><span class="k2">)</span> % <span class="k2">(</span>BoardWidth <span class="k3">-</span> <span class="n">2</span><span class="k2">)</span><span class="k2">)</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">]</span><span class="k2">[</span><span class="k2">(</span>GetRand<span class="k2">(</span><span class="k2">)</span> % <span class="k2">(</span>BoardHeight <span class="k3">-</span> <span class="n">2</span><span class="k2">)</span><span class="k2">)</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 102</span>  
<span class="number"> 103</span>  
<span class="number"> 104</span>  <span class="c">// set up snake</span>
<span class="number"> 105</span>  std::list<span class="k3">&lt;</span>SnakePixel<span class="k3">*</span><span class="k3">&gt;</span> Snake<span class="k2">;</span>
<span class="number"> 106</span>  <span class="c">//Snake.push_back(new SnakePixel((GetRand() % (BoardWidth - 6)) + 3, (GetRand() % (BoardWidth - 6)) + 3));</span>
<span class="number"> 107</span>  Snake.push_back<span class="k2">(</span><span class="k1">new</span> SnakePixel<span class="k2">(</span>BoardWidth <span class="k3">/</span> <span class="n">2</span>, BoardHeight <span class="k3">/</span> <span class="n">2</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 108</span>  SnakeDirection <span class="k3">=</span> <span class="k2">(</span>eSD<span class="k2">)</span><span class="k2">(</span>GetRand<span class="k2">(</span><span class="k2">)</span> % <span class="n">4</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 109</span>  <span class="k1">switch</span><span class="k2">(</span>SnakeDirection<span class="k2">)</span>
<span class="number"> 110</span>  <span class="k2">{</span>
<span class="number"> 111</span>    <span class="k1">case</span> NORTH:
<span class="number"> 112</span>      Snake.push_back<span class="k2">(</span><span class="k1">new</span> SnakePixel<span class="k2">(</span>Snake.back<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x, Snake.back<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 113</span>      Snake.push_back<span class="k2">(</span><span class="k1">new</span> SnakePixel<span class="k2">(</span>Snake.back<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x, Snake.back<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span><span class="k2">)</span><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">case</span> WEST:
<span class="number"> 117</span>      Snake.push_back<span class="k2">(</span><span class="k1">new</span> SnakePixel<span class="k2">(</span>Snake.back<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x <span class="k3">+</span> <span class="n">1</span>, Snake.back<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 118</span>      Snake.push_back<span class="k2">(</span><span class="k1">new</span> SnakePixel<span class="k2">(</span>Snake.back<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x <span class="k3">+</span> <span class="n">1</span>, Snake.back<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 119</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 120</span>    
<span class="number"> 121</span>    <span class="k1">case</span> EAST:
<span class="number"> 122</span>      Snake.push_back<span class="k2">(</span><span class="k1">new</span> SnakePixel<span class="k2">(</span>Snake.back<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x <span class="k3">-</span> <span class="n">1</span>, Snake.back<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 123</span>      Snake.push_back<span class="k2">(</span><span class="k1">new</span> SnakePixel<span class="k2">(</span>Snake.back<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x <span class="k3">-</span> <span class="n">1</span>, Snake.back<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 124</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 125</span>    
<span class="number"> 126</span>    <span class="k1">case</span> SOUTH:
<span class="number"> 127</span>      Snake.push_back<span class="k2">(</span><span class="k1">new</span> SnakePixel<span class="k2">(</span>Snake.back<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x, Snake.back<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y <span class="k3">-</span> <span class="n">1</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 128</span>      Snake.push_back<span class="k2">(</span><span class="k1">new</span> SnakePixel<span class="k2">(</span>Snake.back<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x, Snake.back<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y <span class="k3">-</span> <span class="n">1</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 129</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 130</span>  <span class="k2">}</span>
<span class="number"> 131</span>  
<span class="number"> 132</span>  <span class="k1">int</span> DoSnake <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 133</span>  <span class="k1">int</span> Score <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 134</span>  <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_ESC<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 135</span>  <span class="k2">{</span>
<span class="number"> 136</span>    <span class="k1">while</span><span class="k2">(</span>GameTicker <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span>
<span class="number"> 137</span>    <span class="k2">{</span>
<span class="number"> 138</span>      <a href="http://www.allegro.cc/manual/poll_keyboard" target="_blank"><span class="a">poll_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 139</span>      
<span class="number"> 140</span>      <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> SnakeDirection <span class="k3">!</span><span class="k3">=</span> EAST<span class="k2">)</span>
<span class="number"> 141</span>        SnakeDirection <span class="k3">=</span> WEST<span class="k2">;</span>
<span class="number"> 142</span>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> SnakeDirection <span class="k3">!</span><span class="k3">=</span> WEST<span class="k2">)</span>
<span class="number"> 143</span>        SnakeDirection <span class="k3">=</span> EAST<span class="k2">;</span>
<span class="number"> 144</span>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> SnakeDirection <span class="k3">!</span><span class="k3">=</span> SOUTH<span class="k2">)</span>
<span class="number"> 145</span>        SnakeDirection <span class="k3">=</span> NORTH<span class="k2">;</span>
<span class="number"> 146</span>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_DOWN<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> SnakeDirection <span class="k3">!</span><span class="k3">=</span> NORTH<span class="k2">)</span>
<span class="number"> 147</span>        SnakeDirection <span class="k3">=</span> SOUTH<span class="k2">;</span>
<span class="number"> 148</span>      
<span class="number"> 149</span>      <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>DoSnake % <span class="n">8</span><span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span>
<span class="number"> 150</span>      <span class="k2">{</span>
<span class="number"> 151</span>        <span class="k1">switch</span><span class="k2">(</span>SnakeDirection<span class="k2">)</span>
<span class="number"> 152</span>        <span class="k2">{</span>
<span class="number"> 153</span>          <span class="k1">case</span> NORTH:
<span class="number"> 154</span>            Snake.push_front<span class="k2">(</span><span class="k1">new</span> SnakePixel<span class="k2">(</span>Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x, Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y <span class="k3">-</span> <span class="n">1</span><span class="k2">)</span><span class="k2">)</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="number"> 157</span>          <span class="k1">case</span> WEST:
<span class="number"> 158</span>            Snake.push_front<span class="k2">(</span><span class="k1">new</span> SnakePixel<span class="k2">(</span>Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x <span class="k3">-</span> <span class="n">1</span>, Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 159</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> EAST:
<span class="number"> 162</span>            Snake.push_front<span class="k2">(</span><span class="k1">new</span> SnakePixel<span class="k2">(</span>Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x <span class="k3">+</span> <span class="n">1</span>, Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 163</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 164</span>          
<span class="number"> 165</span>          <span class="k1">case</span> SOUTH:
<span class="number"> 166</span>            Snake.push_front<span class="k2">(</span><span class="k1">new</span> SnakePixel<span class="k2">(</span>Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x, Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 167</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 168</span>        <span class="k2">}</span>
<span class="number"> 169</span>        Snake.pop_back<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 170</span>        
<span class="number"> 171</span>        <span class="k1">if</span><span class="k2">(</span>Board<span class="k2">[</span>Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x<span class="k2">]</span><span class="k2">[</span>Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y<span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span> <span class="c">// Hit Barrier</span>
<span class="number"> 172</span>        <span class="k2">{</span>
<span class="number"> 173</span>          std::cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"\nGame Over! Score: "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> Score <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"\n\n"</span><span class="k2">;</span>
<span class="number"> 174</span>          <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 175</span>        <span class="k2">}</span>
<span class="number"> 176</span>        <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>Board<span class="k2">[</span>Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x<span class="k2">]</span><span class="k2">[</span>Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y<span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span> <span class="c">// FOOD!</span>
<span class="number"> 177</span>        <span class="k2">{</span>
<span class="number"> 178</span>          <span class="k3">+</span><span class="k3">+</span>Score<span class="k2">;</span>
<span class="number"> 179</span>          Board<span class="k2">[</span>Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x<span class="k2">]</span><span class="k2">[</span>Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y<span class="k2">]</span> <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 180</span>          Board<span class="k2">[</span><span class="k2">(</span>GetRand<span class="k2">(</span><span class="k2">)</span> % <span class="k2">(</span>BoardWidth <span class="k3">-</span> <span class="n">2</span><span class="k2">)</span><span class="k2">)</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">]</span><span class="k2">[</span><span class="k2">(</span>GetRand<span class="k2">(</span><span class="k2">)</span> % <span class="k2">(</span>BoardHeight <span class="k3">-</span> <span class="n">2</span><span class="k2">)</span><span class="k2">)</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">2</span><span class="k2">;</span> <span class="c">// new food</span>
<span class="number"> 181</span>          
<span class="number"> 182</span>          <span class="k1">switch</span><span class="k2">(</span>SnakeDirection<span class="k2">)</span> <span class="c">// Make snake longer \o/</span>
<span class="number"> 183</span>          <span class="k2">{</span>
<span class="number"> 184</span>            <span class="k1">case</span> NORTH:
<span class="number"> 185</span>              Snake.push_front<span class="k2">(</span><span class="k1">new</span> SnakePixel<span class="k2">(</span>Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x, Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y <span class="k3">-</span> <span class="n">1</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 186</span>              <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 187</span>            
<span class="number"> 188</span>            <span class="k1">case</span> WEST:
<span class="number"> 189</span>              Snake.push_front<span class="k2">(</span><span class="k1">new</span> SnakePixel<span class="k2">(</span>Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x <span class="k3">-</span> <span class="n">1</span>, Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 190</span>              <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 191</span>            
<span class="number"> 192</span>            <span class="k1">case</span> EAST:
<span class="number"> 193</span>              Snake.push_front<span class="k2">(</span><span class="k1">new</span> SnakePixel<span class="k2">(</span>Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x <span class="k3">+</span> <span class="n">1</span>, Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 194</span>              <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 195</span>            
<span class="number"> 196</span>            <span class="k1">case</span> SOUTH:
<span class="number"> 197</span>              Snake.push_front<span class="k2">(</span><span class="k1">new</span> SnakePixel<span class="k2">(</span>Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x, Snake.front<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 198</span>              <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 199</span>          <span class="k2">}</span>
<span class="number"> 200</span>        <span class="k2">}</span>
<span class="number"> 201</span>        
<span class="number"> 202</span>        DoSnake <span class="k3">=</span> <span class="n">0</span><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="k3">+</span><span class="k3">+</span>DoSnake<span class="k2">;</span>
<span class="number"> 206</span>      <span class="k3">-</span><span class="k3">-</span>GameTicker<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">while</span><span class="k2">(</span>GameTicker <span class="k3">&lt;</span> <span class="n">0</span><span class="k2">)</span>
<span class="number"> 210</span>    <span class="k2">{</span>
<span class="number"> 211</span>      <a href="http://www.allegro.cc/manual/rest" target="_blank"><span class="a">rest</span></a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 212</span>    <span class="k2">}</span>
<span class="number"> 213</span>    
<span class="number"> 214</span>    <a href="http://www.allegro.cc/manual/clear_bitmap" target="_blank"><span class="a">clear_bitmap</span></a><span class="k2">(</span>buffer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 215</span>    
<span class="number"> 216</span>    <span class="c">/*rectfill(buffer, 0, 0, SCREEN_W, 5, makecol(255, 255, 0)); // Top</span>
<span class="number"> 217</span><span class="c">    rectfill(buffer, 0, 0, 5, SCREEN_H, makecol(255, 255, 0)); // Left</span>
<span class="number"> 218</span><span class="c">    rectfill(buffer, 0, SCREEN_H - 5, SCREEN_W, SCREEN_H, makecol(255, 255, 0)); // Bottom</span>
<span class="number"> 219</span><span class="c">    rectfill(buffer, SCREEN_W - 5, 0, SCREEN_W, SCREEN_H, makecol(255, 255, 0)); // Right*/</span>
<span class="number"> 220</span>    
<span class="number"> 221</span>    <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> x <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> x <span class="k3">&lt;</span> BoardWidth<span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>x<span class="k2">)</span>
<span class="number"> 222</span>    <span class="k2">{</span>
<span class="number"> 223</span>      <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> y <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> y <span class="k3">&lt;</span> BoardHeight<span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>y<span class="k2">)</span>
<span class="number"> 224</span>      <span class="k2">{</span>
<span class="number"> 225</span>        <span class="k1">if</span><span class="k2">(</span>Board<span class="k2">[</span>x<span class="k2">]</span><span class="k2">[</span>y<span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span> <span class="c">// Barrier</span>
<span class="number"> 226</span>          <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span>buffer, x <span class="k3">*</span> <span class="n">5</span>, y <span class="k3">*</span> <span class="n">5</span>, <span class="k2">(</span><span class="k2">(</span>x <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span> <span class="k3">*</span> <span class="n">5</span><span class="k2">)</span> <span class="k3">-</span> <span class="n">1</span>, <span class="k2">(</span><span class="k2">(</span>y <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span> <span class="k3">*</span> <span class="n">5</span><span class="k2">)</span> <span class="k3">-</span> <span class="n">1</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>, <span class="n">255</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 227</span>        <span class="k1">if</span><span class="k2">(</span>Board<span class="k2">[</span>x<span class="k2">]</span><span class="k2">[</span>y<span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span> <span class="c">// Food</span>
<span class="number"> 228</span>          <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span>buffer, x <span class="k3">*</span> <span class="n">5</span>, y <span class="k3">*</span> <span class="n">5</span>, <span class="k2">(</span><span class="k2">(</span>x <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span> <span class="k3">*</span> <span class="n">5</span><span class="k2">)</span> <span class="k3">-</span> <span class="n">1</span>, <span class="k2">(</span><span class="k2">(</span>y <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span> <span class="k3">*</span> <span class="n">5</span><span class="k2">)</span> <span class="k3">-</span> <span class="n">1</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>, <span class="n">128</span>, <span class="n">64</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 229</span>      <span class="k2">}</span>
<span class="number"> 230</span>    <span class="k2">}</span>
<span class="number"> 231</span>    
<span class="number"> 232</span>    <span class="k1">for</span><span class="k2">(</span>std::list<span class="k3">&lt;</span>SnakePixel<span class="k3">*</span><span class="k3">&gt;</span><span class="k2">:</span><span class="k2">:</span>iterator i <span class="k3">=</span> Snake.begin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> i <span class="k3">!</span><span class="k3">=</span> Snake.end<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>i<span class="k2">)</span>
<span class="number"> 233</span>    <span class="k2">{</span>
<span class="number"> 234</span>      <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span>buffer, <span class="k2">(</span><span class="k3">*</span>i<span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x <span class="k3">*</span> <span class="n">5</span>, <span class="k2">(</span><span class="k3">*</span>i<span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y <span class="k3">*</span> <span class="n">5</span>, <span class="k2">(</span><span class="k2">(</span><span class="k2">(</span><span class="k3">*</span>i<span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>x <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span> <span class="k3">*</span> <span class="n">5</span><span class="k2">)</span> <span class="k3">-</span> <span class="n">1</span>, <span class="k2">(</span><span class="k2">(</span><span class="k2">(</span><span class="k3">*</span>i<span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>y <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span> <span class="k3">*</span> <span class="n">5</span><span class="k2">)</span> <span class="k3">-</span> <span class="n">1</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">192</span>, <span class="n">192</span>, <span class="n">192</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 235</span>    <span class="k2">}</span>
<span class="number"> 236</span>    
<span class="number"> 237</span>    <a href="http://www.allegro.cc/manual/textprintf_right_ex" target="_blank"><span class="a">textprintf_right_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a>, <span class="n">0</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>, <span class="n">255</span>, <span class="n">0</span><span class="k2">)</span>, <span class="s">" Score: %d "</span>, Score<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 238</span>    
<span class="number"> 239</span>    
<span class="number"> 240</span>    <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a>, <a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 241</span>  <span class="k2">}</span>
<span class="number"> 242</span>  
<span class="number"> 243</span>  <a href="http://www.allegro.cc/manual/destroy_bitmap" target="_blank"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>buffer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 244</span>  
<span class="number"> 245</span>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 246</span><span class="k2">}</span>
<span class="number"> 247</span><a href="http://www.allegro.cc/manual/END_OF_MAIN" target="_blank"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span>
</div></div><p>

There is mine. Compile it how you would any normal allegro program. For more randomness, specify a different debugger level (e.g. -g3 for maximum randomness). I used `g++ minorhack_release.cpp -o minorhack_release -g3 -lalleg` myself.</p><p>You are the grey snake. Eat the pinkish colored food while avoiding the yellow stuff. Sometimes it doesn&#039;t recognize a turn (I didn&#039;t have time to fix that <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />). There may be random bugs but for the most part it works. It reads itself (its own binary executable file) and randomly picks bits from it to use for random positioning of stuff.</p><p>I didn&#039;t have time to code detection of running into yourself, so you can hit yourself and keep going. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Tue, 25 Jul 2006 23:32:50 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Cool, snakes <img src="http://www.allegro.cc/forums/smileys/cool.gif" alt="8-)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Todd Cope)</author>
		<pubDate>Tue, 25 Jul 2006 23:36:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
Very clever Baf!</p><p>Now if you can do that, why not a full game next? <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Richard Phipps)</author>
		<pubDate>Tue, 25 Jul 2006 23:41:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Onewing: Nice attempt. Once the battle part is done maybe it will work <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>BAF: Pretty cool. Definitely the best in my opinion <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>Todd: You are a close second, but I couldn&#39;t figure out how to kill the yellows or blues...</p><p>All in all, I think it goes BAF, Todd, then Onewing and me tied for third <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> Hmm, but Onewing&#39;s might be slightly more involving than mine...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Tue, 25 Jul 2006 23:56:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Uhh, can we do something like this again, on a weekend perhaps? Completely missed it. <img src="http://www.allegro.cc/forums/smileys/sad.gif" alt=":(" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Simon Parzer)</author>
		<pubDate>Tue, 25 Jul 2006 23:56:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I also completely missed it. We should do another one some time! <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" /></p><p>I liked blitzhack, which was 6 hours.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Derezo)</author>
		<pubDate>Wed, 26 Jul 2006 00:00:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I was actually going to suggest one of two things. Either another of the same thing as this, or a phase-based competition. Taking place over 1 day, the competition happens in phases:</p><p>First is a 3-hour coding competition to create a good game engine. You may use any number of source files, but no media, yet. (Time: T+3 hours)</p><p>Then is a 1-hour break in which we get together and determine which program is the best. The top two will be used for the next part of the competition. (Time: T+4 hours)</p><p>In the second phase, you may select either of the two previous winners (you may not select the one that you wrote), and enhance it. This part of the competition is 2 hours long, and a rule-o-matic will be used to determine what to enhance (i.e. you must make this enhancement, and at your option may add others). You may use external media for this part of the competition. (Time: T+6 hours)</p><p>Then is 2-hour break in which we get together and determine which program is the best (that is, which person produced the best enhancements). The top two will again be carried in to the next phase. During this break, you may create media files for use in the next phase. (Time: T+8 hours)</p><p>The final phase is another 2-hour phase where you can select either of the previous top two winners. In this phase you may select either of the winners, even if one of them is yours. A rule-o-matic will be used to generate a genre requirement, and the goal of the phase is to make the game fit into that genre. (Time: T+10 hours)</p><p>What do you guys think? I think this is a unique competition idea that should be fun, interactive, and also give you the opportunity to both work with someone else&#39;s code and create graphics on a tight deadline. The time line is rather long for a straight-run competition, but there are actually only 3 + 2 + 2 hours that you <i>must</i> be there.</p><p>If you guys are interested in the phase idea, I will set it up. I imagine we would run it sometime after SpeedHack, but that&#39;s at everyone&#39;s option. We can do the MinorHack again this weekend either way.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Wed, 26 Jul 2006 00:16:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Nice attempt
</p></div></div><p>
Thanks!  I thought it was considering I had absolutely nothing and I had to use gcc (which I prefer not to).</p><p>I&#39;d be up for another one, but only if I get to use allegro.  About the phase-based competition, sounds interesting...and confusing, but interesting.  I&#39;m always up for anything.  I&#39;m a Hack-Whore.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Onewing)</author>
		<pubDate>Wed, 26 Jul 2006 00:37:09 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well, I&#39;m gonna go ahead and set the time for the next MinorHack to this saturday at the same time of day. If anyone would rather it be moved, let me know and we can work it out.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Wed, 26 Jul 2006 00:41:38 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I dunno if I&#39;ll be participating this weekend, I may have commitments to fulfill.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Wed, 26 Jul 2006 00:42:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
next MinorHack to this saturday at the same time of day.
</p></div></div><p>
So I&#39;ve got a week to make a game, eh?  Guess I better get started.  <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>Actually, I wouldn&#39;t do that, but what&#39;s stopping someone else from doing it?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Onewing)</author>
		<pubDate>Wed, 26 Jul 2006 00:49:29 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I think it is nice as it is, one hour, one source file <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /><br />But i think we should choose a theme, just to discourage stupid people from using something written before
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (FMC)</author>
		<pubDate>Wed, 26 Jul 2006 00:51:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
I can pick a theme. Just let me know when.. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Richard Phipps)</author>
		<pubDate>Wed, 26 Jul 2006 00:56:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Actually, I wouldn&#39;t do that, but what&#39;s stopping someone else from doing it?
</p></div></div><p>I&#39;m going to add a rule-o-matic that selects one stupid rule <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>For instance, &quot;game must use a VM&quot;. Very loose but very off-the-wall rules. I don&#39;t want to limit genre or theme, because I like having different genres, and some games might not actually have a theme.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Wed, 26 Jul 2006 01:06:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Very loose but very off-the-wall rules.
</p></div></div><p>
Good enough.  Maybe, &quot;all functions have to be recursive&quot; or &quot;you must use rotate_sprite in some manner&quot; could be fitting rules.  <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Onewing)</author>
		<pubDate>Wed, 26 Jul 2006 01:10:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Those are both good. I have some very creative ideas. I think I will add theme restriction rules, but if one of them is selected there will be a backup rule for games in which there is no theme.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Wed, 26 Jul 2006 01:14:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
all functions have to be recursive
</p></div></div><p>
I&#39;d need an hour just to think how to implement it <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (FMC)</author>
		<pubDate>Wed, 26 Jul 2006 01:18:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>That would be extremely difficult to implement.</p><p>Unless you only have one function... <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Derezo)</author>
		<pubDate>Wed, 26 Jul 2006 01:46:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I am taking down the MinorHack countdown for a while. It will be back before Saturday, don&#39;t worry <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Wed, 26 Jul 2006 03:33:42 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Very clever Baf!</p><p>Now if you can do that, why not a full game next? <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div></div><p>

I have no motivation. An hour or two is good, once or twice a year I can handle 72 hours, but a full fledge game? <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>[edit]<br />Plus I always try to neaten and get things orderly, and never end up getting anything done. My stuff ends up being infinately extendable yet infinately not done. With 1 hour, I just pour code straight from my brain into the editor and go. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /> No time for organizing, as you can tell by looking at my source. Its fugly.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Wed, 26 Jul 2006 04:28:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I only tried CGamesPlay and sort of skipped most of the comments after he pasted his code but a) it didnt compile outright and b) firing is unimplemented.</p><p>Originally I got this error:
</p><div class="source-code snippet"><div class="inner"><pre>x.cpp:140: error: `Map::Draw<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span><span class="k2">)</span><span class="k2">:</span><span class="k2">:</span>seg<span class="s">' uses local type `Map::Draw(BITMAP*)::seg'</span>
x.cpp:140: error:   trying to instantiate `<span class="k1">template</span><span class="k3">&lt;</span><span class="k1">class</span> _Alloc&gt; <span class="k1">class</span> std::allocator<span class="s">'</span>
<span class="s">x.cpp:140: error: template argument 2 is invalid</span>
</pre></div></div><p>
Because vector&lt;seg&gt; segments used a locally declared struct, I didnt even know that was legal and apparently neither does g++( 3.4.4 ). I moved the definition of the struct outside the Draw() method and it worked fine.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kazzmir)</author>
		<pubDate>Wed, 26 Jul 2006 06:40:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah, firing was unimplemented. I should have just gone with the double buffer method and solved both those problems <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Wed, 26 Jul 2006 06:48:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>West of House<br />You are standing in an open field west of a white house, with a boarded front door.<br />There is a small mailbox here.</p><p>&gt;
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jakerohs)</author>
		<pubDate>Wed, 26 Jul 2006 11:07:35 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You are standing in an open field west of a white house, with a boarded front door.<br />There is a small mailbox here.</p><p>&gt;LOOK AT GROUND</p><p>You see a sledgehammer, lots of grass and some beetles</p><p>&gt;GET SLEDGEHAMMER</p><p>You have picked up a Sledgehammer</p><p>&gt;INVENTORY</p><p>1 Sledgehammer<br />1 Sandwich<br />3 Mysterious coins</p><p>&gt;EAST</p><p>OK.</p><p>&gt;LOOK</p><p>You are at a white house, with a boarded front door.<br />There is a small mailbox here. To the west is an open field.</p><p>&gt;SMASH DOOR</p><p>What with? You need to use something.</p><p>&gt;USE SLEDGEHAMMER</p><p>OK.</p><p>&gt;SMASH DOOR</p><p>The door breaks down in front of you.</p><p>&gt;LOOK</p><p>You are at a white house, with a broken front door.<br />There is a small mailbox here. To the west is an open field. Through the doorway you can see a flight of stairs. You can see an eerie purple light reflected on the stairs.</p><p>&gt;_</p><p>Hee hee. Anyone like to continue? <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (James Stanley)</author>
		<pubDate>Wed, 26 Jul 2006 14:55:58 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Plus I always try to neaten and get things orderly, and never end up getting anything done. My stuff ends up being infinately extendable yet infinately not done.
</p></div></div><p>

Just get stuff done and don&#39;t worry about the code. Even professional game developers don&#39;t have time to stop code getting hacky when it&#39;s crunch time. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Richard Phipps)</author>
		<pubDate>Wed, 26 Jul 2006 16:22:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ack! I am not going to be able to participate this Saturday! I would like to run one on Sunday at 8 p.m. EDT (Mon Jul 31 01:00:00 UTC 2006). I can run both if you guys like, or only one. You decide <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> (Or suggest something completely different)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Wed, 26 Jul 2006 22:03:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I can&#39;t really do Saturday either, because of yet-another-wedding.  However, I&#39;m in for Sunday.  <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Onewing)</author>
		<pubDate>Wed, 26 Jul 2006 22:10:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I don&#39;t know if I&#39;m in or out. Probably out Fri,Sat,Sun. Probably Thurs.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Wed, 26 Jul 2006 22:10:42 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ugh. I&#39;ve had some plans sprung on me, and won&#39;t be in town this weekend. I will still have the site up, but won&#39;t be in town to manage it.</p><p>[append]</p><p>Feast your eyes, allegroites, on the new, improved <a href="http://cgamesplay.com/minorhack">MinorHack site</a>. It features a super-slick backend that you don&#39;t really care about. Most importantly, it has a count down, and will select a rule once the competition starts. I won&#39;t be in town for these, of course, but I expect some good entries, damnit! If I get back and nobody has anything I will be angry! And sad! Avoir!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Fri, 28 Jul 2006 05:42:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Are those times UTC?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Onewing)</author>
		<pubDate>Fri, 28 Jul 2006 06:28:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No, they are EDT, sorry <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> That&#39;s GMT -4 <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Fri, 28 Jul 2006 09:08:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I thought of an idea that would be kind of neat for a programming competition.  It would be cool if we could get somebody (or somebodies) to make a large set of artwork, gfx, sfx and music and this is the only media that participants use.  This totally focuses on the programmer&#39;s ability to make efficient/fun gameplay, considering every game will have the same look/feel.  It&#39;s just an idea that&#39;s up for the community to manage into a working model.</p><p>Also, at the International Programming Competition*, there was this fun mini-competition where you are given a manual of object code written in java.  The goal was to take this set of object functionality and produce some code that would make the object to think and react.  Then, you step back and everybody&#39;s code competes with everybody elses code and the winners are determined simply by which AI wins the game itself.</p><p>At the competition I was at, we have a car and we had to develop it&#39;s brain to race and collect points and win by having the most points.  It was three hours long, and none of us were very familiar with java, so the first two hours, we tried to figure out how the manual worked.  Then, for the last hour, we designed a &quot;brain&quot; that just went for the simplest route of gainning points.  Assuming we lost, we watched the games play out in several tournament like matches.  We were proud (and surprised) to win third place.  The main thing about our program was that it avoided pile-ups from running into other cars, which happened every race.  It was really funny.</p><p>Hmmm, I really went off topic there, didn&#39;t I?  Well, anywho, the phase-idea that you presented would allow for similar results of that java competition if we make a decent engine in the early phases.  Just thought I&#39;d throw all this out there.  <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><ul><li><p>I was a Sophomore at the time.  I got to go because I was on the reserve team (which was allowed to compete in the java challenge).  One of my roommates ran into Sean Connery in our hotel. <img src="http://www.allegro.cc/forums/smileys/shocked.gif" alt=":o" /> What an experience...</p></li></ul><p>[edit] - some typos.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Onewing)</author>
		<pubDate>Sat, 29 Jul 2006 09:11:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Bump!</p><p>So I guess nothing happened then <img src="http://www.allegro.cc/forums/smileys/undecided.gif" alt=":-/" /> How very sad <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>Well I will do more work on a PhaseHack site and maybe run one late August/early September.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Fri, 04 Aug 2006 02:58:35 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I ended up being too busy to do one anyway.  However, with you gone, it didn&#39;t make much sense.  You&#39;ve got to have a sheperd to herd the sheep!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Onewing)</author>
		<pubDate>Fri, 04 Aug 2006 03:11:31 +0000</pubDate>
	</item>
</rss>
