<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>allegro performance problems</title>
		<link>http://www.allegro.cc/forums/view/590546</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Thu, 22 Mar 2007 20:09:19 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I am using a hp dv6000t laptop with a base install of Debian linux. It have a 256mb Geforce go 7400 nvidia graphics card. When I run my programs they get awful framerate. I have run some allegro examples and they all seem to run perfectly. It seems that just my programs lag. Why do they lag? It would be helpful if you told me exactly what to do as I am new to allegro and linux in general. I read somewhere that  <br />using DGA 2.0 drivers made it fast or something. I have tried that but it had a segmentation fault. Thanks for your help in advance.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (malleus)</author>
		<pubDate>Thu, 15 Mar 2007 00:21:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>On Linux, I don&#39;t think there is any hardware acceleration of Allegro programs, therefore, if you wish for your programs to perform better, the only advice I can give it to write better code. Look into dirty rectangles for updating the screen and make sure you only blit objects which will actually be displayed.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (relpatseht)</author>
		<pubDate>Thu, 15 Mar 2007 06:30:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>How big is the framerate difference compared to windows?<br />What kind of bitmaps are you using (memory, system, video)? <br />Are you using lots of fancy effects (blending, trasparency)?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (HoHo)</author>
		<pubDate>Thu, 15 Mar 2007 13:18:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
When I run my programs they get awful framerate. I have run some allegro examples and they all seem to run perfectly. It seems that just my programs lag. Why do they lag?
</p></div></div><p>
Post code. We can&#39;t tell what&#39;s different between your program and Allegro&#39;s examples without seeing them.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
It would be helpful if you told me exactly what to do as I am new to allegro and linux in general.
</p></div></div><p>
Post code. <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" /> We need to see what you&#39;re doing in order to be able to tell you if you&#39;re doing something wrong.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
I read somewhere that using DGA 2.0 drivers made it fast or something. I have tried that but it had a segmentation fault.
</p></div></div><p>
DGA 2 allows you to use hardware acceleration in X11, but it&#39;s officially deprecated (in X11, not Allegro itself). Note that the driver requires root privileges and will fail to initialise if it can&#39;t get them (meaning you get a segfault if you don&#39;t check the return value of set_gfx_mode).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Evert)</author>
		<pubDate>Thu, 15 Mar 2007 13:52:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>As you can tell the following is a pong ripoff. Please excuse my global variables and other bad code. I noticed that it only lags when i draw shapes to the screen not bitmaps. On my computer it runs smoothly for three seconds and then lags sooo badly.</p><p>variables.h file
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>opening<span class="k2">;</span>
<span class="number">  2</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>buffer<span class="k2">;</span>
<span class="number">  3</span>
<span class="number">  4</span><span class="k1">int</span> temp<span class="k2">;</span>
<span class="number">  5</span><span class="k1">int</span> a<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number">  6</span>
<span class="number">  7</span>
<span class="number">  8</span><span class="k1">int</span> p1Score<span class="k2">;</span>
<span class="number">  9</span><span class="k1">int</span> p2Score<span class="k2">;</span>
<span class="number"> 10</span><span class="c">//player one paddle//</span>
<span class="number"> 11</span><span class="k1">int</span> xP1<span class="k3">=</span><span class="n">20</span><span class="k2">;</span>
<span class="number"> 12</span><span class="k1">int</span> yP1<span class="k3">=</span><span class="n">20</span><span class="k2">;</span>
<span class="number"> 13</span>
<span class="number"> 14</span>
<span class="number"> 15</span><span class="k1">int</span> tempXP1<span class="k2">;</span>
<span class="number"> 16</span><span class="k1">int</span> tempYP1<span class="k2">;</span>
<span class="number"> 17</span>
<span class="number"> 18</span><span class="c">//player two paddle//</span>
<span class="number"> 19</span><span class="k1">int</span> xP2<span class="k3">=</span><span class="n">800</span><span class="k2">;</span>
<span class="number"> 20</span><span class="k1">int</span> yP2<span class="k3">=</span><span class="n">360</span><span class="k2">;</span>
<span class="number"> 21</span>
<span class="number"> 22</span><span class="k1">int</span> tempXP2<span class="k2">;</span>
<span class="number"> 23</span><span class="k1">int</span> tempYP2<span class="k2">;</span>
<span class="number"> 24</span>
<span class="number"> 25</span><span class="c">//ball//</span>
<span class="number"> 26</span><span class="k1">int</span> xBall<span class="k3">=</span><span class="n">420</span><span class="k2">;</span>
<span class="number"> 27</span><span class="k1">int</span> yBall<span class="k3">=</span><span class="n">460</span><span class="k2">;</span>
<span class="number"> 28</span>
<span class="number"> 29</span><span class="k1">int</span> tempXBall<span class="k2">;</span>
<span class="number"> 30</span><span class="k1">int</span> tempYBall<span class="k2">;</span>
<span class="number"> 31</span><span class="c">//--------------------------//</span>
<span class="number"> 32</span>
<span class="number"> 33</span><span class="k1">int</span> dir<span class="k3">=</span><span class="n">1</span><span class="k2">;</span> <span class="c">//1= up, left. 2= down, left. 3=up, right. 4=down, right.</span>
</div></div><p>

