<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Weird flex with my Bitmaps on my Screen</title>
		<link>http://www.allegro.cc/forums/view/617975</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Fri, 08 Nov 2019 22:05:36 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hey, </p><p>I have a problem. <br />I have 10000 Tiles, all with a size of 10 times 10 Pixels.<br />I give them their positions like this:</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span>  tiles <span class="k3">=</span> <span class="k1">new</span> vector<span class="k3">&lt;</span>TILE&gt;<span class="k2">(</span><span class="n">10000</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  2</span>  listofbombs <span class="k3">=</span> <span class="k1">new</span> vector<span class="k3">&lt;</span>short&gt;<span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  3</span>
<span class="number">  4</span>
<span class="number">  5</span>  <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> <span class="n">10000</span><span class="k2">;</span><span class="k2">)</span>
<span class="number">  6</span>  <span class="k2">{</span>
<span class="number">  7</span>    <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> y <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> y <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">100</span><span class="k2">;</span> y<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  8</span>    <span class="k2">{</span>
<span class="number">  9</span>      <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> x <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> x <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">100</span><span class="k2">;</span> x<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 10</span>      <span class="k2">{</span>
<span class="number"> 11</span>        <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>i<span class="k2">]</span>.getPositioned<span class="k2">(</span>x <span class="k3">*</span> <span class="n">10</span>, y <span class="k3">*</span> <span class="n">10</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 12</span>        <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>i<span class="k2">]</span>.draw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 13</span>        i<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 14</span>      <span class="k2">}</span>
<span class="number"> 15</span>    <span class="k2">}</span>
<span class="number"> 16</span>  <span class="k2">}</span> <span class="c">//POSITIONS</span>
</div></div><p>

Meanwhile they get projected on the screen like this:
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="k1">void</span> TILE::draw<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  2</span><span class="k2">{</span>
<span class="number">  3</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">*</span>status <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number">  4</span>  <span class="k2">{</span>
<span class="number">  5</span>    <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>TILE_BITMAP_NORMAL, <span class="k3">*</span>x_pos, <span class="k3">*</span>y_pos, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  6</span>  <span class="k2">}</span>
<span class="number">  7</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">*</span>status <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number">  8</span>  <span class="k2">{</span>
<span class="number">  9</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">*</span>bomb <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span> <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>TILE_BITMAP_RED, <span class="k3">*</span>x_pos, <span class="k3">*</span>y_pos, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 10</span>    <span class="k1">else</span> <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>TILE_BITMAP_GREEN, <span class="k3">*</span>x_pos, <span class="k3">*</span>y_pos, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 11</span>  <span class="k2">}</span>
<span class="number"> 12</span>
<span class="number"> 13</span><span class="k2">}</span>
</div></div><p>

getPositioned(short, short) just give them Tiles their positions, defined in the class TILE as *x_pos and *y_pos.</p><p>Its kind of all working. <br />But as you can see in my screenshot<br />	<img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/e/7/e703854f53e9274b450962252aab3abf.png" alt="71551e-1573062597.png" width="150" height="84" />,<br />(bigger that you can see something here: <a href="https://www.bilder-upload.eu/bild-71551e-1573062597.png.html">PICTURE</a><br /> there is something weird happening in the 12/13 row from bottom.<br />I dont know what this is.</p><p>I have some routines, that some things happen, when I click on a TILE,<br />but when I click on TILE in the 12th row from bottom, it activates one in the 13th.<br />But just sometimes. So I dont know what this means, I am pretty sure, I did my math right.<br />Somebody can help me?</p><p>EDIT: Screenshot is not very good. <br /><a href="https://www.dropbox.com/s/iuaezfk9jecul0p/wow.png?dl=0">DB</a> should be better!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nico_c++)</author>
		<pubDate>Wed, 06 Nov 2019 23:53:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Nico, you&#39;re using a triply nested loop. You only need a doubly nested loop. All iterations of i &lt; 9999 are overwritten by the inner xy loop when [i = 9999].
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Thu, 07 Nov 2019 00:12:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thx for answering me.<br />I wrote it down like that now:
</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">short</span> INDEX_counter <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  2</span>
<span class="number">  3</span>  <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> y <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> y <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">100</span><span class="k2">;</span> y<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  4</span>  <span class="k2">{</span>
<span class="number">  5</span>    <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> x <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> x <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">100</span><span class="k2">;</span> x<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  6</span>    <span class="k2">{</span>
<span class="number">  7</span>      <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>INDEX_counter<span class="k2">]</span>.getPositioned<span class="k2">(</span>x <span class="k3">*</span> <span class="n">10</span>, y <span class="k3">*</span> <span class="n">10</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  8</span>      <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>INDEX_counter<span class="k2">]</span>.draw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  9</span>      INDEX_counter<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 10</span>    <span class="k2">}</span>
<span class="number"> 11</span>  <span class="k2">}</span> <span class="c">//POSITIONS</span>
</div></div><p>
But its still not working!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nico_c++)</author>
		<pubDate>Thu, 07 Nov 2019 03:05:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You can combine those two methods into one.</p><p>Make the draw method take an x and y pos. Then you don&#39;t even have to store the position.</p><p>I can&#39;t see why it&#39;s not working just from the little bit you&#39;ve shown me. Show more code.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Thu, 07 Nov 2019 03:16:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No, I need to store the position, I need it later.<br />What else do you want to see?<br />My drawing code is still the same!</p><p>I just want to store the positions in the vector (which I do with my new code), and then draw it.<br />I dont understand why it isnt working.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nico_c++)</author>
		<pubDate>Thu, 07 Nov 2019 03:49:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code snippet"><div class="inner"><pre>  <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> <span class="n">10000</span><span class="k2">;</span><span class="k2">)</span>
  <span class="k2">{</span>
    <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> y <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> y <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">100</span><span class="k2">;</span> y<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
    <span class="k2">{</span>
      <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> x <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> x <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">100</span><span class="k2">;</span> x<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
      <span class="k2">{</span>
        <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>i<span class="k2">]</span>.getPositioned<span class="k2">(</span>x <span class="k3">*</span> <span class="n">10</span>, y <span class="k3">*</span> <span class="n">10</span><span class="k2">)</span><span class="k2">;</span>
        <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>i<span class="k2">]</span>.draw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
        i<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
      <span class="k2">}</span>
    <span class="k2">}</span>
  <span class="k2">}</span> <span class="c">//POSITIONS</span>
</pre></div></div><p>

You are drawing 10000 tiles 1000 times each. That is what the question or response was about.</p><p>How big is 1 tile?</p><p>Each tile gets drawn
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> y <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> y <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">100</span><span class="k2">;</span> y<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="k2">{</span>
  <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> x <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> x <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">100</span><span class="k2">;</span> x<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
  <span class="k2">{</span>
      <span class="c">// draw tile</span>
  <span class="k2">}</span>
<span class="k2">}</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Thu, 07 Nov 2019 04:07:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Look at my new code, but even in the old one:</p><p>I draw each tile one time. The index &quot;i&quot; is increasing with each loop. <br />In my first code there was a problem, because when &quot;i&quot; was 9999, it would get overwritten by the inner loops.</p><p>In my new code this isnt the case.</p><p>I am debugging my code, and when I view my vector &quot;tiles&quot;, everything is alright.<br />Each TILE has the right position, as I see it.</p><p>So I dont know, why there is something wrong in the projection.</p><p>I hope you understand my english XD
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nico_c++)</author>
		<pubDate>Thu, 07 Nov 2019 04:14:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What are the values of status and bomb at those locations that are drawn funny?</p><p>What do TILE_BITMAP_NORMAL, TILE_BITMAP_RED,  TILE_BITMAP_GREEN look like?</p><p>Some things I question:<br />What is *status, *x_pos and *y_pos? Why are they pointers and being dereferenced?</p><p>Can *status be anything but 1 or 2?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Thu, 07 Nov 2019 04:23:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Okay, that are many questions.</p><p>I use pointers, because in this project memory managment is very important.</p><p>While the TILES are drawn the first time, *status is 1 for EVERY Tile.<br />That means, that there are only TILE_BITMAP_NORMAL drawn.<br />What the TILE_BITMAP_NORMAL looks like, that can you see in my screenshot.<br />But while you say it, I changed the bitmap.<br />Here is the screenshot, on it you can see even better what I mean:<br /><a href="https://www.dropbox.com/s/4wp5km7ke5ocxgc/wow2.png?dl=0">PICTURE 2</a></p><p>*bomb is of course in that state always 0, but that doesnt matter, because the *status is never 2, so it doesnt get in that if-clause.</p><p>And *x_pos and *y_pos are attributes in my vector&lt;TILE&gt;, which every TILE gets in the xy-loop, as in the code above.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nico_c++)</author>
		<pubDate>Thu, 07 Nov 2019 04:36:21 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m more curious as to how these variables are created and modified. Are these variables actually allocated and deallocated in your routines?</p><div class="quote_container"><div class="title"><a href="https://www.allegro.cc/forums/thread/617975/1043926#target">nico_c++</a> said:</div><div class="quote"><p>I use pointers, because in this project memory managment is very important.</p></div></div><p>

