{"id":156,"date":"2006-01-30T16:49:37","date_gmt":"2006-01-30T15:49:37","guid":{"rendered":"http:\/\/www.kornecke.de\/blog\/?p=156"},"modified":"2010-02-21T12:08:17","modified_gmt":"2010-02-21T12:08:17","slug":"jorlunds-krieger","status":"publish","type":"post","link":"https:\/\/www.kornecke.de\/blog\/?p=156","title":{"rendered":"* Jorl\u00fands Krieger"},"content":{"rendered":"<p>\nMinotaurus schreibt wieder an Jorl\u00fands Krieger. Nachdem das Projekt weitestgehend brach lag und ich trotzdem angek\u00fcndigt hatte, da\u00df bald wieder ein Testspiel starten kann, klingt das mit Sicherheit jetzt nicht besonders glaubw\u00fcrdig. Also erz\u00e4hl ich garnicht erst etwas vom n\u00e4chsten Testspiel, sondern lieber, da\u00df ich mich gerade bem\u00fche, die Kampfabl\u00e4ufe zu implementieren.<\/p>\n<p>Wenn&#8217;s soweit ist, meld&#8216; ich mich.<\/p>\n<p>Hier ein kleiner Einblick in eine n\u00fctzliche Funktion meines C-Monsters, die es erm\u00f6glicht, bequem Einheiten in Armee-Strukturen <small>(alle Einheiten eines Volkes in einem Gebiet bilden eine Armee)<\/small> einzuf\u00fcgen.<\/p>\n<p> <code> <\/p>\n<pre>\r\nvoid einh_in_arm (char volk[5],int x,int y, int menge, char einh[6])\r\n{   \r\n    int datcheck, einhpos, i, j;\r\n\r\n    datcheck = armee_lesen (volk, x, y);\r\n \r\n    if(datcheck == -1)                     \/\/ noch keine Armee vorhanden\r\n    { armee_auf (volk, x, y);\r\n      fprintf(datei,\"1\\n%d %s \",menge,einh);  \/\/ Armee neu schreiben\r\n      fclose(datei);\r\n    }\r\n    else                                   \/\/ Armee schon vorhanden\r\n    { einhpos = -1; \r\n      for (j=0; j < armee.anz_art; j++)\r\n        if (strcmp (armee.einh[j], einh) == 0)\r\n          einhpos = j;\r\n      if (einhpos == -1)                   \/\/ Einhart noch nicht vorhanden\r\n      { armee.menge[ armee.anz_art ] = menge;\r\n        strcpy ( armee.einh[ armee.anz_art ], einh );\r\n        armee.anz_art++;\r\n      }\r\n      else                                 \/\/ Einhart schon vorhanden\r\n      { armee.menge[ einhpos ] = armee.menge[ einhpos ] + menge;\r\n      }\r\n      \r\n      armee_auf (volk, x, y);\r\n      fprintf(datei,\"%d \",armee.anz_art);  \/\/ Armee \u00fcberschreiben\r\n      for(j=0; j < armee.anz_art; j++)\r\n        fprintf(datei,\"\\n%d %s \",armee.menge[j], armee.einh[j]);\r\n      fclose (datei);\r\n    }\r\n} \r\n<\/pre>\n<p><\/code><br \/>\n<\/p>\n<p>Au\u00dferdem kann man sich eine <a href=\"http:\/\/www.jorlund.de\/~jk\/003.HAL.html\">Beispielauswertung<\/a> eines meiner Testv\u00f6lker anschauen. Das ist mit Sicherheit noch nicht der endg\u00fcltige Stand <small>(vor allem bei den Gebietsdetails wird noch erg\u00e4nzt)<\/small>, aber schon mal was.<\/p>\n<p>Und noch ein paar harte Fakten: <br \/>\n&#8211; Anzahl der Programme, aus denen das Programm-Monster derzeit besteht: <b>13<\/b><br \/>\n&#8211; Gr\u00f6\u00dfe der Quelltexte in KB: <b>170<\/b><br \/>\n&#8211; Gr\u00f6\u00dfe eines Datenpaketes einer Runde f\u00fcr 2 V\u00f6lker und 12 Felder in KB: <b>24,6<\/b><br \/>\n&#8211; Zeit f\u00fcr das Kompilieren der Quelltexte mit einer Sempron 2600+ Maschine in sec: <b>ca. 3<\/b><br \/>\n&#8211; Vorraussichtliche Mindest-Anzahl der Regelseiten zu Beginn: <b>20<\/b><br \/>\n&#8211; Beginn von Jorl\u00fands Krieger ohne prim\u00e4re Software: <b>2001<\/b><\/p>\n<p>Damit ist Jorl\u00fands Krieger 5 Jahre alt. Wenn das kein Grund ist, bald mal wieder loszulegen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Minotaurus schreibt wieder an Jorl\u00fands Krieger. Nachdem das Projekt weitestgehend brach lag und ich trotzdem angek\u00fcndigt hatte, da\u00df bald wieder ein Testspiel starten kann, klingt das mit Sicherheit jetzt nicht besonders glaubw\u00fcrdig. Also erz\u00e4hl ich garnicht erst etwas vom n\u00e4chsten Testspiel, sondern lieber, da\u00df ich mich gerade bem\u00fche, die Kampfabl\u00e4ufe zu implementieren. Wenn&#8217;s soweit ist, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"_links":{"self":[{"href":"https:\/\/www.kornecke.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/156"}],"collection":[{"href":"https:\/\/www.kornecke.de\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kornecke.de\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kornecke.de\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kornecke.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=156"}],"version-history":[{"count":1,"href":"https:\/\/www.kornecke.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/156\/revisions"}],"predecessor-version":[{"id":1294,"href":"https:\/\/www.kornecke.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/156\/revisions\/1294"}],"wp:attachment":[{"href":"https:\/\/www.kornecke.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=156"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kornecke.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=156"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kornecke.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}