misc.h
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span><span class="k1">void</span> draw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   2</span><span class="k1">void</span> player1<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   3</span><span class="k1">void</span> player2<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   4</span><span class="k1">void</span> ballMovement<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   5</span>
<span class="number">   6</span>
<span class="number">   7</span><span class="k1">void</span> draw<span class="k2">(</span><span class="k2">)</span>
<span class="number">   8</span><span class="k2">{</span>
<span class="number">   9</span>        <a href="http://www.allegro.cc/manual/acquire_screen" target="_blank"><span class="a">acquire_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  10</span>        
<span class="number">  11</span>        <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">0</span>, <span class="n">460</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>, <span class="s">"Player 1 Score: %d"</span>, <span class="k2">(</span>p1Score-1<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  12</span>        <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">0</span>, <span class="n">460</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">255</span><span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>, <span class="s">"Player 1 Score: %d"</span>, p1Score<span class="k2">)</span><span class="k2">;</span>
<span class="number">  13</span>        
<span class="number">  14</span>        <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">700</span>, <span class="n">460</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>, <span class="s">"Player 2 Score: %d"</span>, <span class="k2">(</span>p2Score-1<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  15</span>        <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">700</span>, <span class="n">460</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">255</span><span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>, <span class="s">"Player 2 Score: %d"</span>, p2Score<span class="k2">)</span><span class="k2">;</span>
<span class="number">  16</span>        
<span class="number">  17</span>        <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span>buffer, tempXP1, tempYP1, <span class="k2">(</span>tempXP1<span class="k3">+</span><span class="n">20</span><span class="k2">)</span>, <span class="k2">(</span>tempYP1<span class="k3">+</span><span class="n">100</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">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//clear</span>
<span class="number">  18</span>        <a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span>buffer, xP1, yP1, <span class="k2">(</span>xP1<span class="k3">+</span><span class="n">20</span><span class="k2">)</span>, <span class="k2">(</span>yP1<span class="k3">+</span><span class="n">100</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">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//player one paddle</span>
<span class="number">  19</span>        
<span class="number">  20</span>        <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span>buffer, tempXP2, tempYP2, <span class="k2">(</span>tempXP2<span class="k3">+</span><span class="n">20</span><span class="k2">)</span>, <span class="k2">(</span>tempYP2<span class="k3">+</span><span class="n">100</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">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//clear</span>
<span class="number">  21</span>        <a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span>buffer, xP2, yP2, <span class="k2">(</span>xP2<span class="k3">+</span><span class="n">20</span><span class="k2">)</span>, <span class="k2">(</span>yP2<span class="k3">+</span><span class="n">100</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">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//player two paddle</span>
<span class="number">  22</span>       
<span class="number">  23</span>    <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a><span class="k2">(</span>buffer, tempXBall, tempYBall, <span class="n">10</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  24</span>        <a href="http://www.allegro.cc/manual/circle" target="_blank"><span class="a">circle</span></a><span class="k2">(</span>buffer, xBall, yBall, <span class="n">10</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">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  25</span>    
<span class="number">  26</span>        <a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">(</span>buffer, <span class="n">0</span>, <span class="n">10</span>, <span class="n">840</span>, <span class="n">10</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">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>        <a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">(</span>buffer, <span class="n">0</span>, <span class="n">470</span>, <span class="n">840</span>, <span class="n">470</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">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  28</span>        <a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">(</span>buffer, <span class="n">420</span>, <span class="n">0</span>, <span class="n">420</span>, <span class="n">480</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">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  29</span>        
<span class="number">  30</span>        <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, buffer, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  31</span>        
<span class="number">  32</span>        a<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number">  33</span>        <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>a%<span class="n">3</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">  34</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">  35</span>        
<span class="number">  36</span>        <a href="http://www.allegro.cc/manual/release_screen" target="_blank"><span class="a">release_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span><span class="k2">}</span>
<span class="number">  38</span><span class="k1">void</span> player1<span class="k2">(</span><span class="k2">)</span>
<span class="number">  39</span><span class="k2">{</span>
<span class="number">  40</span>    <a href="http://www.allegro.cc/manual/clear_keybuf" target="_blank"><span class="a">clear_keybuf</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  41</span>    
<span class="number">  42</span>    <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_W<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>yP1-2<span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">10</span><span class="k2">)</span>
<span class="number">  43</span>        yP1-<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  44</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_S<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>yP1<span class="k3">+</span><span class="n">102</span><span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">470</span><span class="k2">)</span>
<span class="number">  45</span>        yP1<span class="k3">+</span><span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  46</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_D<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>xP1<span class="k3">+</span><span class="n">22</span><span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">420</span><span class="k2">)</span>
<span class="number">  47</span>        xP1<span class="k3">+</span><span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  48</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_A<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>xP1-2<span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">0</span><span class="k2">)</span>
<span class="number">  49</span>        xP1-<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  50</span>    
<span class="number">  51</span><span class="k2">}</span>
<span class="number">  52</span><span class="k1">void</span> player2<span class="k2">(</span><span class="k2">)</span>
<span class="number">  53</span><span class="k2">{</span>
<span class="number">  54</span>    <a href="http://www.allegro.cc/manual/clear_keybuf" target="_blank"><span class="a">clear_keybuf</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>    
<span class="number">  56</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> <span class="k2">(</span>yP2-2<span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">10</span><span class="k2">)</span>
<span class="number">  57</span>        yP2-<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  58</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> <span class="k2">(</span>yP2<span class="k3">+</span><span class="n">102</span><span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">470</span><span class="k2">)</span>
<span class="number">  59</span>        yP2<span class="k3">+</span><span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  60</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> <span class="k2">(</span>xP2<span class="k3">+</span><span class="n">20</span><span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">840</span><span class="k2">)</span>
<span class="number">  61</span>        xP2<span class="k3">+</span><span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  62</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> <span class="k2">(</span>xP2-2<span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">420</span><span class="k2">)</span>
<span class="number">  63</span>        xP2-<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  64</span><span class="k2">}</span>
<span class="number">  65</span><span class="k1">void</span> ballmovement<span class="k2">(</span><span class="k2">)</span>
<span class="number">  66</span><span class="k2">{</span>
<span class="number">  67</span>    <span class="k1">switch</span><span class="k2">(</span>dir<span class="k2">)</span>
<span class="number">  68</span>    <span class="k2">{</span>
<span class="number">  69</span>        <span class="k1">case</span> <span class="n">1</span><span class="k2">:</span>
<span class="number">  70</span>            <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="n">10</span><span class="k2">)</span>
<span class="number">  71</span>                dir<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  72</span>            <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>xBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="k2">(</span>xP1<span class="k3">+</span><span class="n">20</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  73</span>                <span class="k1">for</span><span class="k2">(</span> <span class="k1">int</span> c<span class="k3">=</span>yP1<span class="k2">;</span> c<span class="k3">&lt;</span><span class="k2">(</span>yP1<span class="k3">+</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span>c<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  74</span>                    <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span>c<span class="k2">)</span>
<span class="number">  75</span>                       dir<span class="k3">=</span><span class="n">3</span><span class="k2">;</span>       
<span class="number">  76</span>            yBall-<span class="k3">=</span><span class="n">2</span>, xBall-<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  77</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  78</span>        <span class="k1">case</span> <span class="n">2</span><span class="k2">:</span>
<span class="number">  79</span>            <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall<span class="k3">+</span><span class="n">10</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="n">470</span><span class="k2">)</span>
<span class="number">  80</span>                dir<span class="k3">=</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  81</span>            <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>xBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="k2">(</span>xP1<span class="k3">+</span><span class="n">20</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  82</span>                <span class="k1">for</span><span class="k2">(</span> <span class="k1">int</span> c<span class="k3">=</span>yP1<span class="k2">;</span> c<span class="k3">&lt;</span><span class="k2">(</span>yP1<span class="k3">+</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span>c<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  83</span>                    <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span>c<span class="k2">)</span>
<span class="number">  84</span>                       dir<span class="k3">=</span><span class="n">4</span><span class="k2">;</span>          
<span class="number">  85</span>            yBall<span class="k3">+</span><span class="k3">=</span><span class="n">2</span>, xBall-<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  86</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  87</span>        <span class="k1">case</span> <span class="n">3</span><span class="k2">:</span>
<span class="number">  88</span>            <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="n">10</span><span class="k2">)</span>
<span class="number">  89</span>                dir<span class="k3">=</span><span class="n">4</span><span class="k2">;</span>
<span class="number">  90</span>            <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>xBall<span class="k3">+</span><span class="n">10</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span>xP2<span class="k2">)</span>
<span class="number">  91</span>                <span class="k1">for</span><span class="k2">(</span> <span class="k1">int</span> c<span class="k3">=</span>yP2<span class="k2">;</span> c<span class="k3">&lt;</span><span class="k2">(</span>yP2<span class="k3">+</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span>c<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  92</span>                    <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall<span class="k3">+</span><span class="n">10</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span>c<span class="k2">)</span>
<span class="number">  93</span>                       dir<span class="k3">=</span><span class="n">1</span><span class="k2">;</span>       
<span class="number">  94</span>            yBall-<span class="k3">=</span><span class="n">2</span>, xBall<span class="k3">+</span><span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  95</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  96</span>        <span class="k1">case</span> <span class="n">4</span><span class="k2">:</span>
<span class="number">  97</span>            <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall<span class="k3">+</span><span class="n">10</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="n">470</span><span class="k2">)</span>
<span class="number">  98</span>                dir<span class="k3">=</span><span class="n">3</span><span class="k2">;</span>
<span class="number">  99</span>            <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>xBall<span class="k3">+</span><span class="n">10</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span>xP2<span class="k2">)</span>
<span class="number"> 100</span>                <span class="k1">for</span><span class="k2">(</span> <span class="k1">int</span> c<span class="k3">=</span>yP2<span class="k2">;</span> c<span class="k3">&lt;</span><span class="k2">(</span>yP2<span class="k3">+</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span>c<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 101</span>                    <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall<span class="k3">+</span><span class="n">10</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span>c<span class="k2">)</span>
<span class="number"> 102</span>                       dir<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>                     
<span class="number"> 103</span>            yBall<span class="k3">+</span><span class="k3">=</span><span class="n">2</span>, xBall<span class="k3">+</span><span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number"> 104</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 105</span>    <span class="k2">}</span>
<span class="number"> 106</span><span class="k2">}</span>
</div></div><p>

main.cpp
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="c">//Pong 2.0</span>
<span class="number">  2</span><span class="c">//by Sharif Mabie-Alkhaldi</span>
<span class="number">  3</span><span class="p">#include &lt;allegro.h&gt;</span>
<span class="number">  4</span><span class="p">#include"variables.h"</span>
<span class="number">  5</span><span class="p">#include "misc.h"</span>
<span class="number">  6</span>
<span class="number">  7</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="number">  8</span><span class="k2">{</span>
<span class="number">  9</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"> 10</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"> 11</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><span class="n">16</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 12</span>
<span class="number"> 13</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">840</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"> 14</span>    
<span class="number"> 15</span>    opening<span class="k3">=</span><a href="http://www.allegro.cc/manual/load_bitmap" target="_blank"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="s">"opening.bmp"</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 16</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><span class="n">840</span>, <span class="n">480</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 17</span>    
<span class="number"> 18</span>    start: 
<span class="number"> 19</span>        
<span class="number"> 20</span>    p1Score<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 21</span>    p2Score<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 22</span>        
<span class="number"> 23</span>    <a href="http://www.allegro.cc/manual/acquire_screen" target="_blank"><span class="a">acquire_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 24</span>    <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span>buffer, opening, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 25</span>    <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, buffer, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 26</span>    <a href="http://www.allegro.cc/manual/release_screen" target="_blank"><span class="a">release_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 27</span>            
<span class="number"> 28</span>    <a href="http://www.allegro.cc/manual/readkey" target="_blank"><span class="a">readkey</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 29</span>    <a href="http://www.allegro.cc/manual/acquire_screen" target="_blank"><span class="a">acquire_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 30</span>    <a href="http://www.allegro.cc/manual/clear_to_color" target="_blank"><span class="a">clear_to_color</span></a><span class="k2">(</span> buffer, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 31</span>    <a href="http://www.allegro.cc/manual/release_screen" target="_blank"><span class="a">release_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 32</span>        
<span class="number"> 33</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"> 34</span>    <span class="k2">{</span>   
<span class="number"> 35</span>        tempXP1<span class="k3">=</span>xP1<span class="k2">;</span>
<span class="number"> 36</span>        tempXP2<span class="k3">=</span>xP2<span class="k2">;</span>
<span class="number"> 37</span>                 
<span class="number"> 38</span>        tempYP1<span class="k3">=</span>yP1<span class="k2">;</span>
<span class="number"> 39</span>        tempYP2<span class="k3">=</span>yP2<span class="k2">;</span>
<span class="number"> 40</span>            
<span class="number"> 41</span>        tempXBall<span class="k3">=</span>xBall<span class="k2">;</span>
<span class="number"> 42</span>        tempYBall<span class="k3">=</span>yBall<span class="k2">;</span>
<span class="number"> 43</span>            
<span class="number"> 44</span>        ballmovement<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 45</span>            
<span class="number"> 46</span>        player1<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 47</span>        player2<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 48</span>            
<span class="number"> 49</span>        <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>xBall<span class="k3">+</span><span class="n">10</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"> 50</span>        <span class="k2">{</span>
<span class="number"> 51</span>            p2Score<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 52</span>                
<span class="number"> 53</span>            yBall<span class="k3">=</span><span class="n">460</span><span class="k2">;</span>
<span class="number"> 54</span>            xBall<span class="k3">=</span><span class="n">420</span><span class="k2">;</span>
<span class="number"> 55</span>        <span class="k2">}</span>
<span class="number"> 56</span>        <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>xBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="n">840</span><span class="k2">)</span>
<span class="number"> 57</span>        <span class="k2">{</span>
<span class="number"> 58</span>            p1Score<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 59</span>                
<span class="number"> 60</span>            yBall<span class="k3">=</span><span class="n">460</span><span class="k2">;</span>
<span class="number"> 61</span>            xBall<span class="k3">=</span><span class="n">420</span><span class="k2">;</span>
<span class="number"> 62</span>        <span class="k2">}</span>
<span class="number"> 63</span>            
<span class="number"> 64</span>        <span class="k1">if</span><span class="k2">(</span>p1Score<span class="k3">=</span><span class="k3">=</span><span class="n">5</span><span class="k2">)</span>
<span class="number"> 65</span>        <span class="k2">{</span>
<span class="number"> 66</span>            textout<span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"Player one wins! Do you want to play again y/esc?"</span>, <span class="n">250</span>, <span class="n">240</span>, <span class="n">50</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 67</span>            <a href="http://www.allegro.cc/manual/readkey" target="_blank"><span class="a">readkey</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 68</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_Y<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 69</span>                <span class="k1">goto</span> start<span class="k2">;</span>
<span class="number"> 70</span>        <span class="k2">}</span>
<span class="number"> 71</span>        <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>p2Score<span class="k3">=</span><span class="k3">=</span><span class="n">5</span><span class="k2">)</span>
<span class="number"> 72</span>        <span class="k2">{</span>
<span class="number"> 73</span>            textout<span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"Player two wins! Do you want to play again y/esc?"</span>, <span class="n">250</span>, <span class="n">240</span>, <span class="n">50</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 74</span>            <a href="http://www.allegro.cc/manual/readkey" target="_blank"><span class="a">readkey</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 75</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_Y<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 76</span>                <span class="k1">goto</span> start<span class="k2">;</span>
<span class="number"> 77</span>        <span class="k2">}</span> 
<span class="number"> 78</span>        draw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> 
<span class="number"> 79</span>    <span class="k2">}</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="k2">;</span>
<span class="number"> 80</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 81</span><span class="k2">}</span>
<span class="number"> 82</span><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><span class="k2">;</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (malleus)</author>
		<pubDate>Fri, 16 Mar 2007 19:53:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Loose the acquire/release screen functions and use regular blit to copy buffer to screen. </p><p>IIRC, acquire screen was good only when you had to access the screen bitmap several times per frame. Blitting buffer to screen does not qualify for such a situation.</p><p>You don&#39;t seem to be clearing the buffer each frame. Do you always redraw the entire screen every frame? From the code it doesn&#39;t look like that.</p><p>Also you might want to learn about allegro timers. Using only rest(1) for timing will not work for anyone else but you.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (HoHo)</author>
		<pubDate>Fri, 16 Mar 2007 20:10:14 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>First off, get rid of all those acquire_screen()s. And as a side note, use blit instead of draw_sprite to copy the backbuffer to screen. Secondly, your desktop is likely running in 32-bit, so opening a 16-bit window may cause further slowdowns. On an unrelated but vital note, you don&#39;t seem to have any kind of timer logic.</p><p>EDIT: Oh, you think you&#39;re clever, do you HoHo? I&#39;m gonna <i>cut</i> you. <b>grumbles</b>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Fri, 16 Mar 2007 20:11:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It still lags. Good someone post code that runs at a decent rate on linux. Theres seems to be a bit of a increase in performance but nothing vary noticable.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (malleus)</author>
		<pubDate>Sat, 17 Mar 2007 19:59:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What&#39;s the FPS you are getting?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (HoHo)</author>
		<pubDate>Sun, 18 Mar 2007 02:24:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>3-4 at best. Could some one post code?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (malleus)</author>
		<pubDate>Mon, 19 Mar 2007 01:44:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>That wouldn&#39;t help. What&#39;s your code look like now?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Mon, 19 Mar 2007 03:39:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ok sorry, it did in fact increase performance considerably. But it still gets sub par performance. When I move the paddles its kinda of jumpy. Heres my code.</p><p>main.cpp
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="c">//Pong 2.0</span>
<span class="number">  2</span><span class="c">//by Sharif Mabie-Alkhaldi</span>
<span class="number">  3</span><span class="p">#include &lt;allegro.h&gt;</span>
<span class="number">  4</span><span class="p">#include"variables.h"</span>
<span class="number">  5</span><span class="p">#include "misc.h"</span>
<span class="number">  6</span>
<span class="number">  7</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="number">  8</span><span class="k2">{</span>
<span class="number">  9</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"> 10</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"> 11</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><span class="n">16</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 12</span>
<span class="number"> 13</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">840</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"> 14</span>    
<span class="number"> 15</span>    opening<span class="k3">=</span><a href="http://www.allegro.cc/manual/load_bitmap" target="_blank"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="s">"opening.bmp"</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 16</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><span class="n">840</span>, <span class="n">480</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 17</span>    
<span class="number"> 18</span>    start: 
<span class="number"> 19</span>        
<span class="number"> 20</span>    p1Score<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 21</span>    p2Score<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 22</span>        
<span class="number"> 23</span>    <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>opening, buffer, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, opening-&gt;w, opening-&gt;h<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 24</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>, buffer-&gt;w, buffer-&gt;h<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 25</span>            
<span class="number"> 26</span>    <a href="http://www.allegro.cc/manual/readkey" target="_blank"><span class="a">readkey</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 27</span>    <a href="http://www.allegro.cc/manual/clear_to_color" target="_blank"><span class="a">clear_to_color</span></a><span class="k2">(</span> buffer, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 28</span>        
<span class="number"> 29</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"> 30</span>    <span class="k2">{</span>   
<span class="number"> 31</span>        tempXP1<span class="k3">=</span>xP1<span class="k2">;</span>
<span class="number"> 32</span>        tempXP2<span class="k3">=</span>xP2<span class="k2">;</span>
<span class="number"> 33</span>                 
<span class="number"> 34</span>        tempYP1<span class="k3">=</span>yP1<span class="k2">;</span>
<span class="number"> 35</span>        tempYP2<span class="k3">=</span>yP2<span class="k2">;</span>
<span class="number"> 36</span>            
<span class="number"> 37</span>        tempXBall<span class="k3">=</span>xBall<span class="k2">;</span>
<span class="number"> 38</span>        tempYBall<span class="k3">=</span>yBall<span class="k2">;</span>
<span class="number"> 39</span>            
<span class="number"> 40</span>        ballmovement<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 41</span>            
<span class="number"> 42</span>        player1<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 43</span>        player2<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 44</span>            
<span class="number"> 45</span>        <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>xBall<span class="k3">+</span><span class="n">10</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"> 46</span>        <span class="k2">{</span>
<span class="number"> 47</span>            p2Score<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 48</span>                
<span class="number"> 49</span>            yBall<span class="k3">=</span><span class="n">460</span><span class="k2">;</span>
<span class="number"> 50</span>            xBall<span class="k3">=</span><span class="n">420</span><span class="k2">;</span>
<span class="number"> 51</span>        <span class="k2">}</span>
<span class="number"> 52</span>        <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>xBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="n">840</span><span class="k2">)</span>
<span class="number"> 53</span>        <span class="k2">{</span>
<span class="number"> 54</span>            p1Score<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 55</span>                
<span class="number"> 56</span>            yBall<span class="k3">=</span><span class="n">460</span><span class="k2">;</span>
<span class="number"> 57</span>            xBall<span class="k3">=</span><span class="n">420</span><span class="k2">;</span>
<span class="number"> 58</span>        <span class="k2">}</span>
<span class="number"> 59</span>            
<span class="number"> 60</span>        <span class="k1">if</span><span class="k2">(</span>p1Score<span class="k3">=</span><span class="k3">=</span><span class="n">5</span><span class="k2">)</span>
<span class="number"> 61</span>        <span class="k2">{</span>
<span class="number"> 62</span>            textout<span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"Player one wins! Do you want to play again y/esc?"</span>, <span class="n">250</span>, <span class="n">240</span>, <span class="n">50</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 63</span>            <a href="http://www.allegro.cc/manual/readkey" target="_blank"><span class="a">readkey</span></a><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/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_Y<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 65</span>                <span class="k1">goto</span> start<span class="k2">;</span>
<span class="number"> 66</span>        <span class="k2">}</span>
<span class="number"> 67</span>        <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>p2Score<span class="k3">=</span><span class="k3">=</span><span class="n">5</span><span class="k2">)</span>
<span class="number"> 68</span>        <span class="k2">{</span>
<span class="number"> 69</span>            textout<span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"Player two wins! Do you want to play again y/esc?"</span>, <span class="n">250</span>, <span class="n">240</span>, <span class="n">50</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 70</span>            <a href="http://www.allegro.cc/manual/readkey" target="_blank"><span class="a">readkey</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 71</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_Y<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 72</span>                <span class="k1">goto</span> start<span class="k2">;</span>
<span class="number"> 73</span>        <span class="k2">}</span> 
<span class="number"> 74</span>        draw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> 
<span class="number"> 75</span>    <span class="k2">}</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="k2">;</span>
<span class="number"> 76</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 77</span><span class="k2">}</span>
<span class="number"> 78</span>
<span class="number"> 79</span>
<span class="number"> 80</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><span class="k2">;</span>
</div></div><p>

misc.h
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span><span class="k1">void</span> draw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   2</span><span class="k1">void</span> player1<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   3</span><span class="k1">void</span> player2<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   4</span><span class="k1">void</span> ballMovement<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   5</span>
<span class="number">   6</span>
<span class="number">   7</span><span class="k1">void</span> draw<span class="k2">(</span><span class="k2">)</span>
<span class="number">   8</span><span class="k2">{</span>
<span class="number">   9</span>        
<span class="number">  10</span>        <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">0</span>, <span class="n">460</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>, <span class="s">"Player 1 Score: %d"</span>, <span class="k2">(</span>p1Score-1<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  11</span>        <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">0</span>, <span class="n">460</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">255</span><span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>, <span class="s">"Player 1 Score: %d"</span>, p1Score<span class="k2">)</span><span class="k2">;</span>
<span class="number">  12</span>        
<span class="number">  13</span>        <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">700</span>, <span class="n">460</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>, <span class="s">"Player 2 Score: %d"</span>, <span class="k2">(</span>p2Score-1<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  14</span>        <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">700</span>, <span class="n">460</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">255</span><span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>, <span class="s">"Player 2 Score: %d"</span>, p2Score<span class="k2">)</span><span class="k2">;</span>
<span class="number">  15</span>        
<span class="number">  16</span>        <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span>buffer, tempXP1, tempYP1, <span class="k2">(</span>tempXP1<span class="k3">+</span><span class="n">20</span><span class="k2">)</span>, <span class="k2">(</span>tempYP1<span class="k3">+</span><span class="n">100</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">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//clear</span>
<span class="number">  17</span>        <a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span>buffer, xP1, yP1, <span class="k2">(</span>xP1<span class="k3">+</span><span class="n">20</span><span class="k2">)</span>, <span class="k2">(</span>yP1<span class="k3">+</span><span class="n">100</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">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//player one paddle</span>
<span class="number">  18</span>        
<span class="number">  19</span>        <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span>buffer, tempXP2, tempYP2, <span class="k2">(</span>tempXP2<span class="k3">+</span><span class="n">20</span><span class="k2">)</span>, <span class="k2">(</span>tempYP2<span class="k3">+</span><span class="n">100</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">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//clear</span>
<span class="number">  20</span>        <a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span>buffer, xP2, yP2, <span class="k2">(</span>xP2<span class="k3">+</span><span class="n">20</span><span class="k2">)</span>, <span class="k2">(</span>yP2<span class="k3">+</span><span class="n">100</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">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//player two paddle</span>
<span class="number">  21</span>       
<span class="number">  22</span>    <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a><span class="k2">(</span>buffer, tempXBall, tempYBall, <span class="n">10</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  23</span>        <a href="http://www.allegro.cc/manual/circle" target="_blank"><span class="a">circle</span></a><span class="k2">(</span>buffer, xBall, yBall, <span class="n">10</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">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  24</span>    
<span class="number">  25</span>        <a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">(</span>buffer, <span class="n">0</span>, <span class="n">10</span>, <span class="n">840</span>, <span class="n">10</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">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  26</span>        <a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">(</span>buffer, <span class="n">0</span>, <span class="n">470</span>, <span class="n">840</span>, <span class="n">470</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">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>        <a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">(</span>buffer, <span class="n">420</span>, <span class="n">0</span>, <span class="n">420</span>, <span class="n">480</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">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  28</span>        
<span class="number">  29</span>        <a href="http://www.allegro.cc/manual/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>, buffer-&gt;w, buffer-&gt;h<span class="k2">)</span><span class="k2">;</span>
<span class="number">  30</span>        
<span class="number">  31</span>        a<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number">  32</span>        <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>a%<span class="n">3</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">  33</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">  34</span><span class="k2">}</span>
<span class="number">  35</span><span class="k1">void</span> player1<span class="k2">(</span><span class="k2">)</span>
<span class="number">  36</span><span class="k2">{</span>
<span class="number">  37</span>    <a href="http://www.allegro.cc/manual/clear_keybuf" target="_blank"><span class="a">clear_keybuf</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</span>    
<span class="number">  39</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_W<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>yP1-2<span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">10</span><span class="k2">)</span>
<span class="number">  40</span>        yP1-<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  41</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_S<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>yP1<span class="k3">+</span><span class="n">102</span><span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">470</span><span class="k2">)</span>
<span class="number">  42</span>        yP1<span class="k3">+</span><span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  43</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_D<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>xP1<span class="k3">+</span><span class="n">22</span><span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">420</span><span class="k2">)</span>
<span class="number">  44</span>        xP1<span class="k3">+</span><span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  45</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_A<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>xP1-2<span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">0</span><span class="k2">)</span>
<span class="number">  46</span>        xP1-<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  47</span>    
<span class="number">  48</span><span class="k2">}</span>
<span class="number">  49</span><span class="k1">void</span> player2<span class="k2">(</span><span class="k2">)</span>
<span class="number">  50</span><span class="k2">{</span>
<span class="number">  51</span>    <a href="http://www.allegro.cc/manual/clear_keybuf" target="_blank"><span class="a">clear_keybuf</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  52</span>    
<span class="number">  53</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> <span class="k2">(</span>yP2-2<span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">10</span><span class="k2">)</span>
<span class="number">  54</span>        yP2-<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  55</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> <span class="k2">(</span>yP2<span class="k3">+</span><span class="n">102</span><span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">470</span><span class="k2">)</span>
<span class="number">  56</span>        yP2<span class="k3">+</span><span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  57</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> <span class="k2">(</span>xP2<span class="k3">+</span><span class="n">20</span><span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">840</span><span class="k2">)</span>
<span class="number">  58</span>        xP2<span class="k3">+</span><span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  59</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> <span class="k2">(</span>xP2-2<span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">420</span><span class="k2">)</span>
<span class="number">  60</span>        xP2-<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  61</span><span class="k2">}</span>
<span class="number">  62</span><span class="k1">void</span> ballmovement<span class="k2">(</span><span class="k2">)</span>
<span class="number">  63</span><span class="k2">{</span>
<span class="number">  64</span>    <span class="k1">switch</span><span class="k2">(</span>dir<span class="k2">)</span>
<span class="number">  65</span>    <span class="k2">{</span>
<span class="number">  66</span>        <span class="k1">case</span> <span class="n">1</span><span class="k2">:</span>
<span class="number">  67</span>            <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="n">10</span><span class="k2">)</span>
<span class="number">  68</span>                dir<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  69</span>            <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>xBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="k2">(</span>xP1<span class="k3">+</span><span class="n">20</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  70</span>                <span class="k1">for</span><span class="k2">(</span> <span class="k1">int</span> c<span class="k3">=</span>yP1<span class="k2">;</span> c<span class="k3">&lt;</span><span class="k2">(</span>yP1<span class="k3">+</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span>c<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  71</span>                    <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span>c<span class="k2">)</span>
<span class="number">  72</span>                       dir<span class="k3">=</span><span class="n">3</span><span class="k2">;</span>       
<span class="number">  73</span>            yBall-<span class="k3">=</span><span class="n">2</span>, xBall-<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  74</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  75</span>        <span class="k1">case</span> <span class="n">2</span><span class="k2">:</span>
<span class="number">  76</span>            <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall<span class="k3">+</span><span class="n">10</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="n">470</span><span class="k2">)</span>
<span class="number">  77</span>                dir<span class="k3">=</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  78</span>            <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>xBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="k2">(</span>xP1<span class="k3">+</span><span class="n">20</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  79</span>                <span class="k1">for</span><span class="k2">(</span> <span class="k1">int</span> c<span class="k3">=</span>yP1<span class="k2">;</span> c<span class="k3">&lt;</span><span class="k2">(</span>yP1<span class="k3">+</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span>c<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  80</span>                    <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span>c<span class="k2">)</span>
<span class="number">  81</span>                       dir<span class="k3">=</span><span class="n">4</span><span class="k2">;</span>          
<span class="number">  82</span>            yBall<span class="k3">+</span><span class="k3">=</span><span class="n">2</span>, xBall-<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  83</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  84</span>        <span class="k1">case</span> <span class="n">3</span><span class="k2">:</span>
<span class="number">  85</span>            <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="n">10</span><span class="k2">)</span>
<span class="number">  86</span>                dir<span class="k3">=</span><span class="n">4</span><span class="k2">;</span>
<span class="number">  87</span>            <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>xBall<span class="k3">+</span><span class="n">10</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span>xP2<span class="k2">)</span>
<span class="number">  88</span>                <span class="k1">for</span><span class="k2">(</span> <span class="k1">int</span> c<span class="k3">=</span>yP2<span class="k2">;</span> c<span class="k3">&lt;</span><span class="k2">(</span>yP2<span class="k3">+</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span>c<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  89</span>                    <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall<span class="k3">+</span><span class="n">10</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span>c<span class="k2">)</span>
<span class="number">  90</span>                       dir<span class="k3">=</span><span class="n">1</span><span class="k2">;</span>       
<span class="number">  91</span>            yBall-<span class="k3">=</span><span class="n">2</span>, xBall<span class="k3">+</span><span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  92</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  93</span>        <span class="k1">case</span> <span class="n">4</span><span class="k2">:</span>
<span class="number">  94</span>            <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall<span class="k3">+</span><span class="n">10</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="n">470</span><span class="k2">)</span>
<span class="number">  95</span>                dir<span class="k3">=</span><span class="n">3</span><span class="k2">;</span>
<span class="number">  96</span>            <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>xBall<span class="k3">+</span><span class="n">10</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span>xP2<span class="k2">)</span>
<span class="number">  97</span>                <span class="k1">for</span><span class="k2">(</span> <span class="k1">int</span> c<span class="k3">=</span>yP2<span class="k2">;</span> c<span class="k3">&lt;</span><span class="k2">(</span>yP2<span class="k3">+</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span>c<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  98</span>                    <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall<span class="k3">+</span><span class="n">10</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span>c<span class="k2">)</span>
<span class="number">  99</span>                       dir<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>                     
<span class="number"> 100</span>            yBall<span class="k3">+</span><span class="k3">=</span><span class="n">2</span>, xBall<span class="k3">+</span><span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number"> 101</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 102</span>    <span class="k2">}</span>
<span class="number"> 103</span><span class="k2">}</span>
</div></div><p>

variables.h
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>opening<span class="k2">;</span>
<span class="number">  2</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>buffer<span class="k2">;</span>
<span class="number">  3</span>
<span class="number">  4</span><span class="k1">int</span> temp<span class="k2">;</span>
<span class="number">  5</span><span class="k1">int</span> a<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number">  6</span>
<span class="number">  7</span>
<span class="number">  8</span><span class="k1">int</span> p1Score<span class="k2">;</span>
<span class="number">  9</span><span class="k1">int</span> p2Score<span class="k2">;</span>
<span class="number"> 10</span><span class="c">//player one paddle//</span>
<span class="number"> 11</span><span class="k1">int</span> xP1<span class="k3">=</span><span class="n">20</span><span class="k2">;</span>
<span class="number"> 12</span><span class="k1">int</span> yP1<span class="k3">=</span><span class="n">20</span><span class="k2">;</span>
<span class="number"> 13</span>
<span class="number"> 14</span>
<span class="number"> 15</span><span class="k1">int</span> tempXP1<span class="k2">;</span>
<span class="number"> 16</span><span class="k1">int</span> tempYP1<span class="k2">;</span>
<span class="number"> 17</span>
<span class="number"> 18</span><span class="c">//player two paddle//</span>
<span class="number"> 19</span><span class="k1">int</span> xP2<span class="k3">=</span><span class="n">800</span><span class="k2">;</span>
<span class="number"> 20</span><span class="k1">int</span> yP2<span class="k3">=</span><span class="n">360</span><span class="k2">;</span>
<span class="number"> 21</span>
<span class="number"> 22</span><span class="k1">int</span> tempXP2<span class="k2">;</span>
<span class="number"> 23</span><span class="k1">int</span> tempYP2<span class="k2">;</span>
<span class="number"> 24</span>
<span class="number"> 25</span><span class="c">//ball//</span>
<span class="number"> 26</span><span class="k1">int</span> xBall<span class="k3">=</span><span class="n">420</span><span class="k2">;</span>
<span class="number"> 27</span><span class="k1">int</span> yBall<span class="k3">=</span><span class="n">460</span><span class="k2">;</span>
<span class="number"> 28</span>
<span class="number"> 29</span><span class="k1">int</span> tempXBall<span class="k2">;</span>
<span class="number"> 30</span><span class="k1">int</span> tempYBall<span class="k2">;</span>
<span class="number"> 31</span><span class="c">//--------------------------//</span>
<span class="number"> 32</span>
<span class="number"> 33</span><span class="k1">int</span> dir<span class="k3">=</span><span class="n">1</span><span class="k2">;</span> <span class="c">//1= up, left. 2= down, left. 3=up, right. 4=down, right.</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (malleus)</author>
		<pubDate>Mon, 19 Mar 2007 22:16:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You still haven&#39;t changed your color depth to 32-bit (assuming that&#39;s what your desktop is running). Also, are you running this as root? And, finally, <i>make some proper timing logic</i>. rest() is not a good way to do timing.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Mon, 19 Mar 2007 22:20:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I compiled and tested your code and it ran rather nicely on my Linux box in both, 16bit and 32bit when my desktop was 32bit. I think it was around 200-400FPS. It might be because my CPU is quite a bit above the average though.</p><p>Also, do you know your rest() doesn&#39;t work <b>at all</b>? Problem is you don&#39;t install timers. Of cource rest() is not the thing to make your game play at decent framerate. Please learn about timers and proper frame rate keeping. You can start by reading this:<br /><a href="http://www.allegro.cc/forums/thread/589396">http://www.allegro.cc/forums/thread/589396</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (HoHo)</author>
		<pubDate>Tue, 20 Mar 2007 00:56:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ok I think I added some timers correctly. It runs <u>alot</u> better now. Why does my fps flux? Anyway heres my code. for some unknown reason when I post my code it gets  <br />lots of spaces in it. Just wondering why?</p><p>main.cpp
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span><span class="c">//Pong 2.0</span>
<span class="number">   2</span>
<span class="number">   3</span><span class="c">//by Sharif Mabie-Alkhaldi</span>
<span class="number">   4</span>
<span class="number">   5</span><span class="p">#include &lt;allegro.h&gt;</span>
<span class="number">   6</span>
<span class="number">   7</span><span class="p">#include"variables.h"</span>
<span class="number">   8</span>
<span class="number">   9</span>
<span class="number">  10</span>
<span class="number">  11</span>
<span class="number">  12</span>
<span class="number">  13</span><span class="k1">volatile</span> <span class="k1">int</span> ticks<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number">  14</span>
<span class="number">  15</span><span class="k1">int</span> Frames<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number">  16</span>
<span class="number">  17</span><span class="k1">int</span> fps<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number">  18</span>
<span class="number">  19</span><span class="k1">int</span> DidTick<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number">  20</span>
<span class="number">  21</span><span class="k1">int</span> nticks<span class="k2">;</span>
<span class="number">  22</span>
<span class="number">  23</span>
<span class="number">  24</span><span class="p">#include "misc.h"</span>
<span class="number">  25</span>
<span class="number">  26</span>
<span class="number">  27</span><span class="k1">void</span> ticker<span class="k2">(</span><span class="k2">)</span>
<span class="number">  28</span>
<span class="number">  29</span><span class="k2">{</span>
<span class="number">  30</span>
<span class="number">  31</span>  ticks<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number">  32</span>
<span class="number">  33</span><span class="k2">}</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="number">  34</span>
<span class="number">  35</span>
<span class="number">  36</span>
<span class="number">  37</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="number">  38</span>
<span class="number">  39</span><span class="k2">{</span>
<span class="number">  40</span>
<span class="number">  41</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">  42</span>
<span class="number">  43</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">  44</span>
<span class="number">  45</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">  46</span>
<span class="number">  47</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><span class="n">32</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  48</span>
<span class="number">  49</span>
<span class="number">  50</span>
<span class="number">  51</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">840</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">  52</span>
<span class="number">  53</span>    
<span class="number">  54</span>
<span class="number">  55</span>    <a href="http://www.allegro.cc/manual/LOCK_VARIABLE" target="_blank"><span class="a">LOCK_VARIABLE</span></a><span class="k2">(</span>ticks<span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>
<span class="number">  57</span>    <a href="http://www.allegro.cc/manual/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">  58</span>
<span class="number">  59</span>
<span class="number">  60</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">300</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  62</span>
<span class="number">  63</span>
<span class="number">  64</span>
<span class="number">  65</span>    opening<span class="k3">=</span><a href="http://www.allegro.cc/manual/load_bitmap" target="_blank"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="s">"opening.bmp"</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  66</span>
<span class="number">  67</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><span class="n">840</span>, <span class="n">480</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  68</span>
<span class="number">  69</span>    
<span class="number">  70</span>
<span class="number">  71</span>    start: 
<span class="number">  72</span>
<span class="number">  73</span>        
<span class="number">  74</span>
<span class="number">  75</span>    p1Score<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number">  76</span>
<span class="number">  77</span>    p2Score<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number">  78</span>
<span class="number">  79</span>        
<span class="number">  80</span>
<span class="number">  81</span>    <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>opening, buffer, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, opening-&gt;w, opening-&gt;h<span class="k2">)</span><span class="k2">;</span>
<span class="number">  82</span>
<span class="number">  83</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>, buffer-&gt;w, buffer-&gt;h<span class="k2">)</span><span class="k2">;</span>
<span class="number">  84</span>
<span class="number">  85</span>            
<span class="number">  86</span>
<span class="number">  87</span>    <a href="http://www.allegro.cc/manual/readkey" target="_blank"><span class="a">readkey</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  88</span>
<span class="number">  89</span>    <a href="http://www.allegro.cc/manual/clear_to_color" target="_blank"><span class="a">clear_to_color</span></a><span class="k2">(</span> buffer, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  90</span>
<span class="number">  91</span>    
<span class="number">  92</span>
<span class="number">  93</span>    
<span class="number">  94</span>
<span class="number">  95</span>
<span class="number">  96</span>
<span class="number">  97</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">  98</span>
<span class="number">  99</span>    <span class="k2">{</span>
<span class="number"> 100</span>
<span class="number"> 101</span>        tempXP1<span class="k3">=</span>xP1<span class="k2">;</span>
<span class="number"> 102</span>
<span class="number"> 103</span>        tempXP2<span class="k3">=</span>xP2<span class="k2">;</span>
<span class="number"> 104</span>
<span class="number"> 105</span>                 
<span class="number"> 106</span>
<span class="number"> 107</span>        tempYP1<span class="k3">=</span>yP1<span class="k2">;</span>
<span class="number"> 108</span>
<span class="number"> 109</span>        tempYP2<span class="k3">=</span>yP2<span class="k2">;</span>
<span class="number"> 110</span>
<span class="number"> 111</span>            
<span class="number"> 112</span>
<span class="number"> 113</span>        tempXBall<span class="k3">=</span>xBall<span class="k2">;</span>
<span class="number"> 114</span>
<span class="number"> 115</span>        tempYBall<span class="k3">=</span>yBall<span class="k2">;</span>
<span class="number"> 116</span>
<span class="number"> 117</span>
<span class="number"> 118</span>
<span class="number"> 119</span>        nticks<span class="k3">=</span>ticks<span class="k2">;</span>
<span class="number"> 120</span>
<span class="number"> 121</span>        ticks<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 122</span>
<span class="number"> 123</span>     
<span class="number"> 124</span>
<span class="number"> 125</span>      
<span class="number"> 126</span>
<span class="number"> 127</span>        <span class="k1">for</span><span class="k2">(</span><span class="k2">;</span>nticks&gt;0<span class="k2">;</span>nticks--<span class="k2">)</span>
<span class="number"> 128</span>
<span class="number"> 129</span>    <span class="k2">{</span>
<span class="number"> 130</span>
<span class="number"> 131</span>
<span class="number"> 132</span>
<span class="number"> 133</span>            
<span class="number"> 134</span>
<span class="number"> 135</span>          ballmovement<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 136</span>
<span class="number"> 137</span>            
<span class="number"> 138</span>
<span class="number"> 139</span>          player1<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 140</span>
<span class="number"> 141</span>          player2<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 142</span>
<span class="number"> 143</span>            
<span class="number"> 144</span>
<span class="number"> 145</span>          <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>xBall<span class="k3">+</span><span class="n">10</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"> 146</span>
<span class="number"> 147</span>          <span class="k2">{</span>
<span class="number"> 148</span>
<span class="number"> 149</span>              p2Score<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 150</span>
<span class="number"> 151</span>                
<span class="number"> 152</span>
<span class="number"> 153</span>              yBall<span class="k3">=</span><span class="n">460</span><span class="k2">;</span>
<span class="number"> 154</span>
<span class="number"> 155</span>              xBall<span class="k3">=</span><span class="n">420</span><span class="k2">;</span>
<span class="number"> 156</span>
<span class="number"> 157</span>          <span class="k2">}</span>
<span class="number"> 158</span>
<span class="number"> 159</span>          <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>xBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="n">840</span><span class="k2">)</span>
<span class="number"> 160</span>
<span class="number"> 161</span>          <span class="k2">{</span>
<span class="number"> 162</span>
<span class="number"> 163</span>              p1Score<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 164</span>
<span class="number"> 165</span>                
<span class="number"> 166</span>
<span class="number"> 167</span>              yBall<span class="k3">=</span><span class="n">460</span><span class="k2">;</span>
<span class="number"> 168</span>
<span class="number"> 169</span>              xBall<span class="k3">=</span><span class="n">420</span><span class="k2">;</span>
<span class="number"> 170</span>
<span class="number"> 171</span>          <span class="k2">}</span>
<span class="number"> 172</span>
<span class="number"> 173</span>            
<span class="number"> 174</span>
<span class="number"> 175</span>          <span class="k1">if</span><span class="k2">(</span>p1Score<span class="k3">=</span><span class="k3">=</span><span class="n">5</span><span class="k2">)</span>
<span class="number"> 176</span>
<span class="number"> 177</span>          <span class="k2">{</span>
<span class="number"> 178</span>
<span class="number"> 179</span>              textout<span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"Player one wins! Do you want to play again y/esc?"</span>, <span class="n">250</span>, <span class="n">240</span>, <span class="n">50</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 180</span>
<span class="number"> 181</span>              <a href="http://www.allegro.cc/manual/readkey" target="_blank"><span class="a">readkey</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 182</span>
<span class="number"> 183</span>              <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_Y<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 184</span>
<span class="number"> 185</span>                  <span class="k1">goto</span> start<span class="k2">;</span>
<span class="number"> 186</span>
<span class="number"> 187</span>          <span class="k2">}</span>
<span class="number"> 188</span>
<span class="number"> 189</span>          <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>p2Score<span class="k3">=</span><span class="k3">=</span><span class="n">5</span><span class="k2">)</span>
<span class="number"> 190</span>
<span class="number"> 191</span>          <span class="k2">{</span>
<span class="number"> 192</span>
<span class="number"> 193</span>              textout<span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"Player two wins! Do you want to play again y/esc?"</span>, <span class="n">250</span>, <span class="n">240</span>, <span class="n">50</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 194</span>
<span class="number"> 195</span>              <a href="http://www.allegro.cc/manual/readkey" target="_blank"><span class="a">readkey</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 196</span>
<span class="number"> 197</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_Y<span class="k2">]</span><span class="k2">)</span>
<span class="number"> 198</span>
<span class="number"> 199</span>                  <span class="k1">goto</span> start<span class="k2">;</span>
<span class="number"> 200</span>
<span class="number"> 201</span>          <span class="k2">}</span>
<span class="number"> 202</span>
<span class="number"> 203</span>      DidTick<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 204</span>
<span class="number"> 205</span>      <span class="k1">if</span><span class="k2">(</span>DidTick<span class="k3">=</span><span class="k3">=</span><span class="n">60</span><span class="k2">)</span>
<span class="number"> 206</span>
<span class="number"> 207</span>      <span class="k2">{</span>
<span class="number"> 208</span>
<span class="number"> 209</span>          fps<span class="k3">=</span>Frames<span class="k2">;</span>
<span class="number"> 210</span>
<span class="number"> 211</span>          DidTick<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 212</span>
<span class="number"> 213</span>          Frames<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>
<span class="number"> 214</span>
<span class="number"> 215</span>      <span class="k2">}</span>
<span class="number"> 216</span>
<span class="number"> 217</span>    <span class="k2">}</span>
<span class="number"> 218</span>
<span class="number"> 219</span>        <a href="http://www.allegro.cc/manual/clear_to_color" target="_blank"><span class="a">clear_to_color</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 220</span>
<span class="number"> 221</span>        draw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 222</span>
<span class="number"> 223</span>   
<span class="number"> 224</span>
<span class="number"> 225</span>   
<span class="number"> 226</span>
<span class="number"> 227</span>    Frames<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 228</span>
<span class="number"> 229</span>    <span class="k2">}</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="k2">;</span>
<span class="number"> 230</span>
<span class="number"> 231</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 232</span>
<span class="number"> 233</span><span class="k2">}</span>
<span class="number"> 234</span>
<span class="number"> 235</span>
<span class="number"> 236</span>
<span class="number"> 237</span>
<span class="number"> 238</span>
<span class="number"> 239</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><span class="k2">;</span>
</div></div><p>

misc.h
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span><span class="k1">void</span> draw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   2</span>
<span class="number">   3</span><span class="k1">void</span> player1<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   4</span>
<span class="number">   5</span><span class="k1">void</span> player2<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   6</span>
<span class="number">   7</span><span class="k1">void</span> ballMovement<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   8</span>
<span class="number">   9</span>
<span class="number">  10</span>
<span class="number">  11</span>
<span class="number">  12</span>
<span class="number">  13</span><span class="k1">void</span> draw<span class="k2">(</span><span class="k2">)</span>
<span class="number">  14</span>
<span class="number">  15</span><span class="k2">{</span>       
<span class="number">  16</span>
<span class="number">  17</span>  <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">0</span>, <span class="n">460</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>, <span class="s">"Player 1 Score: %d"</span>, <span class="k2">(</span>p1Score-1<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  18</span>
<span class="number">  19</span>    <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">0</span>, <span class="n">460</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">255</span><span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>, <span class="s">"Player 1 Score: %d"</span>, p1Score<span class="k2">)</span><span class="k2">;</span>
<span class="number">  20</span>
<span class="number">  21</span>        
<span class="number">  22</span>
<span class="number">  23</span>    <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">700</span>, <span class="n">460</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>, <span class="s">"Player 2 Score: %d"</span>, <span class="k2">(</span>p2Score-1<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  24</span>
<span class="number">  25</span>    <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">700</span>, <span class="n">460</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">255</span><span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>, <span class="s">"Player 2 Score: %d"</span>, p2Score<span class="k2">)</span><span class="k2">;</span>
<span class="number">  26</span>
<span class="number">  27</span>        
<span class="number">  28</span>
<span class="number">  29</span>    <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span>buffer, tempXP1, tempYP1, <span class="k2">(</span>tempXP1<span class="k3">+</span><span class="n">20</span><span class="k2">)</span>, <span class="k2">(</span>tempYP1<span class="k3">+</span><span class="n">100</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">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//clear</span>
<span class="number">  30</span>
<span class="number">  31</span>    <a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span>buffer, xP1, yP1, <span class="k2">(</span>xP1<span class="k3">+</span><span class="n">20</span><span class="k2">)</span>, <span class="k2">(</span>yP1<span class="k3">+</span><span class="n">100</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">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//player one paddle</span>
<span class="number">  32</span>
<span class="number">  33</span>        
<span class="number">  34</span>
<span class="number">  35</span>    <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span>buffer, tempXP2, tempYP2, <span class="k2">(</span>tempXP2<span class="k3">+</span><span class="n">20</span><span class="k2">)</span>, <span class="k2">(</span>tempYP2<span class="k3">+</span><span class="n">100</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">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//clear</span>
<span class="number">  36</span>
<span class="number">  37</span>    <a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span>buffer, xP2, yP2, <span class="k2">(</span>xP2<span class="k3">+</span><span class="n">20</span><span class="k2">)</span>, <span class="k2">(</span>yP2<span class="k3">+</span><span class="n">100</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">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//player two paddle</span>
<span class="number">  38</span>
<span class="number">  39</span>       
<span class="number">  40</span>
<span class="number">  41</span>  <a href="http://www.allegro.cc/manual/circlefill" target="_blank"><span class="a">circlefill</span></a><span class="k2">(</span>buffer, tempXBall, tempYBall, <span class="n">10</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  42</span>
<span class="number">  43</span>    <a href="http://www.allegro.cc/manual/circle" target="_blank"><span class="a">circle</span></a><span class="k2">(</span>buffer, xBall, yBall, <span class="n">10</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">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</span>
<span class="number">  45</span>    
<span class="number">  46</span>
<span class="number">  47</span>    <a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">(</span>buffer, <span class="n">0</span>, <span class="n">10</span>, <span class="n">840</span>, <span class="n">10</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">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  48</span>
<span class="number">  49</span>    <a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">(</span>buffer, <span class="n">0</span>, <span class="n">470</span>, <span class="n">840</span>, <span class="n">470</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">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  50</span>
<span class="number">  51</span>    <a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">(</span>buffer, <span class="n">420</span>, <span class="n">0</span>, <span class="n">420</span>, <span class="n">480</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">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  52</span>
<span class="number">  53</span>    <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">25</span>, <span class="n">25</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">255</span><span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>, <span class="s">"fps: %d"</span>, Frames<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/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>, buffer-&gt;w, buffer-&gt;h<span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>
<span class="number">  57</span>        
<span class="number">  58</span>
<span class="number">  59</span><span class="k2">}</span>
<span class="number">  60</span>
<span class="number">  61</span><span class="k1">void</span> player1<span class="k2">(</span><span class="k2">)</span>
<span class="number">  62</span>
<span class="number">  63</span><span class="k2">{</span>
<span class="number">  64</span>
<span class="number">  65</span>    <a href="http://www.allegro.cc/manual/clear_keybuf" target="_blank"><span class="a">clear_keybuf</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  66</span>
<span class="number">  67</span>    
<span class="number">  68</span>
<span class="number">  69</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_W<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>yP1-2<span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">10</span><span class="k2">)</span>
<span class="number">  70</span>
<span class="number">  71</span>        yP1-<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  72</span>
<span class="number">  73</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_S<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>yP1<span class="k3">+</span><span class="n">102</span><span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">470</span><span class="k2">)</span>
<span class="number">  74</span>
<span class="number">  75</span>        yP1<span class="k3">+</span><span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  76</span>
<span class="number">  77</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_D<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>xP1<span class="k3">+</span><span class="n">22</span><span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">420</span><span class="k2">)</span>
<span class="number">  78</span>
<span class="number">  79</span>        xP1<span class="k3">+</span><span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  80</span>
<span class="number">  81</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_A<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>xP1-2<span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">0</span><span class="k2">)</span>
<span class="number">  82</span>
<span class="number">  83</span>        xP1-<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  84</span>
<span class="number">  85</span>    
<span class="number">  86</span>
<span class="number">  87</span><span class="k2">}</span>
<span class="number">  88</span>
<span class="number">  89</span><span class="k1">void</span> player2<span class="k2">(</span><span class="k2">)</span>
<span class="number">  90</span>
<span class="number">  91</span><span class="k2">{</span>
<span class="number">  92</span>
<span class="number">  93</span>    <a href="http://www.allegro.cc/manual/clear_keybuf" target="_blank"><span class="a">clear_keybuf</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  94</span>
<span class="number">  95</span>    
<span class="number">  96</span>
<span class="number">  97</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> <span class="k2">(</span>yP2-2<span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">10</span><span class="k2">)</span>
<span class="number">  98</span>
<span class="number">  99</span>        yP2-<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number"> 100</span>
<span class="number"> 101</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> <span class="k2">(</span>yP2<span class="k3">+</span><span class="n">102</span><span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">470</span><span class="k2">)</span>
<span class="number"> 102</span>
<span class="number"> 103</span>        yP2<span class="k3">+</span><span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number"> 104</span>
<span class="number"> 105</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> <span class="k2">(</span>xP2<span class="k3">+</span><span class="n">20</span><span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">840</span><span class="k2">)</span>
<span class="number"> 106</span>
<span class="number"> 107</span>        xP2<span class="k3">+</span><span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number"> 108</span>
<span class="number"> 109</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> <span class="k2">(</span>xP2-2<span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">420</span><span class="k2">)</span>
<span class="number"> 110</span>
<span class="number"> 111</span>        xP2-<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number"> 112</span>
<span class="number"> 113</span><span class="k2">}</span>
<span class="number"> 114</span>
<span class="number"> 115</span><span class="k1">void</span> ballmovement<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 116</span>
<span class="number"> 117</span><span class="k2">{</span>
<span class="number"> 118</span>
<span class="number"> 119</span>    <span class="k1">switch</span><span class="k2">(</span>dir<span class="k2">)</span>
<span class="number"> 120</span>
<span class="number"> 121</span>    <span class="k2">{</span>
<span class="number"> 122</span>
<span class="number"> 123</span>        <span class="k1">case</span> <span class="n">1</span><span class="k2">:</span>
<span class="number"> 124</span>
<span class="number"> 125</span>            <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="n">10</span><span class="k2">)</span>
<span class="number"> 126</span>
<span class="number"> 127</span>                dir<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number"> 128</span>
<span class="number"> 129</span>            <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>xBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="k2">(</span>xP1<span class="k3">+</span><span class="n">20</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 130</span>
<span class="number"> 131</span>                <span class="k1">for</span><span class="k2">(</span> <span class="k1">int</span> c<span class="k3">=</span>yP1<span class="k2">;</span> c<span class="k3">&lt;</span><span class="k2">(</span>yP1<span class="k3">+</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span>c<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 132</span>
<span class="number"> 133</span>                    <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span>c<span class="k2">)</span>
<span class="number"> 134</span>
<span class="number"> 135</span>                       dir<span class="k3">=</span><span class="n">3</span><span class="k2">;</span>       
<span class="number"> 136</span>
<span class="number"> 137</span>            yBall-<span class="k3">=</span><span class="n">2</span>, xBall-<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number"> 138</span>
<span class="number"> 139</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 140</span>
<span class="number"> 141</span>        <span class="k1">case</span> <span class="n">2</span><span class="k2">:</span>
<span class="number"> 142</span>
<span class="number"> 143</span>            <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall<span class="k3">+</span><span class="n">10</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="n">470</span><span class="k2">)</span>
<span class="number"> 144</span>
<span class="number"> 145</span>                dir<span class="k3">=</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 146</span>
<span class="number"> 147</span>            <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>xBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="k2">(</span>xP1<span class="k3">+</span><span class="n">20</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 148</span>
<span class="number"> 149</span>                <span class="k1">for</span><span class="k2">(</span> <span class="k1">int</span> c<span class="k3">=</span>yP1<span class="k2">;</span> c<span class="k3">&lt;</span><span class="k2">(</span>yP1<span class="k3">+</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span>c<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 150</span>
<span class="number"> 151</span>                    <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span>c<span class="k2">)</span>
<span class="number"> 152</span>
<span class="number"> 153</span>                       dir<span class="k3">=</span><span class="n">4</span><span class="k2">;</span>          
<span class="number"> 154</span>
<span class="number"> 155</span>            yBall<span class="k3">+</span><span class="k3">=</span><span class="n">2</span>, xBall-<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number"> 156</span>
<span class="number"> 157</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 158</span>
<span class="number"> 159</span>        <span class="k1">case</span> <span class="n">3</span><span class="k2">:</span>
<span class="number"> 160</span>
<span class="number"> 161</span>            <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall-10<span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="n">10</span><span class="k2">)</span>
<span class="number"> 162</span>
<span class="number"> 163</span>                dir<span class="k3">=</span><span class="n">4</span><span class="k2">;</span>
<span class="number"> 164</span>
<span class="number"> 165</span>            <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>xBall<span class="k3">+</span><span class="n">10</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span>xP2<span class="k2">)</span>
<span class="number"> 166</span>
<span class="number"> 167</span>                <span class="k1">for</span><span class="k2">(</span> <span class="k1">int</span> c<span class="k3">=</span>yP2<span class="k2">;</span> c<span class="k3">&lt;</span><span class="k2">(</span>yP2<span class="k3">+</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span>c<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 168</span>
<span class="number"> 169</span>                    <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall<span class="k3">+</span><span class="n">10</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span>c<span class="k2">)</span>
<span class="number"> 170</span>
<span class="number"> 171</span>                       dir<span class="k3">=</span><span class="n">1</span><span class="k2">;</span>       
<span class="number"> 172</span>
<span class="number"> 173</span>            yBall-<span class="k3">=</span><span class="n">2</span>, xBall<span class="k3">+</span><span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number"> 174</span>
<span class="number"> 175</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 176</span>
<span class="number"> 177</span>        <span class="k1">case</span> <span class="n">4</span><span class="k2">:</span>
<span class="number"> 178</span>
<span class="number"> 179</span>            <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall<span class="k3">+</span><span class="n">10</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="n">470</span><span class="k2">)</span>
<span class="number"> 180</span>
<span class="number"> 181</span>                dir<span class="k3">=</span><span class="n">3</span><span class="k2">;</span>
<span class="number"> 182</span>
<span class="number"> 183</span>            <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>xBall<span class="k3">+</span><span class="n">10</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span>xP2<span class="k2">)</span>
<span class="number"> 184</span>
<span class="number"> 185</span>                <span class="k1">for</span><span class="k2">(</span> <span class="k1">int</span> c<span class="k3">=</span>yP2<span class="k2">;</span> c<span class="k3">&lt;</span><span class="k2">(</span>yP2<span class="k3">+</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span>c<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 186</span>
<span class="number"> 187</span>                    <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>yBall<span class="k3">+</span><span class="n">10</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span>c<span class="k2">)</span>
<span class="number"> 188</span>
<span class="number"> 189</span>                       dir<span class="k3">=</span><span class="n">2</span><span class="k2">;</span>                     
<span class="number"> 190</span>
<span class="number"> 191</span>            yBall<span class="k3">+</span><span class="k3">=</span><span class="n">2</span>, xBall<span class="k3">+</span><span class="k3">=</span><span class="n">2</span><span class="k2">;</span>
<span class="number"> 192</span>
<span class="number"> 193</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 194</span>
<span class="number"> 195</span>    <span class="k2">}</span>
<span class="number"> 196</span>
<span class="number"> 197</span><span class="k2">}</span>
</div></div><p>

&lt;/code&gt;
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (malleus)</author>
		<pubDate>Thu, 22 Mar 2007 20:09:19 +0000</pubDate>
	</item>
</rss>