Using an integer vs an allocated integer isn&#39;t going to save you memory.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Thu, 07 Nov 2019 04:46:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No, but I can controll it. Dont mind it, it has nothing to do with the error.</p><p>Look,<br />I overwatch my (*tiles) vector. And all the variables are correct.<br />I had an excellent Idea.</p><p>After every (*tiles)[i].draw() i would do a al_rest(0.01).</p><p>And the positions are all correct.<br />Its just drawing the bitmaps wrong. Sometimes.<br />I even made a video, please look at it.<br />Maybe it can tell you more than it does to me.<br /><a href="https://www.dropbox.com/s/sk0pwgd1qy7w99t/ice_video_20191107-003307.webm?dl=0">VIDEO</a></p><p>Of course the Video Quality is super <span class="cuss"><span><span class="cuss"><span><span class="cuss"><span>shit</span></span></span></span>ty</span></span>, because I just have the free version and probably a bad PC, but you can see a little bit.<br />You can see, that every row and every line is drawn correctly. <br />Everytime you see a grey ... something, there is missing a line.</p><p>In the screenshot <a href="https://www.dropbox.com/s/4wp5km7ke5ocxgc/wow2.png?dl=0">SCREENSHOT</a> you can see with good quality what I mean!</p><p>Oh, and to your question.<br />These variables get standard constructed when creating my vector&lt;TILE&gt;.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nico_c++)</author>
		<pubDate>Thu, 07 Nov 2019 05:38:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Are you drawing directly to the display or to a separate bitmap which is then drawn to the screen scaled? <br />As Edgar suggested if you could provide more source code (only code related to the drawing - no need to disclose your entire program logic) or create a small separate project that re-creates the issue so we could test on our end it would greatly help in understanding the problem.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (MikiZX)</author>
		<pubDate>Thu, 07 Nov 2019 15:56:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I am drawing directly to the Backbuffer.<br />And I dont understand to what you want to see more code.<br />Thats all there is related to the drawing.<br />I give them tiles their positions, and then I draw them on the buffer.<br />After that whole routine, I do an al_flip_display(), and thats it.</p><p>PLS CAN SOMEBODY HELP ME <img src="http://www.allegro.cc/forums/smileys/sad.gif" alt=":(" />(((((((((((<br />I get desperate!<br />Trying to fix this <span class="cuss"><span><span class="cuss"><span>shit</span></span></span></span> for more than 24 Hours! :,(
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nico_c++)</author>
		<pubDate>Thu, 07 Nov 2019 17:33:02 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Dude. Even I need to sleep once in a while.</p><p>EDIT<br />Often, the problem has nothing to do with the code you think it does. That&#39;s the messed up beauty of coding. If you want me to help, show more code, like your Tile class.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Thu, 07 Nov 2019 19:45:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Okay, here you go:<br />Header
</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">class</span> TILE
<span class="number">  2</span><span class="k2">{</span>
<span class="number">  3</span>private:
<span class="number">  4</span>  <span class="k1">short</span> <span class="k3">*</span>x_pos, <span class="k3">*</span>y_pos<span class="k2">;</span>
<span class="number">  5</span>  <span class="k1">short</span> <span class="k3">*</span>x_size, <span class="k3">*</span>y_size<span class="k2">;</span>
<span class="number">  6</span>
<span class="number">  7</span>  <span class="k1">short</span> <span class="k3">*</span>status<span class="k2">;</span> <span class="c">// 1 = Normal, 2 = Aufgedeckt</span>
<span class="number">  8</span>  <span class="k1">bool</span> <span class="k3">*</span>bomb<span class="k2">;</span> <span class="c">// 0 = keine bombe, 1 = bombe</span>
<span class="number">  9</span>
<span class="number"> 10</span>  
<span class="number"> 11</span>public:
<span class="number"> 12</span>  TILE<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 13</span>  TILE<span class="k2">(</span><span class="k1">short</span> _x_pos, <span class="k1">short</span> _y_pos<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 14</span>  <span class="k1">void</span> activate<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 15</span>  <span class="k1">void</span> draw<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 16</span>  <span class="k1">void</span> getBombed<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 17</span>  <span class="k1">void</span> getUnbombed<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 18</span>  <span class="k1">void</span> getPositioned<span class="k2">(</span><span class="k1">short</span> _x_pos, <span class="k1">short</span> _y_pos<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 19</span>  <span class="k1">bool</span> ISBOMBED<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 20</span>  <span class="k1">short</span> STATUS<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 21</span>  <span class="k1">void</span> DELETE<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 22</span><span class="k2">}</span><span class="k2">;</span>
<span class="number"> 23</span>
<span class="number"> 24</span><span class="k1">class</span> GAME
<span class="number"> 25</span><span class="k2">{</span>
<span class="number"> 26</span>private:
<span class="number"> 27</span>  <span class="k1">short</span> x_size, y_size<span class="k2">;</span>
<span class="number"> 28</span>  <span class="k1">short</span> maus_x, maus_y<span class="k2">;</span>
<span class="number"> 29</span>  vector<span class="k3">&lt;</span>short&gt; <span class="k3">*</span>listofbombs<span class="k2">;</span>
<span class="number"> 30</span>
<span class="number"> 31</span>  vector<span class="k3">&lt;</span>TILE&gt; <span class="k3">*</span>tiles<span class="k2">;</span>
<span class="number"> 32</span>  <span class="k1">bool</span> running<span class="k2">;</span>
<span class="number"> 33</span>
<span class="number"> 34</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number"> 35</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>eventqueue<span class="k2">;</span>
<span class="number"> 36</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> <span class="k3">*</span>timer<span class="k2">;</span>
<span class="number"> 37</span>
<span class="number"> 38</span>  <span class="k1">short</span> clickcounter<span class="k2">;</span>
<span class="number"> 39</span>
<span class="number"> 40</span>  <span class="k1">double</span> EXCounter<span class="k2">;</span>
<span class="number"> 41</span>
<span class="number"> 42</span>
<span class="number"> 43</span>public:
<span class="number"> 44</span>  GAME<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 45</span>  <span class="k1">void</span> lose<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 46</span>  <span class="k1">void</span> plantbombs<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 47</span>  <span class="k1">void</span> losebombs<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 48</span>  <span class="k1">void</span> drawClickCounter<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 49</span>  <span class="k1">void</span> losingscreen<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 50</span>  <span class="k1">void</span> deleteTiles<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 51</span>  <span class="k1">void</span> drawGraph<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">double</span> EXPONENTIAL<span class="k2">(</span><span class="k1">double</span> x<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 54</span>
<span class="number"> 55</span><span class="k2">}</span><span class="k2">;</span>
</div></div><p>
SOURCE
</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>TILE::TILE<span class="k2">(</span><span class="k2">)</span>
<span class="number">   2</span><span class="k2">{</span>
<span class="number">   3</span>  bomb <span class="k3">=</span> <span class="k1">new</span> <span class="k1">bool</span><span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   4</span>  status <span class="k3">=</span> <span class="k1">new</span> <span class="k1">short</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   5</span>  x_pos <span class="k3">=</span> <span class="k1">new</span> <span class="k1">short</span><span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   6</span>  y_pos <span class="k3">=</span> <span class="k1">new</span> <span class="k1">short</span><span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   7</span>  x_size <span class="k3">=</span> <span class="k1">new</span> <span class="k1">short</span><span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   8</span>  y_size <span class="k3">=</span> <span class="k1">new</span> <span class="k1">short</span><span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   9</span><span class="k2">}</span>
<span class="number">  10</span>
<span class="number">  11</span>TILE::TILE<span class="k2">(</span><span class="k1">short</span> _x_pos, <span class="k1">short</span> _y_pos<span class="k2">)</span>
<span class="number">  12</span><span class="k2">{</span>
<span class="number">  13</span>
<span class="number">  14</span><span class="k2">}</span>
<span class="number">  15</span>
<span class="number">  16</span><span class="k1">void</span> TILE::activate<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  17</span><span class="k2">{</span>
<span class="number">  18</span>  <span class="k3">*</span>status <span class="k3">=</span> <span class="n">2</span><span class="k2">;</span>
<span class="number">  19</span><span class="k2">}</span>
<span class="number">  20</span>
<span class="number">  21</span><span class="k1">void</span> TILE::draw<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  22</span><span class="k2">{</span>
<span class="number">  23</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">*</span>status <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number">  24</span>  <span class="k2">{</span>
<span class="number">  25</span>    <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>TILE_BITMAP_NORMAL, <span class="k3">*</span>x_pos, <span class="k3">*</span>y_pos, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  26</span>    <span class="c">/*al_flip_display(); </span>
<span class="number">  27</span><span class="c">    al_rest(0.002);*/</span>                     <span class="c">//This is just for debugging purposes, to see, how each tile gets drawn</span>
<span class="number">  28</span>  <span class="k2">}</span>
<span class="number">  29</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">*</span>status <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number">  30</span>  <span class="k2">{</span>
<span class="number">  31</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">*</span>bomb <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span> <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>TILE_BITMAP_RED, <span class="k3">*</span>x_pos, <span class="k3">*</span>y_pos, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  32</span>    <span class="k1">else</span> <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>TILE_BITMAP_GREEN, <span class="k3">*</span>x_pos, <span class="k3">*</span>y_pos, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  33</span>  <span class="k2">}</span>
<span class="number">  34</span>
<span class="number">  35</span><span class="k2">}</span>
<span class="number">  36</span>
<span class="number">  37</span><span class="k1">void</span> TILE::getBombed<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  38</span><span class="k2">{</span>
<span class="number">  39</span>  <span class="k3">*</span>bomb <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  40</span><span class="k2">}</span>
<span class="number">  41</span>
<span class="number">  42</span><span class="k1">void</span> TILE::getUnbombed<span class="k2">(</span><span class="k2">)</span>
<span class="number">  43</span><span class="k2">{</span>
<span class="number">  44</span>  <span class="k3">*</span>bomb <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  45</span><span class="k2">}</span>
<span class="number">  46</span>
<span class="number">  47</span><span class="k1">void</span> TILE::getPositioned<span class="k2">(</span><span class="k1">short</span> _x_pos, <span class="k1">short</span> _y_pos<span class="k2">)</span>
<span class="number">  48</span><span class="k2">{</span>
<span class="number">  49</span>  <span class="k3">*</span>x_pos <span class="k3">=</span> _x_pos<span class="k2">;</span>
<span class="number">  50</span>  <span class="k3">*</span>y_pos <span class="k3">=</span> _y_pos<span class="k2">;</span>
<span class="number">  51</span><span class="k2">}</span>
<span class="number">  52</span>
<span class="number">  53</span><span class="k1">bool</span> TILE::ISBOMBED<span class="k2">(</span><span class="k2">)</span>
<span class="number">  54</span><span class="k2">{</span>
<span class="number">  55</span>  <span class="k1">return</span> <span class="k3">*</span>bomb<span class="k2">;</span>
<span class="number">  56</span><span class="k2">}</span>
<span class="number">  57</span>
<span class="number">  58</span><span class="k1">short</span> TILE::STATUS<span class="k2">(</span><span class="k2">)</span>
<span class="number">  59</span><span class="k2">{</span>
<span class="number">  60</span>  <span class="k1">return</span> <span class="k3">*</span>status<span class="k2">;</span>
<span class="number">  61</span><span class="k2">}</span>
<span class="number">  62</span>
<span class="number">  63</span><span class="k1">void</span> TILE::DELETE<span class="k2">(</span><span class="k2">)</span>
<span class="number">  64</span><span class="k2">{</span>
<span class="number">  65</span>  x_pos <span class="k3">=</span> NULL<span class="k2">;</span> <span class="k1">delete</span> x_pos<span class="k2">;</span>
<span class="number">  66</span>  y_pos <span class="k3">=</span> NULL<span class="k2">;</span> <span class="k1">delete</span> y_pos<span class="k2">;</span>
<span class="number">  67</span>  x_size <span class="k3">=</span> NULL<span class="k2">;</span> <span class="k1">delete</span> x_size<span class="k2">;</span>
<span class="number">  68</span>  y_size <span class="k3">=</span> NULL<span class="k2">;</span> <span class="k1">delete</span> y_size<span class="k2">;</span>
<span class="number">  69</span>  status <span class="k3">=</span> NULL<span class="k2">;</span> <span class="k1">delete</span> status<span class="k2">;</span>
<span class="number">  70</span>  bomb <span class="k3">=</span> NULL<span class="k2">;</span> <span class="k1">delete</span> status<span class="k2">;</span>
<span class="number">  71</span><span class="k2">}</span>
<span class="number">  72</span>
<span class="number">  73</span>
<span class="number">  74</span>
<span class="number">  75</span>GAME::GAME<span class="k2">(</span><span class="k2">)</span>
<span class="number">  76</span><span class="k2">{</span>
<span class="number">  77</span>
<span class="number">  78</span>  NEWGAME <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  79</span>  x_size <span class="k3">=</span> <span class="n">1100</span><span class="k2">;</span>
<span class="number">  80</span>  y_size <span class="k3">=</span> <span class="n">1100</span><span class="k2">;</span>
<span class="number">  81</span>  
<span class="number">  82</span>  tiles <span class="k3">=</span> <span class="k1">new</span> vector<span class="k3">&lt;</span>TILE&gt;<span class="k2">(</span><span class="n">10000</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  83</span>  listofbombs <span class="k3">=</span> <span class="k1">new</span> vector<span class="k3">&lt;</span>short&gt;<span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  84</span>
<span class="number">  85</span>  <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><span class="k3">*</span>WHITE<span class="k2">)</span><span class="k2">;</span>
<span class="number">  86</span>  
<span class="number">  87</span>  <span class="k1">short</span> INDEX_counter <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  88</span>
<span class="number">  89</span>  <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> y <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> y <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">100</span><span class="k2">;</span> y<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  90</span>  <span class="k2">{</span>
<span class="number">  91</span>    <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> x <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> x <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">100</span><span class="k2">;</span> x<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  92</span>    <span class="k2">{</span>
<span class="number">  93</span>      <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>INDEX_counter<span class="k2">]</span>.getPositioned<span class="k2">(</span>x <span class="k3">*</span> <span class="n">10</span>, y <span class="k3">*</span> <span class="n">10</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  94</span>      <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>INDEX_counter<span class="k2">]</span>.draw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  95</span>      INDEX_counter<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number">  96</span>    <span class="k2">}</span>
<span class="number">  97</span>  <span class="k2">}</span> <span class="c">//POSITIONS</span>
<span class="number">  98</span>
<span class="number">  99</span>  <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 100</span>        <span class="k2">[</span>..........<span class="k2">]</span> <span class="k2">}</span>
</div></div><p>

In my main I just make a GAME newGame;
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nico_c++)</author>
		<pubDate>Thu, 07 Nov 2019 20:34:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>This code is wrong, but it&#39;s not necessarily the problem.</p><div class="quote_container"><div class="title"><a href="">Nico_C++</a> said:</div><div class="quote"><p>
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">void</span> TILE::DELETE<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span>
   x_pos <span class="k3">=</span> NULL<span class="k2">;</span> <span class="k1">delete</span> x_pos<span class="k2">;</span>
   y_pos <span class="k3">=</span> NULL<span class="k2">;</span> <span class="k1">delete</span> y_pos<span class="k2">;</span>
   x_size <span class="k3">=</span> NULL<span class="k2">;</span> <span class="k1">delete</span> x_size<span class="k2">;</span>
   y_size <span class="k3">=</span> NULL<span class="k2">;</span> <span class="k1">delete</span> y_size<span class="k2">;</span>
   status <span class="k3">=</span> NULL<span class="k2">;</span> <span class="k1">delete</span> status<span class="k2">;</span>
   bomb <span class="k3">=</span> NULL<span class="k2">;</span> <span class="k1">delete</span> status<span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>
</p></div></div><p>
That&#39;s the same thing as <span class="source-code">xpos <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> <span class="k1">delete</span> <span class="n">0</span><span class="k2">;</span></span>. Which means it is a memory leak.</p><p>There&#39;s no reason to be using dynamically allocated memory. You&#39;re over engineering the problem.</p><p>Something else to keep in mind is the <a href="https://en.wikipedia.org/wiki/Rule_of_three_%28C%2B%2B_programming%29">Rule of Three</a>.</p><p>You need to learn the difference between a shallow copy and a deep copy.</p><p>You need to learn the difference between the heap and the stack.</p><p>Look up RAII.</p><p>I still need to see more code.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Thu, 07 Nov 2019 21:10:14 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>[PART 1] (seems to long for a post)</p><p>There is not much more code right now XD<br />But I dont get why do you want to see more code.<br />I debugged the program to this point, and thats exactly the point where it is already drawn wrong. I mean, everything is there.<br />I give the positions, i draw them with this positions.<br />I can give you the part, where my newgame is allocated, but I dont know if thats for any help.<br />You know what, I give you the whole code. <br />minesweep.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">// MineSweep.cpp : Diese Datei enthält die Funktion "main". Hier beginnt und endet die Ausführung des Programms.</span>
<span class="number">   2</span><span class="c">//</span>
<span class="number">   3</span>
<span class="number">   4</span><span class="p">#include "global.h"</span>
<span class="number">   5</span><span class="c">//ALLEGRO</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5\allegro.h&gt;              </span>
<span class="number">   7</span><span class="p">#include &lt;allegro5\allegro_primitives.h&gt;</span>
<span class="number">   8</span><span class="p">#include &lt;allegro5\keyboard.h&gt;</span>
<span class="number">   9</span><span class="p">#include &lt;allegro5\allegro_ttf.h&gt;</span>
<span class="number">  10</span><span class="p">#include &lt;allegro5\allegro_font.h&gt;</span>
<span class="number">  11</span><span class="p">#include &lt;allegro5\allegro_image.h&gt;</span>
<span class="number">  12</span><span class="p">#include &lt;allegro5\allegro_audio.h&gt;</span>
<span class="number">  13</span><span class="p">#include &lt;allegro5\allegro_acodec.h&gt;</span>
<span class="number">  14</span><span class="p">#include &lt;allegro5\allegro_native_dialog.h&gt;</span>
<span class="number">  15</span><span class="p">#include &lt;allegro5\allegro_color.h&gt;</span>
<span class="number">  16</span>
<span class="number">  17</span><span class="c">//INGAME</span>
<span class="number">  18</span><span class="p">#include "game.h"</span>
<span class="number">  19</span><span class="c">//STD</span>
<span class="number">  20</span><span class="p">#include &lt;string&gt;</span>
<span class="number">  21</span><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span>
<span class="number">  22</span>
<span class="number">  23</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="number">  24</span><span class="k2">{</span>
<span class="number">  25</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><span class="k2">(</span>init<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">)</span> <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span> <span class="c">//Initialisieren</span>
<span class="number">  26</span>  init_colors<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//Farben für Menüs</span>
<span class="number">  27</span>
<span class="number">  28</span>  <a href="http://www.allegro.cc/manual/al_set_new_display_flags"><span class="a">al_set_new_display_flags</span></a><span class="k2">(</span>ALLEGRO_WINDOWED<span class="k2">)</span><span class="k2">;</span>
<span class="number">  29</span>  maindisplay <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_display"><span class="a">al_create_display</span></a><span class="k2">(</span><span class="n">1920</span>, <span class="n">1080</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//Display erstellen</span>
<span class="number">  30</span>
<span class="number">  31</span>  <span class="k1">bool</span> runningMAIN <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  32</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> eventMAIN<span class="k2">;</span>
<span class="number">  33</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>eventqueueMAIN<span class="k2">;</span>
<span class="number">  34</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> <span class="k3">*</span>timerMAIN<span class="k2">;</span>
<span class="number">  35</span>  TILE_BITMAP_NORMAL <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"Pixel.bmp"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  36</span>  TILE_BITMAP_GREEN <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"Pixel_Gruen.bmp"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span>  TILE_BITMAP_RED <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"Pixel_Rot.bmp"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</span>
<span class="number">  39</span>  timerMAIN <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">15</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  40</span>  eventqueueMAIN <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  41</span>  <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>timerMAIN<span class="k2">)</span><span class="k2">;</span>
<span class="number">  42</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>eventqueueMAIN, <a href="http://www.allegro.cc/manual/al_get_display_event_source"><span class="a">al_get_display_event_source</span></a><span class="k2">(</span>maindisplay<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  43</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>eventqueueMAIN, <a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>eventqueueMAIN, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>eventqueueMAIN, <a href="http://www.allegro.cc/manual/al_get_timer_event_source"><span class="a">al_get_timer_event_source</span></a><span class="k2">(</span>timerMAIN<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  46</span>
<span class="number">  47</span>
<span class="number">  48</span>
<span class="number">  49</span>  NEWGAME <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  50</span>  MAINDRAWING <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  51</span>  percentage <span class="k3">=</span> <span class="n">50</span><span class="k2">;</span>
<span class="number">  52</span>  EXfactor <span class="k3">=</span> <span class="n">0</span>.<span class="n">98</span><span class="k2">;</span>
<span class="number">  53</span>
<span class="number">  54</span>  <span class="k1">do</span>
<span class="number">  55</span>  <span class="k2">{</span>
<span class="number">  56</span>    <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>eventqueueMAIN, <span class="k3">&amp;</span>eventMAIN<span class="k2">)</span><span class="k2">;</span> <span class="c">//MAUS, KEYBOARD, usw.</span>
<span class="number">  57</span>
<span class="number">  58</span>    <span class="k1">if</span> <span class="k2">(</span>MAINDRAWING <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number">  59</span>    <span class="k2">{</span>
<span class="number">  60</span>      <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><span class="k3">*</span>WHITE<span class="k2">)</span><span class="k2">;</span>
<span class="number">  61</span>
<span class="number">  62</span>      <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <span class="k3">*</span>RED, <span class="n">100</span>, <span class="n">60</span>, <span class="n">0</span>, <span class="s">"N = Neues Spiel"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  63</span>      <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <span class="k3">*</span>RED, <span class="n">100</span>, <span class="n">100</span>, <span class="n">0</span>, <span class="s">"ESC = Beenden"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  64</span>      <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <span class="k3">*</span>RED, <span class="n">100</span>, <span class="n">140</span>, <span class="n">0</span>, <span class="s">"HOCH o. RUNTER = Prozentzahl ändern"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  65</span>      <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <span class="k3">*</span>RED, <span class="n">100</span>, <span class="n">180</span>, <span class="n">0</span>, <span class="s">"RECHTS o. LINKS = Faktor ändern"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  66</span>
<span class="number">  67</span>      string TEXT <span class="k3">=</span> to_string<span class="k2">(</span>percentage<span class="k2">)</span> <span class="k3">+</span> <span class="s">" Prozent Bomben"</span><span class="k2">;</span>
<span class="number">  68</span>      <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <span class="k3">*</span>BLACK, <span class="n">150</span>, <span class="n">240</span>, <span class="n">0</span>, TEXT.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>
<span class="number">  70</span>      TEXT <span class="k3">=</span> to_string<span class="k2">(</span>EXfactor<span class="k2">)</span> <span class="k3">+</span> <span class="s">" -&gt; Faktor, je niedriger, desto mehr Bomben werden gelöscht! 1 = Keine Veränderung"</span><span class="k2">;</span>
<span class="number">  71</span>      <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <span class="k3">*</span>BLACK, <span class="n">150</span>, <span class="n">260</span>, <span class="n">0</span>, TEXT.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  72</span>
<span class="number">  73</span>      <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  74</span>      MAINDRAWING <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  75</span>    <span class="k2">}</span>
<span class="number">  76</span>
<span class="number">  77</span>    <span class="k1">switch</span> <span class="k2">(</span>eventMAIN.type<span class="k2">)</span>
<span class="number">  78</span>    <span class="k2">{</span>
<span class="number">  79</span>    <span class="k1">case</span> ALLEGRO_EVENT_KEY_DOWN:
<span class="number">  80</span>      <a href="http://www.allegro.cc/manual/al_get_keyboard_state"><span class="a">al_get_keyboard_state</span></a><span class="k2">(</span><span class="k3">&amp;</span>keyboardstate<span class="k2">)</span><span class="k2">;</span>
<span class="number">  81</span>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keyboardstate, ALLEGRO_KEY_ESCAPE<span class="k2">)</span><span class="k2">)</span> runningMAIN <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  82</span>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keyboardstate, ALLEGRO_KEY_N<span class="k2">)</span><span class="k2">)</span> newGame <span class="k3">=</span> <span class="k1">new</span> GAME<span class="k2">;</span>
<span class="number">  83</span>      <span class="c">/*if (al_key_down(&amp;keyboardstate, ALLEGRO_KEY_UP))</span>
<span class="number">  84</span><span class="c">      {</span>
<span class="number">  85</span><span class="c">        if (percentage &lt; 100)</span>
<span class="number">  86</span><span class="c">        {</span>
<span class="number">  87</span><span class="c">          percentage++;</span>
<span class="number">  88</span><span class="c">          MAINDRAWING = true;</span>
<span class="number">  89</span><span class="c">        }</span>
<span class="number">  90</span><span class="c">      }</span>
<span class="number">  91</span><span class="c">      if (al_key_down(&amp;keyboardstate, ALLEGRO_KEY_DOWN))</span>
<span class="number">  92</span><span class="c">      {</span>
<span class="number">  93</span><span class="c">        if (percentage &gt; 0)</span>
<span class="number">  94</span><span class="c">        {</span>
<span class="number">  95</span><span class="c">          percentage--;</span>
<span class="number">  96</span><span class="c">          MAINDRAWING = true;</span>
<span class="number">  97</span><span class="c">        }</span>
<span class="number">  98</span><span class="c">      }*/</span>
<span class="number">  99</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 100</span>
<span class="number"> 101</span>    <span class="k1">case</span> ALLEGRO_EVENT_MOUSE_BUTTON_DOWN:
<span class="number"> 102</span>      <a href="http://www.allegro.cc/manual/al_get_mouse_state"><span class="a">al_get_mouse_state</span></a><span class="k2">(</span><span class="k3">&amp;</span>mousestate<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 103</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 104</span>
<span class="number"> 105</span>    <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number"> 106</span>
<span class="number"> 107</span>      <a href="http://www.allegro.cc/manual/al_get_keyboard_state"><span class="a">al_get_keyboard_state</span></a><span class="k2">(</span><span class="k3">&amp;</span>keyboardstate<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 108</span>
<span class="number"> 109</span>      <span class="c">//MOVE MAP, bzw. Kamera</span>
<span class="number"> 110</span>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keyboardstate, ALLEGRO_KEY_UP<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 111</span>      <span class="k2">{</span>
<span class="number"> 112</span>        <span class="k1">if</span> <span class="k2">(</span>percentage <span class="k3">&lt;</span> <span class="n">100</span><span class="k2">)</span>
<span class="number"> 113</span>        <span class="k2">{</span>
<span class="number"> 114</span>          percentage<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 115</span>          MAINDRAWING <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 116</span>        <span class="k2">}</span>
<span class="number"> 117</span>      <span class="k2">}</span>
<span class="number"> 118</span>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keyboardstate, ALLEGRO_KEY_DOWN<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 119</span>      <span class="k2">{</span>
<span class="number"> 120</span>        <span class="k1">if</span> <span class="k2">(</span>percentage <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span>
<span class="number"> 121</span>        <span class="k2">{</span>
<span class="number"> 122</span>          percentage--<span class="k2">;</span>
<span class="number"> 123</span>          MAINDRAWING <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 124</span>        <span class="k2">}</span>
<span class="number"> 125</span>      <span class="k2">}</span>
<span class="number"> 126</span>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keyboardstate, ALLEGRO_KEY_RIGHT<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 127</span>      <span class="k2">{</span>
<span class="number"> 128</span>        <span class="k1">if</span> <span class="k2">(</span>EXfactor <span class="k3">&lt;</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 129</span>        <span class="k2">{</span>
<span class="number"> 130</span>          EXfactor<span class="k3">+</span><span class="k3">=</span> <span class="n">0</span>.<span class="n">001</span><span class="k2">;</span>
<span class="number"> 131</span>          MAINDRAWING <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 132</span>        <span class="k2">}</span>
<span class="number"> 133</span>      <span class="k2">}</span>
<span class="number"> 134</span>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keyboardstate, ALLEGRO_KEY_LEFT<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 135</span>      <span class="k2">{</span>
<span class="number"> 136</span>        <span class="k1">if</span> <span class="k2">(</span>EXfactor <span class="k3">&gt;</span> <span class="n">0</span>.<span class="n">001</span><span class="k2">)</span>
<span class="number"> 137</span>        <span class="k2">{</span>
<span class="number"> 138</span>          EXfactor <span class="k3">-</span><span class="k3">=</span> <span class="n">0</span>.<span class="n">001</span><span class="k2">;</span>
<span class="number"> 139</span>          MAINDRAWING <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 140</span>        <span class="k2">}</span>
<span class="number"> 141</span>      <span class="k2">}</span>
<span class="number"> 142</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 143</span>
<span class="number"> 144</span>    default:
<span class="number"> 145</span>      <a href="http://www.allegro.cc/manual/al_flush_event_queue"><span class="a">al_flush_event_queue</span></a><span class="k2">(</span>eventqueueMAIN<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 146</span>    <span class="k2">}</span>
<span class="number"> 147</span>
<span class="number"> 148</span>    newGame <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number"> 149</span>    <span class="k1">delete</span> newGame<span class="k2">;</span>
<span class="number"> 150</span>
<span class="number"> 151</span>    <span class="k1">if</span> <span class="k2">(</span>NEWGAME <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 152</span>    <span class="k2">{</span>
<span class="number"> 153</span>      NEWGAME <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 154</span>      newGame <span class="k3">=</span> <span class="k1">new</span> GAME<span class="k2">;</span>
<span class="number"> 155</span>    <span class="k2">}</span>
<span class="number"> 156</span>  <span class="k2">}</span> <span class="k1">while</span> <span class="k2">(</span>runningMAIN<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 157</span>
<span class="number"> 158</span>  
<span class="number"> 159</span>  <a href="http://www.allegro.cc/manual/al_destroy_event_queue"><span class="a">al_destroy_event_queue</span></a><span class="k2">(</span>eventqueueMAIN<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 160</span>  <a href="http://www.allegro.cc/manual/al_destroy_timer"><span class="a">al_destroy_timer</span></a><span class="k2">(</span>timerMAIN<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 161</span>  <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>TILE_BITMAP_NORMAL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 162</span>  <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>TILE_BITMAP_RED<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 163</span>  <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>TILE_BITMAP_GREEN<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 164</span>
<span class="number"> 165</span>  destroy<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 166</span>
<span class="number"> 167</span>
<span class="number"> 168</span>
<span class="number"> 169</span><span class="k2">}</span>
<span class="number"> 170</span>
<span class="number"> 171</span><span class="c">// Programm ausführen: STRG+F5 oder "Debuggen" &gt; Menü "Ohne Debuggen starten"</span>
<span class="number"> 172</span><span class="c">// Programm debuggen: F5 oder "Debuggen" &gt; Menü "Debuggen starten"</span>
</div></div><p>

global.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="p">#pragma once</span>
<span class="number">  2</span><span class="c">//ALLEGRO</span>
<span class="number">  3</span><span class="p">#include &lt;allegro5\allegro.h&gt;              </span>
<span class="number">  4</span><span class="p">#include &lt;allegro5\allegro_primitives.h&gt;</span>
<span class="number">  5</span><span class="p">#include &lt;allegro5\keyboard.h&gt;</span>
<span class="number">  6</span><span class="p">#include &lt;allegro5\allegro_ttf.h&gt;</span>
<span class="number">  7</span><span class="p">#include &lt;allegro5\allegro_font.h&gt;</span>
<span class="number">  8</span><span class="p">#include &lt;allegro5\allegro_image.h&gt;</span>
<span class="number">  9</span><span class="p">#include &lt;allegro5\allegro_audio.h&gt;</span>
<span class="number"> 10</span><span class="p">#include &lt;allegro5\allegro_acodec.h&gt;</span>
<span class="number"> 11</span><span class="p">#include &lt;allegro5\allegro_native_dialog.h&gt;</span>
<span class="number"> 12</span><span class="p">#include &lt;allegro5\allegro_color.h&gt;</span>
<span class="number"> 13</span>
<span class="number"> 14</span><span class="c">//INGAME</span>
<span class="number"> 15</span><span class="p">#include "game.h"</span>
<span class="number"> 16</span>
<span class="number"> 17</span><span class="c">//STD</span>
<span class="number"> 18</span><span class="p">#include &lt;string&gt;</span>
<span class="number"> 19</span>
<span class="number"> 20</span>
<span class="number"> 21</span>
<span class="number"> 22</span><span class="c">//VORWÄRTSDEKLARATIONEN KLASSEN, wahrscheinlich gar nicht nötig</span>
<span class="number"> 23</span><span class="k1">class</span> TILE<span class="k2">;</span>
<span class="number"> 24</span><span class="k1">class</span> GAME<span class="k2">;</span>
<span class="number"> 25</span><span class="k1">class</span> MAP<span class="k2">;</span>
<span class="number"> 26</span>
<span class="number"> 27</span>
<span class="number"> 28</span><span class="c">//GLOBALE VARIABLEN UND KLASSEN (EXTERN</span>
<span class="number"> 29</span><span class="k1">extern</span> <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> <span class="k3">*</span>BLUE, <span class="k3">*</span>RED, <span class="k3">*</span>GREEN, <span class="k3">*</span>BLACK, <span class="k3">*</span>YELLOW, <span class="k3">*</span>WHITE, <span class="k3">*</span>BROWN, <span class="k3">*</span>MENU_COLOR<span class="k2">;</span> <span class="c">//FARBEN</span>
<span class="number"> 30</span>
<span class="number"> 31</span><span class="k1">extern</span> <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">;</span>
<span class="number"> 32</span>
<span class="number"> 33</span><span class="k1">extern</span> <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>maindisplay<span class="k2">;</span>
<span class="number"> 34</span>
<span class="number"> 35</span><span class="k1">extern</span> <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY_MODE"><span class="a">ALLEGRO_DISPLAY_MODE</span></a> disp_data<span class="k2">;</span> <span class="c">//(DISPDATA) speichert momentane display einstellungen des systems</span>
<span class="number"> 36</span>
<span class="number"> 37</span><span class="k1">extern</span> <a href="http://www.allegro.cc/manual/ALLEGRO_KEYBOARD_STATE"><span class="a">ALLEGRO_KEYBOARD_STATE</span></a> keyboardstate<span class="k2">;</span>
<span class="number"> 38</span><span class="k1">extern</span> <a href="http://www.allegro.cc/manual/ALLEGRO_MOUSE_STATE"><span class="a">ALLEGRO_MOUSE_STATE</span></a> mousestate<span class="k2">;</span> <span class="c">//MAUSSTATUS (xpos, ypos usw;)</span>
<span class="number"> 39</span>
<span class="number"> 40</span>
<span class="number"> 41</span><span class="k1">extern</span> <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>TILE_BITMAP_GREEN<span class="k2">;</span> 
<span class="number"> 42</span><span class="k1">extern</span> <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>TILE_BITMAP_NORMAL<span class="k2">;</span>
<span class="number"> 43</span><span class="k1">extern</span> <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>TILE_BITMAP_RED<span class="k2">;</span><span class="c">//wäre unsinnig für jede Instanz einzeln zu definieren</span>
<span class="number"> 44</span>
<span class="number"> 45</span><span class="k1">extern</span> GAME <span class="k3">*</span>newGame<span class="k2">;</span>
<span class="number"> 46</span>
<span class="number"> 47</span><span class="k1">extern</span> <span class="k1">short</span> percentage<span class="k2">;</span>
<span class="number"> 48</span><span class="k1">extern</span> <span class="k1">double</span> EXfactor<span class="k2">;</span>
<span class="number"> 49</span><span class="k1">extern</span> <span class="k1">short</span> position<span class="k2">;</span>
<span class="number"> 50</span><span class="c">//HIER FOLGT DANN AUCH DIE GLOBALE VEKTORDEFINITION FÜR DIE BITMAPS DER EINZELNEN UNITS UND TILES</span>
<span class="number"> 51</span><span class="c">//Speichereffizienzfrage, -&gt; in Arbeit</span>
<span class="number"> 52</span>
<span class="number"> 53</span><span class="k1">extern</span> <span class="k1">bool</span> NEWGAME<span class="k2">;</span>
<span class="number"> 54</span>
<span class="number"> 55</span><span class="k1">extern</span> <span class="k1">bool</span> MAINDRAWING<span class="k2">;</span>
<span class="number"> 56</span>
<span class="number"> 57</span><span class="c">//GLOBALE FUNKTIONEN</span>
<span class="number"> 58</span>
<span class="number"> 59</span><span class="k1">extern</span> <span class="k1">int</span> init<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 60</span><span class="k1">extern</span> <span class="k1">int</span> init_colors<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 61</span>
<span class="number"> 62</span><span class="k1">extern</span> <span class="k1">void</span> destroy<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
</div></div><p>
global.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="p">#include "global.h"</span>
<span class="number">   2</span><span class="c">//ALLEGRO</span>
<span class="number">   3</span><span class="p">#include &lt;allegro5\allegro.h&gt;              </span>
<span class="number">   4</span><span class="p">#include &lt;allegro5\allegro_primitives.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5\keyboard.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5\allegro_ttf.h&gt;</span>
<span class="number">   7</span><span class="p">#include &lt;allegro5\allegro_font.h&gt;</span>
<span class="number">   8</span><span class="p">#include &lt;allegro5\allegro_image.h&gt;</span>
<span class="number">   9</span><span class="p">#include &lt;allegro5\allegro_audio.h&gt;</span>
<span class="number">  10</span><span class="p">#include &lt;allegro5\allegro_acodec.h&gt;</span>
<span class="number">  11</span><span class="p">#include &lt;allegro5\allegro_native_dialog.h&gt;</span>
<span class="number">  12</span><span class="p">#include &lt;allegro5\allegro_color.h&gt;</span>
<span class="number">  13</span>
<span class="number">  14</span><span class="c">//INGAME</span>
<span class="number">  15</span><span class="p">#include "game.h"</span>
<span class="number">  16</span>
<span class="number">  17</span><span class="c">//STD</span>
<span class="number">  18</span><span class="p">#include &lt;cstdlib&gt;</span>
<span class="number">  19</span><span class="p">#include &lt;ctime&gt;</span>
<span class="number">  20</span><span class="p">#include &lt;iostream&gt;</span>
<span class="number">  21</span><span class="p">#include &lt;string&gt;</span>
<span class="number">  22</span>
<span class="number">  23</span>
<span class="number">  24</span><a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> <span class="k3">*</span>BLUE <span class="k3">=</span> NULL, <span class="k3">*</span>RED <span class="k3">=</span> NULL, <span class="k3">*</span>GREEN <span class="k3">=</span> NULL, <span class="k3">*</span>BLACK <span class="k3">=</span> NULL, <span class="k3">*</span>YELLOW <span class="k3">=</span> NULL, <span class="k3">*</span>WHITE <span class="k3">=</span> NULL, <span class="k3">*</span>BROWN <span class="k3">=</span> NULL, <span class="k3">*</span>MENU_COLOR <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  25</span>
<span class="number">  26</span><a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>maindisplay<span class="k2">;</span>
<span class="number">  27</span><a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY_MODE"><span class="a">ALLEGRO_DISPLAY_MODE</span></a> disp_data<span class="k2">;</span>
<span class="number">  28</span>
<span class="number">  29</span><a href="http://www.allegro.cc/manual/ALLEGRO_MOUSE_STATE"><span class="a">ALLEGRO_MOUSE_STATE</span></a> mousestate<span class="k2">;</span>
<span class="number">  30</span><a href="http://www.allegro.cc/manual/ALLEGRO_KEYBOARD_STATE"><span class="a">ALLEGRO_KEYBOARD_STATE</span></a> keyboardstate<span class="k2">;</span>
<span class="number">  31</span>
<span class="number">  32</span><a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">;</span>
<span class="number">  33</span>
<span class="number">  34</span>
<span class="number">  35</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>TILE_BITMAP_GREEN <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  36</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>TILE_BITMAP_NORMAL <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  37</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>TILE_BITMAP_RED <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  38</span>
<span class="number">  39</span>GAME <span class="k3">*</span>newGame<span class="k2">;</span>
<span class="number">  40</span>
<span class="number">  41</span><span class="k1">short</span> percentage<span class="k2">;</span>
<span class="number">  42</span><span class="k1">short</span> position<span class="k2">;</span>
<span class="number">  43</span><span class="k1">double</span> EXfactor<span class="k2">;</span>
<span class="number">  44</span>
<span class="number">  45</span><span class="k1">bool</span> NEWGAME<span class="k2">;</span>
<span class="number">  46</span>
<span class="number">  47</span><span class="k1">bool</span> MAINDRAWING<span class="k2">;</span>
<span class="number">  48</span>
<span class="number">  49</span>
<span class="number">  50</span>
<span class="number">  51</span>
<span class="number">  52</span><span class="k1">int</span> init<span class="k2">(</span><span class="k1">void</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/al_init"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>  <a href="http://www.allegro.cc/manual/al_init_primitives_addon"><span class="a">al_init_primitives_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>  <a href="http://www.allegro.cc/manual/al_init_image_addon"><span class="a">al_init_image_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</span>  <a href="http://www.allegro.cc/manual/al_init_font_addon"><span class="a">al_init_font_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  58</span>  <a href="http://www.allegro.cc/manual/al_init_ttf_addon"><span class="a">al_init_ttf_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  59</span>  <a href="http://www.allegro.cc/manual/al_install_keyboard"><span class="a">al_install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  60</span>  <a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  61</span>  <a href="http://www.allegro.cc/manual/al_get_display_mode"><span class="a">al_get_display_mode</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_get_num_display_modes"><span class="a">al_get_num_display_modes</span></a><span class="k2">(</span><span class="k2">)</span> <span class="k3">-</span> <span class="n">1</span>, <span class="k3">&amp;</span>disp_data<span class="k2">)</span><span class="k2">;</span>
<span class="number">  62</span>  std::srand<span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a><span class="k2">(</span>NULL<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  63</span>  <a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_font"><span class="a">al_load_font</span></a><span class="k2">(</span><span class="s">"OpenSans-Bold.ttf"</span>, <span class="n">20</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  64</span>  <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  65</span><span class="k2">}</span>
<span class="number">  66</span>
<span class="number">  67</span><span class="k1">int</span> init_colors<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  68</span><span class="k2">{</span>
<span class="number">  69</span>  BLUE <span class="k3">=</span> <span class="k1">new</span> <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">30</span>, <span class="n">144</span>, <span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  70</span>  WHITE <span class="k3">=</span> <span class="k1">new</span> <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">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">  71</span>  RED <span class="k3">=</span> <span class="k1">new</span> <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">204</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">  72</span>  BLACK <span class="k3">=</span> <span class="k1">new</span> <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  73</span>  YELLOW <span class="k3">=</span> <span class="k1">new</span> <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">255</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  74</span>  GREEN <span class="k3">=</span> <span class="k1">new</span> <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">255</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  75</span>  MENU_COLOR <span class="k3">=</span> <span class="k1">new</span> <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">105</span>, <span class="n">107</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// a blue color</span>
<span class="number">  76</span>  <span class="k1">return</span> <span class="n">1</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="k1">void</span> destroy<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  80</span><span class="k2">{</span>
<span class="number">  81</span>  <span class="k1">delete</span> BLUE<span class="k2">;</span> BLUE <span class="k3">=</span> nullptr<span class="k2">;</span>
<span class="number">  82</span>  <span class="k1">delete</span> WHITE<span class="k2">;</span> WHITE <span class="k3">=</span> nullptr<span class="k2">;</span>
<span class="number">  83</span>  <span class="k1">delete</span> RED<span class="k2">;</span> RED <span class="k3">=</span> nullptr<span class="k2">;</span>
<span class="number">  84</span>  <span class="k1">delete</span> BLACK<span class="k2">;</span> BLACK <span class="k3">=</span> nullptr<span class="k2">;</span>
<span class="number">  85</span>  <span class="k1">delete</span> MENU_COLOR<span class="k2">;</span> MENU_COLOR <span class="k3">=</span> nullptr<span class="k2">;</span>
<span class="number">  86</span>  <span class="k1">delete</span> YELLOW<span class="k2">;</span> YELLOW <span class="k3">=</span> nullptr<span class="k2">;</span>
<span class="number">  87</span>
<span class="number">  88</span>
<span class="number">  89</span>  <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a> <span class="k3">!</span><span class="k3">=</span> NULL<span class="k2">)</span> <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  90</span>
<span class="number">  91</span>
<span class="number">  92</span>  <span class="c">//Allegro 5 für Visual Studio macht das automatisch beim Austreten aus der MAIN</span>
<span class="number">  93</span>  <span class="c">/*al_uninstall_keyboard();</span>
<span class="number">  94</span><span class="c">  al_uninstall_mouse();</span>
<span class="number">  95</span><span class="c">  al_shutdown_primitives_addon();</span>
<span class="number">  96</span><span class="c">  al_shutdown_font_addon();</span>
<span class="number">  97</span><span class="c">  al_shutdown_image_addon();</span>
<span class="number">  98</span><span class="c">  al_shutdown_ttf_addon();*/</span>
<span class="number">  99</span>
<span class="number"> 100</span>  <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>maindisplay<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 101</span><span class="k2">}</span>
</div></div><p>

Please write something, so I can make the part 2 with game.cpp<br />and game.h
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nico_c++)</author>
		<pubDate>Thu, 07 Nov 2019 22:38:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The problem is here :</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/617975/1043939#target">Nico_C++</a> said:</div><div class="quote"><p>
</p><div class="source-code"><div class="toolbar"><span class="name">minesweep.cpp</span><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"> 147</span>
<span class="number"> 148</span>    newGame <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number"> 149</span>    <span class="k1">delete</span> newGame<span class="k2">;</span>
<span class="number"> 150</span>
<span class="number"> 151</span>    <span class="k1">if</span> <span class="k2">(</span>NEWGAME <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 152</span>    <span class="k2">{</span>
<span class="number"> 153</span>      NEWGAME <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 154</span>      newGame <span class="k3">=</span> <span class="k1">new</span> GAME<span class="k2">;</span>
<span class="number"> 155</span>    <span class="k2">}</span>
<span class="number"> 156</span>  <span class="k2">}</span> <span class="k1">while</span> <span class="k2">(</span>runningMAIN<span class="k2">)</span><span class="k2">;</span>
</div></div><p>
</p></div></div><p>

The code I quoted is run every time an event occurs. This means I need to see the GAME class.</p><p>It looks like a classic memory leak and dangling pointer.</p><p>Note that you&#39;re doing the same thing I warned you about before.</p><p>You&#39;re calling <span class="source-code"><span class="k1">delete</span> <span class="n">0</span><span class="k2">;</span></span> again.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Fri, 08 Nov 2019 00:04:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>[PART 2]</p><p>game.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="p">#pragma once</span>
<span class="number">  2</span><span class="p">#include "global.h"</span>
<span class="number">  3</span><span class="c">//ALLEGRO</span>
<span class="number">  4</span><span class="p">#include &lt;allegro5\allegro.h&gt;              </span>
<span class="number">  5</span><span class="p">#include &lt;allegro5\allegro_primitives.h&gt;</span>
<span class="number">  6</span><span class="p">#include &lt;allegro5\keyboard.h&gt;</span>
<span class="number">  7</span><span class="p">#include &lt;allegro5\allegro_ttf.h&gt;</span>
<span class="number">  8</span><span class="p">#include &lt;allegro5\allegro_font.h&gt;</span>
<span class="number">  9</span><span class="p">#include &lt;allegro5\allegro_image.h&gt;</span>
<span class="number"> 10</span><span class="p">#include &lt;allegro5\allegro_audio.h&gt;</span>
<span class="number"> 11</span><span class="p">#include &lt;allegro5\allegro_acodec.h&gt;</span>
<span class="number"> 12</span><span class="p">#include &lt;allegro5\allegro_native_dialog.h&gt;</span>
<span class="number"> 13</span><span class="p">#include &lt;allegro5\allegro_color.h&gt;</span>
<span class="number"> 14</span>
<span class="number"> 15</span><span class="c">//INGAME</span>
<span class="number"> 16</span>
<span class="number"> 17</span>
<span class="number"> 18</span><span class="c">//STD</span>
<span class="number"> 19</span><span class="p">#include &lt;vector&gt;</span>
<span class="number"> 20</span><span class="p">#include &lt;string&gt;</span>
<span class="number"> 21</span><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span>
<span class="number"> 22</span>
<span class="number"> 23</span><span class="k1">class</span> TILE
<span class="number"> 24</span><span class="k2">{</span>
<span class="number"> 25</span>private:
<span class="number"> 26</span>  <span class="k1">short</span> <span class="k3">*</span>x_pos, <span class="k3">*</span>y_pos<span class="k2">;</span>
<span class="number"> 27</span>  <span class="k1">short</span> <span class="k3">*</span>x_size, <span class="k3">*</span>y_size<span class="k2">;</span>
<span class="number"> 28</span>
<span class="number"> 29</span>  <span class="k1">short</span> <span class="k3">*</span>status<span class="k2">;</span> <span class="c">// 1 = Normal, 2 = Aufgedeckt</span>
<span class="number"> 30</span>  <span class="k1">bool</span> <span class="k3">*</span>bomb<span class="k2">;</span> <span class="c">// 0 = keine bombe, 1 = bombe</span>
<span class="number"> 31</span>
<span class="number"> 32</span>  
<span class="number"> 33</span>public:
<span class="number"> 34</span>  TILE<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 35</span>  TILE<span class="k2">(</span><span class="k1">short</span> _x_pos, <span class="k1">short</span> _y_pos<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 36</span>  <span class="k1">void</span> activate<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 37</span>  <span class="k1">void</span> draw<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 38</span>  <span class="k1">void</span> getBombed<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 39</span>  <span class="k1">void</span> getUnbombed<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 40</span>  <span class="k1">void</span> getPositioned<span class="k2">(</span><span class="k1">short</span> _x_pos, <span class="k1">short</span> _y_pos<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 41</span>  <span class="k1">bool</span> ISBOMBED<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 42</span>  <span class="k1">short</span> STATUS<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 43</span>  <span class="k1">void</span> DELETE<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 44</span><span class="k2">}</span><span class="k2">;</span>
<span class="number"> 45</span>
<span class="number"> 46</span><span class="k1">class</span> GAME
<span class="number"> 47</span><span class="k2">{</span>
<span class="number"> 48</span>private:
<span class="number"> 49</span>  <span class="k1">short</span> x_size, y_size<span class="k2">;</span>
<span class="number"> 50</span>  <span class="k1">short</span> maus_x, maus_y<span class="k2">;</span>
<span class="number"> 51</span>  vector<span class="k3">&lt;</span>short&gt; <span class="k3">*</span>listofbombs<span class="k2">;</span>
<span class="number"> 52</span>
<span class="number"> 53</span>  vector<span class="k3">&lt;</span>TILE&gt; <span class="k3">*</span>tiles<span class="k2">;</span>
<span class="number"> 54</span>  <span class="k1">bool</span> running<span class="k2">;</span>
<span class="number"> 55</span>
<span class="number"> 56</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number"> 57</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>eventqueue<span class="k2">;</span>
<span class="number"> 58</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> <span class="k3">*</span>timer<span class="k2">;</span>
<span class="number"> 59</span>
<span class="number"> 60</span>  <span class="k1">short</span> clickcounter<span class="k2">;</span>
<span class="number"> 61</span>
<span class="number"> 62</span>  <span class="k1">double</span> EXCounter<span class="k2">;</span>
<span class="number"> 63</span>
<span class="number"> 64</span>
<span class="number"> 65</span>public:
<span class="number"> 66</span>  GAME<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 67</span>  <span class="k1">void</span> lose<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 68</span>  <span class="k1">void</span> plantbombs<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 69</span>  <span class="k1">void</span> losebombs<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 70</span>  <span class="k1">void</span> drawClickCounter<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 71</span>  <span class="k1">void</span> losingscreen<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 72</span>  <span class="k1">void</span> deleteTiles<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 73</span>  <span class="k1">void</span> drawGraph<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 74</span>
<span class="number"> 75</span>  <span class="k1">double</span> EXPONENTIAL<span class="k2">(</span><span class="k1">double</span> x<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 76</span>
<span class="number"> 77</span><span class="k2">}</span><span class="k2">;</span>
</div></div><p>
game.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="p">#include "game.h"</span>
<span class="number">   2</span>
<span class="number">   3</span><span class="c">//ALLEGRO</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5\allegro.h&gt;              </span>
<span class="number">   5</span><span class="p">#include &lt;allegro5\allegro_primitives.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5\keyboard.h&gt;</span>
<span class="number">   7</span><span class="p">#include &lt;allegro5\allegro_ttf.h&gt;</span>
<span class="number">   8</span><span class="p">#include &lt;allegro5\allegro_font.h&gt;</span>
<span class="number">   9</span><span class="p">#include &lt;allegro5\allegro_image.h&gt;</span>
<span class="number">  10</span><span class="p">#include &lt;allegro5\allegro_audio.h&gt;</span>
<span class="number">  11</span><span class="p">#include &lt;allegro5\allegro_acodec.h&gt;</span>
<span class="number">  12</span><span class="p">#include &lt;allegro5\allegro_native_dialog.h&gt;</span>
<span class="number">  13</span><span class="p">#include &lt;allegro5\allegro_color.h&gt;</span>
<span class="number">  14</span>
<span class="number">  15</span>
<span class="number">  16</span><span class="p">#include &lt;stdio.h&gt;</span>
<span class="number">  17</span><span class="p">#include &lt;stdlib.h&gt;</span>
<span class="number">  18</span><span class="p">#include &lt;time.h&gt;</span>
<span class="number">  19</span>
<span class="number">  20</span><span class="p">#include &lt;vector&gt;</span>
<span class="number">  21</span><span class="p">#include &lt;string&gt;</span>
<span class="number">  22</span><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span>
<span class="number">  23</span>
<span class="number">  24</span><span class="c">// 1000 Mal 1000 Pixel</span>
<span class="number">  25</span><span class="c">// 100 Mal 100 Kästchen = 10000 Kästchen</span>
<span class="number">  26</span>
<span class="number">  27</span>TILE::TILE<span class="k2">(</span><span class="k2">)</span>
<span class="number">  28</span><span class="k2">{</span>
<span class="number">  29</span>  bomb <span class="k3">=</span> <span class="k1">new</span> <span class="k1">bool</span><span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  30</span>  status <span class="k3">=</span> <span class="k1">new</span> <span class="k1">short</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  31</span>  x_pos <span class="k3">=</span> <span class="k1">new</span> <span class="k1">short</span><span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  32</span>  y_pos <span class="k3">=</span> <span class="k1">new</span> <span class="k1">short</span><span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  33</span>  x_size <span class="k3">=</span> <span class="k1">new</span> <span class="k1">short</span><span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  34</span>  y_size <span class="k3">=</span> <span class="k1">new</span> <span class="k1">short</span><span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  35</span><span class="k2">}</span>
<span class="number">  36</span>
<span class="number">  37</span>TILE::TILE<span class="k2">(</span><span class="k1">short</span> _x_pos, <span class="k1">short</span> _y_pos<span class="k2">)</span>
<span class="number">  38</span><span class="k2">{</span>
<span class="number">  39</span>
<span class="number">  40</span><span class="k2">}</span>
<span class="number">  41</span>
<span class="number">  42</span><span class="k1">void</span> TILE::activate<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  43</span><span class="k2">{</span>
<span class="number">  44</span>  <span class="k3">*</span>status <span class="k3">=</span> <span class="n">2</span><span class="k2">;</span>
<span class="number">  45</span><span class="k2">}</span>
<span class="number">  46</span>
<span class="number">  47</span><span class="k1">void</span> TILE::draw<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  48</span><span class="k2">{</span>
<span class="number">  49</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">*</span>status <span class="k3">=</span><span class="k3">=</span> <span class="n">1</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/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>TILE_BITMAP_NORMAL, <span class="k3">*</span>x_pos, <span class="k3">*</span>y_pos, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  52</span>    <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  53</span>    <a href="http://www.allegro.cc/manual/al_rest"><span class="a">al_rest</span></a><span class="k2">(</span><span class="n">0</span>.<span class="n">002</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  54</span>  <span class="k2">}</span>
<span class="number">  55</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">*</span>status <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number">  56</span>  <span class="k2">{</span>
<span class="number">  57</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">*</span>bomb <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span> <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>TILE_BITMAP_RED, <span class="k3">*</span>x_pos, <span class="k3">*</span>y_pos, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  58</span>    <span class="k1">else</span> <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>TILE_BITMAP_GREEN, <span class="k3">*</span>x_pos, <span class="k3">*</span>y_pos, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  59</span>  <span class="k2">}</span>
<span class="number">  60</span>
<span class="number">  61</span><span class="k2">}</span>
<span class="number">  62</span>
<span class="number">  63</span><span class="k1">void</span> TILE::getBombed<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  64</span><span class="k2">{</span>
<span class="number">  65</span>  <span class="k3">*</span>bomb <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  66</span><span class="k2">}</span>
<span class="number">  67</span>
<span class="number">  68</span><span class="k1">void</span> TILE::getUnbombed<span class="k2">(</span><span class="k2">)</span>
<span class="number">  69</span><span class="k2">{</span>
<span class="number">  70</span>  <span class="k3">*</span>bomb <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  71</span><span class="k2">}</span>
<span class="number">  72</span>
<span class="number">  73</span><span class="k1">void</span> TILE::getPositioned<span class="k2">(</span><span class="k1">short</span> _x_pos, <span class="k1">short</span> _y_pos<span class="k2">)</span>
<span class="number">  74</span><span class="k2">{</span>
<span class="number">  75</span>  <span class="k3">*</span>x_pos <span class="k3">=</span> _x_pos<span class="k2">;</span>
<span class="number">  76</span>  <span class="k3">*</span>y_pos <span class="k3">=</span> _y_pos<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="k1">bool</span> TILE::ISBOMBED<span class="k2">(</span><span class="k2">)</span>
<span class="number">  80</span><span class="k2">{</span>
<span class="number">  81</span>  <span class="k1">return</span> <span class="k3">*</span>bomb<span class="k2">;</span>
<span class="number">  82</span><span class="k2">}</span>
<span class="number">  83</span>
<span class="number">  84</span><span class="k1">short</span> TILE::STATUS<span class="k2">(</span><span class="k2">)</span>
<span class="number">  85</span><span class="k2">{</span>
<span class="number">  86</span>  <span class="k1">return</span> <span class="k3">*</span>status<span class="k2">;</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> TILE::DELETE<span class="k2">(</span><span class="k2">)</span>
<span class="number">  90</span><span class="k2">{</span>
<span class="number">  91</span>  x_pos <span class="k3">=</span> NULL<span class="k2">;</span> <span class="k1">delete</span> x_pos<span class="k2">;</span>
<span class="number">  92</span>  y_pos <span class="k3">=</span> NULL<span class="k2">;</span> <span class="k1">delete</span> y_pos<span class="k2">;</span>
<span class="number">  93</span>  x_size <span class="k3">=</span> NULL<span class="k2">;</span> <span class="k1">delete</span> x_size<span class="k2">;</span>
<span class="number">  94</span>  y_size <span class="k3">=</span> NULL<span class="k2">;</span> <span class="k1">delete</span> y_size<span class="k2">;</span>
<span class="number">  95</span>  status <span class="k3">=</span> NULL<span class="k2">;</span> <span class="k1">delete</span> status<span class="k2">;</span>
<span class="number">  96</span>  bomb <span class="k3">=</span> NULL<span class="k2">;</span> <span class="k1">delete</span> status<span class="k2">;</span>
<span class="number">  97</span><span class="k2">}</span>
<span class="number">  98</span>
<span class="number">  99</span>
<span class="number"> 100</span>
<span class="number"> 101</span>GAME::GAME<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 102</span><span class="k2">{</span>
<span class="number"> 103</span>
<span class="number"> 104</span>  NEWGAME <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 105</span>  x_size <span class="k3">=</span> <span class="n">1100</span><span class="k2">;</span>
<span class="number"> 106</span>  y_size <span class="k3">=</span> <span class="n">1100</span><span class="k2">;</span>
<span class="number"> 107</span>  
<span class="number"> 108</span>  tiles <span class="k3">=</span> <span class="k1">new</span> vector<span class="k3">&lt;</span>TILE&gt;<span class="k2">(</span><span class="n">10000</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 109</span>  listofbombs <span class="k3">=</span> <span class="k1">new</span> vector<span class="k3">&lt;</span>short&gt;<span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 110</span>
<span class="number"> 111</span>  <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><span class="k3">*</span>WHITE<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 112</span>  
<span class="number"> 113</span>  <span class="k1">short</span> INDEX_counter <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 114</span>
<span class="number"> 115</span>  <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> y <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> y <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">100</span><span class="k2">;</span> y<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 116</span>  <span class="k2">{</span>
<span class="number"> 117</span>    <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> x <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> x <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">100</span><span class="k2">;</span> x<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 118</span>    <span class="k2">{</span>
<span class="number"> 119</span>      <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>INDEX_counter<span class="k2">]</span>.getPositioned<span class="k2">(</span>x <span class="k3">*</span> <span class="n">10</span>, y <span class="k3">*</span> <span class="n">10</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 120</span>      <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>INDEX_counter<span class="k2">]</span>.draw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 121</span>      INDEX_counter<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 122</span>    <span class="k2">}</span>
<span class="number"> 123</span>  <span class="k2">}</span> <span class="c">//POSITIONS</span>
<span class="number"> 124</span>
<span class="number"> 125</span>  <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 126</span>
<span class="number"> 127</span>  plantbombs<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 128</span>
<span class="number"> 129</span>  running <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 130</span>  clickcounter <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 131</span>  timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">60</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 132</span>  eventqueue <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 133</span>  <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 134</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>eventqueue, <a href="http://www.allegro.cc/manual/al_get_display_event_source"><span class="a">al_get_display_event_source</span></a><span class="k2">(</span>maindisplay<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 135</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>eventqueue, <a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 136</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>eventqueue, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 137</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>eventqueue, <a href="http://www.allegro.cc/manual/al_get_timer_event_source"><span class="a">al_get_timer_event_source</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 138</span>
<span class="number"> 139</span>  EXCounter <span class="k3">=</span> <span class="k2">(</span><span class="k3">*</span>listofbombs<span class="k2">)</span>.size<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 140</span>  drawGraph<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 141</span>
<span class="number"> 142</span>  <span class="k1">do</span>
<span class="number"> 143</span>  <span class="k2">{</span>
<span class="number"> 144</span>    <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>eventqueue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span> <span class="c">//MAUS, KEYBOARD, usw.</span>
<span class="number"> 145</span>    <span class="k1">switch</span> <span class="k2">(</span>event.type<span class="k2">)</span>
<span class="number"> 146</span>    <span class="k2">{</span>
<span class="number"> 147</span>    <span class="k1">case</span> ALLEGRO_EVENT_KEY_DOWN:
<span class="number"> 148</span>      <a href="http://www.allegro.cc/manual/al_get_keyboard_state"><span class="a">al_get_keyboard_state</span></a><span class="k2">(</span><span class="k3">&amp;</span>keyboardstate<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 149</span>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keyboardstate, ALLEGRO_KEY_ESCAPE<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 150</span>      <span class="k2">{</span>
<span class="number"> 151</span>        running <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 152</span>        MAINDRAWING <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 153</span>      <span class="k2">}</span>
<span class="number"> 154</span>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keyboardstate, ALLEGRO_KEY_N<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 155</span>      <span class="k2">{</span>
<span class="number"> 156</span>        running <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 157</span>        NEWGAME <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 158</span>      <span class="k2">}</span>
<span class="number"> 159</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 160</span>    <span class="k1">case</span> ALLEGRO_EVENT_MOUSE_BUTTON_DOWN:
<span class="number"> 161</span>      <a href="http://www.allegro.cc/manual/al_get_mouse_state"><span class="a">al_get_mouse_state</span></a><span class="k2">(</span><span class="k3">&amp;</span>mousestate<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 162</span>      maus_x <span class="k3">=</span> mousestate.x<span class="k2">;</span>
<span class="number"> 163</span>      maus_y <span class="k3">=</span> mousestate.y<span class="k2">;</span>
<span class="number"> 164</span>
<span class="number"> 165</span>      <span class="k1">if</span> <span class="k2">(</span>maus_x <span class="k3">&lt;</span> <span class="n">1010</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> maus_y <span class="k3">&lt;</span> <span class="n">1010</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> maus_x <span class="k3">&gt;</span> <span class="n">10</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> maus_y <span class="k3">&gt;</span> <span class="n">10</span><span class="k2">)</span>
<span class="number"> 166</span>      <span class="k2">{</span>
<span class="number"> 167</span>        maus_x <span class="k3">/</span><span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number"> 168</span>        maus_x <span class="k3">*</span><span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number"> 169</span>        <span class="k1">if</span> <span class="k2">(</span>maus_x <span class="k3">&gt;</span> mousestate.x<span class="k2">)</span> maus_x <span class="k3">-</span><span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number"> 170</span>        maus_x <span class="k3">/</span><span class="k3">=</span> <span class="n">10</span><span class="k2">;</span> <span class="c">// Genaue X - Stelle Kästchen + 1 weiter</span>
<span class="number"> 171</span>        maus_x <span class="k3">-</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 172</span>
<span class="number"> 173</span>        maus_y <span class="k3">/</span><span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number"> 174</span>        maus_y <span class="k3">*</span><span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number"> 175</span>        <span class="k1">if</span> <span class="k2">(</span>maus_y <span class="k3">&gt;</span> mousestate.y<span class="k2">)</span> maus_y <span class="k3">-</span><span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number"> 176</span>        maus_y <span class="k3">/</span><span class="k3">=</span> <span class="n">10</span><span class="k2">;</span> <span class="c">// Genaue Y - Stelle Kästchen + 1 weiter</span>
<span class="number"> 177</span>        maus_y <span class="k3">-</span><span class="k3">=</span> <span class="n">1</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><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>maus_y <span class="k3">*</span> <span class="n">100</span> <span class="k3">+</span> maus_x<span class="k2">]</span>.ISBOMBED<span class="k2">(</span><span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> <span class="k1">true</span><span class="k2">)</span> lose<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 180</span>        <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>maus_y <span class="k3">*</span> <span class="n">100</span> <span class="k3">+</span> maus_x<span class="k2">]</span>.STATUS<span class="k2">(</span><span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 181</span>        <span class="k2">{</span>
<span class="number"> 182</span>          <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>maus_y <span class="k3">*</span> <span class="n">100</span> <span class="k3">+</span> maus_x<span class="k2">]</span>.activate<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 183</span>          <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>maus_y <span class="k3">*</span> <span class="n">100</span> <span class="k3">+</span> maus_x<span class="k2">]</span>.draw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 184</span>          <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 185</span>          losebombs<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 186</span>          clickcounter<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 187</span>          drawClickCounter<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 188</span>        <span class="k2">}</span>
<span class="number"> 189</span>      <span class="k2">}</span>
<span class="number"> 190</span>
<span class="number"> 191</span>
<span class="number"> 192</span>      
<span class="number"> 193</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 194</span>    <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number"> 195</span>      <a href="http://www.allegro.cc/manual/al_get_keyboard_state"><span class="a">al_get_keyboard_state</span></a><span class="k2">(</span><span class="k3">&amp;</span>keyboardstate<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 196</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 197</span>
<span class="number"> 198</span>    default:
<span class="number"> 199</span>      <a href="http://www.allegro.cc/manual/al_flush_event_queue"><span class="a">al_flush_event_queue</span></a><span class="k2">(</span>eventqueue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 200</span>    <span class="k2">}</span>
<span class="number"> 201</span>
<span class="number"> 202</span>  <span class="k2">}</span> <span class="k1">while</span> <span class="k2">(</span>running<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 203</span>
<span class="number"> 204</span>
<span class="number"> 205</span>  <a href="http://www.allegro.cc/manual/al_destroy_event_queue"><span class="a">al_destroy_event_queue</span></a><span class="k2">(</span>eventqueue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 206</span>  eventqueue <span class="k3">=</span> nullptr<span class="k2">;</span>
<span class="number"> 207</span>  <a href="http://www.allegro.cc/manual/al_destroy_timer"><span class="a">al_destroy_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 208</span>  timer <span class="k3">=</span> nullptr<span class="k2">;</span>
<span class="number"> 209</span>
<span class="number"> 210</span>  deleteTiles<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 211</span>  tiles <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number"> 212</span>  listofbombs <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number"> 213</span>  <span class="k1">delete</span> tiles<span class="k2">;</span>
<span class="number"> 214</span>  <span class="k1">delete</span> listofbombs<span class="k2">;</span>
<span class="number"> 215</span><span class="k2">}</span>
<span class="number"> 216</span>
<span class="number"> 217</span><span class="k1">void</span> GAME::lose<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number"> 218</span><span class="k2">{</span>
<span class="number"> 219</span>  <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>maus_y <span class="k3">*</span> <span class="n">100</span> <span class="k3">+</span> maus_x<span class="k2">]</span>.activate<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 220</span>  <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>maus_y <span class="k3">*</span> <span class="n">100</span> <span class="k3">+</span> maus_x<span class="k2">]</span>.getBombed<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 221</span>  <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>maus_y <span class="k3">*</span> <span class="n">100</span> <span class="k3">+</span> maus_x<span class="k2">]</span>.draw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 222</span>  <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> <span class="k2">(</span><span class="k3">*</span>listofbombs<span class="k2">)</span>.size<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 223</span>  <span class="k2">{</span>
<span class="number"> 224</span>    <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span><span class="k2">(</span><span class="k3">*</span>listofbombs<span class="k2">)</span><span class="k2">[</span>i<span class="k2">]</span><span class="k2">]</span>.activate<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 225</span>    <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span><span class="k2">(</span><span class="k3">*</span>listofbombs<span class="k2">)</span><span class="k2">[</span>i<span class="k2">]</span><span class="k2">]</span>.getBombed<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 226</span>    <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span><span class="k2">(</span><span class="k3">*</span>listofbombs<span class="k2">)</span><span class="k2">[</span>i<span class="k2">]</span><span class="k2">]</span>.draw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 227</span>  <span class="k2">}</span>
<span class="number"> 228</span>  losingscreen<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 229</span><span class="k2">}</span>
<span class="number"> 230</span>
<span class="number"> 231</span><span class="k1">void</span> GAME::plantbombs<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number"> 232</span><span class="k2">{</span>
<span class="number"> 233</span>  <span class="c">//TESTWEISE percentage hier definiert</span>
<span class="number"> 234</span>  <span class="c">//percentage = 1;</span>
<span class="number"> 235</span>
<span class="number"> 236</span>  
<span class="number"> 237</span>  <span class="k1">short</span> numberofbombs <span class="k3">=</span> percentage <span class="k3">*</span> <span class="n">100</span><span class="k2">;</span> 
<span class="number"> 238</span>
<span class="number"> 239</span>  <span class="k1">short</span> counter <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 240</span>  <span class="k1">short</span> RANDOM<span class="k2">;</span>
<span class="number"> 241</span>
<span class="number"> 242</span>  <span class="k1">if</span> <span class="k2">(</span>numberofbombs <span class="k3">!</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span>
<span class="number"> 243</span>  <span class="k2">{</span>
<span class="number"> 244</span>    <span class="k1">do</span>
<span class="number"> 245</span>    <span class="k2">{</span>
<span class="number"> 246</span>      RANDOM <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="n">10000</span><span class="k2">;</span>
<span class="number"> 247</span>      <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>RANDOM<span class="k2">]</span>.ISBOMBED<span class="k2">(</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"> 248</span>      <span class="k2">{</span>
<span class="number"> 249</span>        <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>RANDOM<span class="k2">]</span>.getBombed<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 250</span>        counter<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 251</span>        <span class="k2">(</span><span class="k3">*</span>listofbombs<span class="k2">)</span>.push_back<span class="k2">(</span>RANDOM<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 252</span>      <span class="k2">}</span>
<span class="number"> 253</span>
<span class="number"> 254</span>    <span class="k2">}</span> <span class="k1">while</span> <span class="k2">(</span>counter <span class="k3">!</span><span class="k3">=</span> numberofbombs<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 255</span>  <span class="k2">}</span>
<span class="number"> 256</span>
<span class="number"> 257</span><span class="k2">}</span>
<span class="number"> 258</span>
<span class="number"> 259</span><span class="k1">void</span> GAME::losebombs<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number"> 260</span><span class="k2">{</span>
<span class="number"> 261</span>  <span class="k1">double</span> _EXCounter <span class="k3">=</span> EXCounter<span class="k2">;</span>
<span class="number"> 262</span>  EXCounter <span class="k3">=</span> _EXCounter <span class="k3">*</span> EXfactor<span class="k2">;</span>
<span class="number"> 263</span>
<span class="number"> 264</span>
<span class="number"> 265</span>  <span class="k1">short</span> NUMBERtoDelete <span class="k3">=</span> <span class="k2">(</span><span class="k1">short</span><span class="k2">)</span><span class="k2">(</span>round<span class="k2">(</span><span class="k2">(</span><span class="k3">*</span>listofbombs<span class="k2">)</span>.size<span class="k2">(</span><span class="k2">)</span> <span class="k3">-</span> EXCounter<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 266</span>
<span class="number"> 267</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span><span class="k3">*</span>listofbombs<span class="k2">)</span>.size<span class="k2">(</span><span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> <span class="n">1</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span><span class="k3">*</span>listofbombs<span class="k2">)</span>.size<span class="k2">(</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"> 268</span>  <span class="k2">{</span>
<span class="number"> 269</span>    <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> NUMBERtoDelete<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 270</span>    <span class="k2">{</span>
<span class="number"> 271</span>      <span class="k1">short</span> RANDOM <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span> % <span class="k2">(</span><span class="k3">*</span>listofbombs<span class="k2">)</span>.size<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 272</span>
<span class="number"> 273</span>      <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span><span class="k2">(</span><span class="k3">*</span>listofbombs<span class="k2">)</span><span class="k2">[</span>RANDOM<span class="k2">]</span><span class="k2">]</span>.getUnbombed<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 274</span>      <span class="k2">(</span><span class="k3">*</span>listofbombs<span class="k2">)</span>.erase<span class="k2">(</span><span class="k2">(</span><span class="k3">*</span>listofbombs<span class="k2">)</span>.begin<span class="k2">(</span><span class="k2">)</span> <span class="k3">+</span> RANDOM<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 275</span>    <span class="k2">}</span>
<span class="number"> 276</span>  <span class="k2">}</span>
<span class="number"> 277</span><span class="k2">}</span>
<span class="number"> 278</span>
<span class="number"> 279</span><span class="k1">void</span> GAME::drawClickCounter<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number"> 280</span><span class="k2">{</span>
<span class="number"> 281</span>  <a href="http://www.allegro.cc/manual/al_draw_filled_rectangle"><span class="a">al_draw_filled_rectangle</span></a><span class="k2">(</span><span class="n">1200</span>, <span class="n">400</span>, <span class="n">1300</span>, <span class="n">425</span>, <span class="k3">*</span>YELLOW<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 282</span>  string TEXT <span class="k3">=</span> to_string<span class="k2">(</span>clickcounter<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 283</span>  <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <span class="k3">*</span>RED, <span class="n">1200</span>, <span class="n">400</span>, <span class="n">0</span>, TEXT.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 284</span>
<span class="number"> 285</span>  <a href="http://www.allegro.cc/manual/al_draw_filled_rectangle"><span class="a">al_draw_filled_rectangle</span></a><span class="k2">(</span><span class="n">1200</span>, <span class="n">500</span>, <span class="n">1450</span>, <span class="n">525</span>, <span class="k3">*</span>YELLOW<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 286</span>  TEXT <span class="k3">=</span> <span class="s">"Anzahl der Bomben: "</span> <span class="k3">+</span> to_string<span class="k2">(</span><span class="k2">(</span><span class="k3">*</span>listofbombs<span class="k2">)</span>.size<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 287</span>  <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <span class="k3">*</span>RED, <span class="n">1200</span>, <span class="n">500</span>, <span class="n">0</span>, TEXT.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 288</span>  <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 289</span><span class="k2">}</span>
<span class="number"> 290</span>
<span class="number"> 291</span><span class="k1">void</span> GAME::losingscreen<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number"> 292</span><span class="k2">{</span>
<span class="number"> 293</span>  <span class="k1">do</span>
<span class="number"> 294</span>  <span class="k2">{</span>
<span class="number"> 295</span>    <a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <span class="k3">*</span>RED, <span class="n">1100</span>, <span class="n">800</span>, <span class="n">0</span>, <span class="s">"Sie haben verloren! R = Restart, H = Hauptmenü"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 296</span>    <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 297</span>    <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>eventqueue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 298</span>    <span class="k1">switch</span> <span class="k2">(</span>event.type<span class="k2">)</span>
<span class="number"> 299</span>    <span class="k2">{</span>
<span class="number"> 300</span>    <span class="k1">case</span> ALLEGRO_EVENT_KEY_DOWN:
<span class="number"> 301</span>      <a href="http://www.allegro.cc/manual/al_get_keyboard_state"><span class="a">al_get_keyboard_state</span></a><span class="k2">(</span><span class="k3">&amp;</span>keyboardstate<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 302</span>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keyboardstate, ALLEGRO_KEY_R<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 303</span>      <span class="k2">{</span>
<span class="number"> 304</span>        running <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 305</span>        NEWGAME <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 306</span>      <span class="k2">}</span>
<span class="number"> 307</span>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keyboardstate, ALLEGRO_KEY_H<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 308</span>      <span class="k2">{</span>
<span class="number"> 309</span>        running <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 310</span>        MAINDRAWING <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 311</span>      <span class="k2">}</span>
<span class="number"> 312</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 313</span>    <span class="k2">}</span>
<span class="number"> 314</span>
<span class="number"> 315</span>  <span class="k2">}</span> <span class="k1">while</span> <span class="k2">(</span>running<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 316</span><span class="k2">}</span>
<span class="number"> 317</span>
<span class="number"> 318</span><span class="k1">void</span> GAME::deleteTiles<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 319</span><span class="k2">{</span>
<span class="number"> 320</span>  <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span>.size<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 321</span>  <span class="k2">{</span>
<span class="number"> 322</span>    <span class="k2">(</span><span class="k3">*</span>tiles<span class="k2">)</span><span class="k2">[</span>i<span class="k2">]</span>.DELETE<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 323</span>  <span class="k2">}</span>
<span class="number"> 324</span><span class="k2">}</span>
<span class="number"> 325</span>
<span class="number"> 326</span><span class="k1">void</span> GAME::drawGraph<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 327</span><span class="k2">{</span>
<span class="number"> 328</span>  <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> i <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">10000</span><span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 329</span>  <span class="k2">{</span>
<span class="number"> 330</span>    <a href="http://www.allegro.cc/manual/al_draw_pixel"><span class="a">al_draw_pixel</span></a><span class="k2">(</span><span class="k2">(</span>i<span class="k3">/</span><span class="n">25</span> <span class="k3">+</span> <span class="n">1100</span><span class="k2">)</span>, <span class="k2">(</span>EXPONENTIAL<span class="k2">(</span>i<span class="k2">)</span><span class="k3">/</span><span class="n">25</span> <span class="k3">+</span> <span class="n">300</span><span class="k2">)</span>, <span class="k3">*</span>RED<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 331</span>  <span class="k2">}</span>
<span class="number"> 332</span>  <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 333</span><span class="k2">}</span>
<span class="number"> 334</span>
<span class="number"> 335</span><span class="k1">double</span> GAME::EXPONENTIAL<span class="k2">(</span><span class="k1">double</span> x<span class="k2">)</span>
<span class="number"> 336</span><span class="k2">{</span>
<span class="number"> 337</span>  <span class="k1">return</span> <span class="k3">-</span><span class="k2">(</span><span class="k2">(</span><span class="k3">*</span>listofbombs<span class="k2">)</span>.size<span class="k2">(</span><span class="k2">)</span> <span class="k3">*</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_618.html" target="_blank">pow</a><span class="k2">(</span>EXfactor, x<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 338</span><span class="k2">}</span>
</div></div><p>

Yea, I know, but the GAME is going in a loop and stays there.<br />So this shouldnt be a problem.<br />If you know what I mean
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nico_c++)</author>
		<pubDate>Fri, 08 Nov 2019 01:00:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi Nico,<br />from what I can see your code looks OK. It is possible that something is wrong with the data used to draw the bitmaps and I believe Edgar will have a quick look to try to help you with this.</p><p>I am not an expert so I cannot help much but maybe you can try this (just for test):</p><p>   -because your screenshot is in HD and you are creating a full hd window maybe try running your program with 650x650 window and see if the problem repeats (you might need to multiply the x and y position with 5 instead of 10 for the entire map to fit in the window)</p><p>   -also, try running your program in full screen(using native resolution of your monitor) and see if the problem repeats</p><p>If you have the time to try these two things it is possible we can isolate the problem to a graphics end instead to memory data.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (MikiZX)</author>
		<pubDate>Fri, 08 Nov 2019 01:33:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hey Miki,</p><p>Fullscreen I already tried, it was the same.<br />And the resolution wont work because the bmps are 10x10 Pixels.<br />I can try to do the resolution with scaled bitmaps, but that I have to do later, because I am outside.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nico_c++)</author>
		<pubDate>Fri, 08 Nov 2019 01:38:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Your code keeps changing. Where is your draw routine called now?</p><p>Also, besides the very beginning, do you draw your tiles at any other point?<br />EDIT: oh I see under your mouse event</p><p>What does this code do?
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">void</span> GAME::drawGraph<span class="k2">(</span><span class="k2">)</span>
<span class="k2">{</span>
  <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> i <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">10000</span><span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
  <span class="k2">{</span>
    <a href="http://www.allegro.cc/manual/al_draw_pixel"><span class="a">al_draw_pixel</span></a><span class="k2">(</span><span class="k2">(</span>i<span class="k3">/</span><span class="n">25</span> <span class="k3">+</span> <span class="n">1100</span><span class="k2">)</span>, <span class="k2">(</span>EXPONENTIAL<span class="k2">(</span>i<span class="k2">)</span><span class="k3">/</span><span class="n">25</span> <span class="k3">+</span> <span class="n">300</span><span class="k2">)</span>, <span class="k3">*</span>RED<span class="k2">)</span><span class="k2">;</span>
  <span class="k2">}</span>
  <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>


Can you create a temp bitmap of the size of the grid? Draw the tiles to the temp bitmap and save it. Then upload as attachment. Just the tiles before anything else is done to them.</p><p>Just some helpful criticism, keep you logic separate from your drawing. <br />All drawing should be done in one place. You can use states and variables to differentiate what is drawn.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Fri, 08 Nov 2019 02:42:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah, thats true, but actually I have just one place where the most is drawn.<br />TILE:draw()<br />The GAME:drawGraph() just happens one time.<br />And I mean, you have the code, what dont you understand in it.<br />It plots a function on the screen.</p><p>I will try this with the temp bitmap.<br />You mean, i should create a new bitmap, set it as a target and save it as file?<br />Or what exactly do you mean?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nico_c++)</author>
		<pubDate>Fri, 08 Nov 2019 18:58:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>1st, fix your memory leaks.</p><p>Delete pointer then set to null</p><p>See if that does anything. Is it a memory leak issue or not?</p><p>2nd, are your bitmaps being loaded correctly? You don&#39;t check. I don&#39;t know what your tile bitmaps look like so I don&#39;t know.</p><p>3rd, My suggestion was yes to create temp bitmap, set as target, draw, save, delete. This should be done before any logic or loops. </p><p>You can add the image as an attachment like so<br /><span class="remote-thumbnail"><span class="json">{"name":"612184","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/8\/f\/8fd36c1ad264f294fee9c0ecf7c4fc4a.png","w":1920,"h":1080,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/8\/f\/8fd36c1ad264f294fee9c0ecf7c4fc4a"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/8/f/8fd36c1ad264f294fee9c0ecf7c4fc4a-240.jpg" alt="612184" width="240" height="135" /></span></p><p>4th, try a small program. Load 1 tile and draw the same 100x100 grid.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Fri, 08 Nov 2019 22:05:36 +0000</pubDate>
	</item>
</rss>
