<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[im Hintergrund rechnen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein bestehendes Programm welches im der main grob folgende Struktur hat..</p>
<pre><code class="language-cpp">int main() {
...

while(true) {
  cin &gt;&gt; keys;
  if(!cin){
	 cin.clear();
	 cin.ignore(100, '\n');
  }

  switch(keys){
   ...
   //mach was mit den keys

   case 999:

  }
}
</code></pre>
<p>nehmen wir mal an das Programm dient zur Kollisionsabfrage von PKW.<br />
Also im Menu kann dann gewählt werden</p>
<ol>
<li>Initialisieren der Strecke</li>
<li>Positionieren der Autos</li>
<li>Kollisionserkennung mit Auto (Baum,...)</li>
</ol>
<p>nehmen wir weiterhin an das 1) bis 3) implementiert ist. Allerdings werden für drei PKW die notwendigen GegnerPKW statisch positioniert. Die PKW fahren entlang ihrer definierten Route. Vorher aber wird geprüft ob es zu Kollisionen mit den PKW und den GegnerPKW kommt und dann abgebrochen.</p>
<p>Die GegnerPKW sollen sich aber bewegen. D.h. nicht wie jetzt statisch positioniert werden, sondern sie sollen ihre Position verändern. Wie könnte man das umsetzten.</p>
<p>Gruß<br />
Franky</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/262738/im-hintergrund-rechnen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 13:03:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/262738.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 10 Mar 2010 16:22:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to im Hintergrund rechnen on Wed, 10 Mar 2010 16:22:12 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein bestehendes Programm welches im der main grob folgende Struktur hat..</p>
<pre><code class="language-cpp">int main() {
...

while(true) {
  cin &gt;&gt; keys;
  if(!cin){
	 cin.clear();
	 cin.ignore(100, '\n');
  }

  switch(keys){
   ...
   //mach was mit den keys

   case 999:

  }
}
</code></pre>
<p>nehmen wir mal an das Programm dient zur Kollisionsabfrage von PKW.<br />
Also im Menu kann dann gewählt werden</p>
<ol>
<li>Initialisieren der Strecke</li>
<li>Positionieren der Autos</li>
<li>Kollisionserkennung mit Auto (Baum,...)</li>
</ol>
<p>nehmen wir weiterhin an das 1) bis 3) implementiert ist. Allerdings werden für drei PKW die notwendigen GegnerPKW statisch positioniert. Die PKW fahren entlang ihrer definierten Route. Vorher aber wird geprüft ob es zu Kollisionen mit den PKW und den GegnerPKW kommt und dann abgebrochen.</p>
<p>Die GegnerPKW sollen sich aber bewegen. D.h. nicht wie jetzt statisch positioniert werden, sondern sie sollen ihre Position verändern. Wie könnte man das umsetzten.</p>
<p>Gruß<br />
Franky</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867090</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Wed, 10 Mar 2010 16:22:12 GMT</pubDate></item><item><title><![CDATA[Reply to im Hintergrund rechnen on Wed, 10 Mar 2010 16:56:57 GMT]]></title><description><![CDATA[<p>Es gibt (mindestens) zwei Lösungen: eine saubere und eine nicht-standardkonforme schnelle.</p>
<ol>
<li>
<p>Die saubere benutzt einen Thread, der im Hintergrund in bestimmten Intervallen die Position der PKW aktualisiert und Benutzereingaben auswertet. Je nach Grad des Idealismus kann man das beliebig komplex machen.</p>
</li>
<li>
<p>Du verlässt den Pfad der Tugend und benutzt kbhit() und getch(), um zu prüfen, ob der Benutzer eine Taste gedrückt hat. Diese Funktionen stehen nur für Win32 Konsolenprogramme zur Verfügung und dürften am schnellsten zu benutzen sein.</p>
</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/1867106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867106</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Wed, 10 Mar 2010 16:56:57 GMT</pubDate></item><item><title><![CDATA[Reply to im Hintergrund rechnen on Wed, 10 Mar 2010 21:36:14 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>danke für die Antwort. Ich hatte ganz vergessen, das ich das Ganze in Linux machen muß (erstmal Linux, danach dann Windows).</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;pthread.h&gt;

void *print_message_function( void *ptr );

main()
{
     pthread_t thread1, thread2;
     char *ThreadMsg1 = &quot;Hallo hier ist Thread 1&quot;;
     char *ThreadMsg2 = &quot;Hallo hier ist Thread 2&quot;;
     int  iret1, iret2;

    /* Zwei Threads erzeugen, die unabhängig läufen.  */

     iret1 = pthread_create( &amp;thread1, NULL, print_message_function, (void*) ThreadMsg1);
     iret2 = pthread_create( &amp;thread2, NULL, print_message_function, (void*) ThreadMsg1);

     /* Auf die Beendigung der Threads warten */
     /* Vielleicht ein Problem, wenn der Prozess (Anwendung) sich */
     /* beendet, bevor die Threads terminieren!!!! */
     /* Vielleicht bleibt der ganze Rotz auch stehen, weil die Threads */
     /* hängen? */

     pthread_join( thread1, NULL);
     pthread_join( thread2, NULL); 

     printf(&quot;Thread 1 sagt: %d\n&quot;,iret1);
     printf(&quot;Thread 2 sagt: %d\n&quot;,iret2);
     exit(0);
}

void *print_message_function( void *ptr )
{
     char *message;
     message = (char *) ptr;
     printf(&quot;%s \n&quot;, message);
}
</code></pre>
<p>Aber die Strukturen auf die ich zugreifen muß, sind Vektoren, structs,,,<br />
Wie funktionert das dann mit dem casts...</p>
<p>Gruß<br />
Franky</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867228</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Wed, 10 Mar 2010 21:36:14 GMT</pubDate></item><item><title><![CDATA[Reply to im Hintergrund rechnen on Wed, 10 Mar 2010 23:19:24 GMT]]></title><description><![CDATA[<p>FrankTheFox schrieb:</p>
<blockquote>
<p>Hallo,<br />
danke für die Antwort. Ich hatte ganz vergessen, das ich das Ganze in Linux machen muß (erstmal Linux, danach dann Windows).</p>
</blockquote>
<p>Es gibt natürlich auch für Linux Konsolen Bibliotheken die der berüchtigten conio.h entsprechen. Die häufigste Wahl dafür ist <em>ncurses</em>.</p>
<blockquote>
<p>Aber die Strukturen auf die ich zugreifen muß, sind Vektoren, structs,,,<br />
Wie funktionert das dann mit dem casts...</p>
</blockquote>
<p>Wie funktioniert was mit Casts? Und was hast du für ein Problem mit Vectoren und Structs in Zusammenhang mit Threads? Bitte präzisere Fragen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867254</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867254</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 10 Mar 2010 23:19:24 GMT</pubDate></item></channel></rss>