<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
	<channel>
		<title>BlitzBasic Portal Worklogs - &quot;Cacti VS Llamas&quot; - BCC #98</title>
		<link>https://www.blitzforum.de/worklogs/566/</link>
		<description>Worklog von DivineDominion</description>
		<language>de</language>
		<managingEditor>mail@blitzforum.de</managingEditor>
		<webMaster>mail@blitzforum.de</webMaster>
		<pubDate>Mon, 06 May 2019 10:17:33 +0200</pubDate>
		<lastBuildDate>Mon, 06 May 2019 10:17:33 +0200</lastBuildDate>

		<item>
			<title>Warum die CTCharacter Klasse etwas übers Animieren wei&amp;</title>
			<link>https://www.blitzforum.de/worklogs/566/#3954</link>
			<guid>https://www.blitzforum.de/worklogs/566/#3954</guid>
			<author>DivineDominion</author>
			<description>Ein paar Links, die mich vor ~10 Tagen dazu bewogen haben, aus dem CTCharacter Typ mehr zu machen als so etwas wie ein reines Model Object. Jetzt fragt der CTCharacter selbst Animationen an, um Schadens- und Todesanimationen abzuspielen. Das ganze so zu entkoppeln, dass man &amp;quot;reine&amp;quot; business objects hat, die in mehreren Schichten von dem gemalten Bildschirminhalt getrennt sind, hat nur Probleme gemacht. Denn der Zustand einer Spielfigur in Bewegung h&amp;auml;ngt direkt von der Bewegungsanimation ab. &amp;quot;Reine&amp;quot; Entitiies haben keinen Sinn f&amp;uuml;r vergangene Spielzeit.&lt;br /&gt;&lt;br /&gt;Ein Spiel ist keine Tabellenkalkulation. Man muss andere patterns anwenden.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://gamedev.stackexchange.com/questions/12509/how-optimal-do-you-think-maintianing-states-in-a-sprite-class&quot; target=&quot;_blank&quot;&gt;https://gamedev.stackexchange....rite-class&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://gamedev.stackexchange.com/questions/171462/effect-animation-and-character-state-transition-event-timing&quot; target=&quot;_blank&quot;&gt;https://gamedev.stackexchange....ent-timing&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://gamedev.stackexchange.com/questions/8537/game-actions-that-take-multiple-frames-to-complete&quot; target=&quot;_blank&quot;&gt;https://gamedev.stackexchange....o-complete&lt;/a&gt;</description>
			<pubDate>Mon, 06 May 2019 10:17:33 +0200</pubDate>
		</item>

		<item>
			<title>Stand zur Bltiz Coding Compo #98 </title>
			<link>https://www.blitzforum.de/worklogs/566/#3953</link>
			<guid>https://www.blitzforum.de/worklogs/566/#3953</guid>
			<author>DivineDominion</author>
			<description>Kein eigentlich spielbares Spiel. Die meisten UI Mechaniken sind fertig und ich k&amp;ouml;nnte jetzt leicht weiter den zweiten Spieler einbauen und dann Charaktere konfigurieren. &lt;br /&gt;&lt;br /&gt;Demo:&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;https://i.imgur.com/0PiBUiv.gif&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Was fehlt:&lt;br /&gt;&lt;br /&gt;- Aufstellung vom zweiten Spieler&lt;br /&gt;- Verschiedene Stats f&amp;uuml;r die K&amp;auml;mpfer (f&amp;uuml;r Spielvariation)&lt;br /&gt;- Verschiedene Angriffsmodi als &amp;quot;deal X damage&amp;quot; und Randomisierung von Ergebniswerten, also die eigentliche Spielmechanik &lt;img src=&quot;/forum/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; /&gt;&lt;br /&gt;&lt;br /&gt;</description>
			<pubDate>Mon, 06 May 2019 10:02:18 +0200</pubDate>
		</item>

		<item>
			<title>Llama &amp; Cacti on Envato Elements</title>
			<link>https://www.blitzforum.de/worklogs/566/#3952</link>
			<guid>https://www.blitzforum.de/worklogs/566/#3952</guid>
			<author>DivineDominion</author>
			<description>&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;https://i.imgur.com/gpibD9t.png&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Envato Elements hat doch tats&amp;auml;chlich gewagt, mir mein Thema zu klauen &lt;img src=&quot;/forum/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; /&gt;</description>
			<pubDate>Thu, 02 May 2019 14:54:53 +0200</pubDate>
		</item>

		<item>
			<title>BCC kaputt #3</title>
			<link>https://www.blitzforum.de/worklogs/566/#3951</link>
			<guid>https://www.blitzforum.de/worklogs/566/#3951</guid>
			<author>DivineDominion</author>
			<description>Nat&amp;uuml;rlich ist die verf&amp;uuml;gbare bmx-ng Version immer noch 0.99, mit all den Bugs, die seit Februar gefixt wurden.&lt;br /&gt;&lt;br /&gt;Gestern habe ich mehrere Stunden damit verbracht, Travis (Continuous Integration service) so einzurichten, dass es mit der letzten Version von der Website den aktuellen bcc Code kompiliert und als Paket anbietet. Ich habe die Hoffnung, dass damit in Zukunft regelm&amp;auml;&amp;szlig;igere Releases von bmx-ng m&amp;ouml;glich werden.&lt;br /&gt;&lt;br /&gt;Hilft mir mit den Bugs f&amp;uuml;r den BCC herzlich wenig &lt;img src=&quot;/forum/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; /&gt; Ich hoffe mal, dass sich bis zum Wochenende noch was tut.</description>
			<pubDate>Thu, 02 May 2019 14:53:09 +0200</pubDate>
		</item>

		<item>
			<title>Animationssequenzen und Game Events</title>
			<link>https://www.blitzforum.de/worklogs/566/#3950</link>
			<guid>https://www.blitzforum.de/worklogs/566/#3950</guid>
			<author>DivineDominion</author>
			<description>Ein komisches Problem bei Spielen ist der Mix aus Model Code und Animationen.&lt;br /&gt;&lt;br /&gt;Wenn ein Charakter so viel Schaden nimmt, dass er stirbt, dann kann er eine Nachricht an andere Objekte schicken. Aber wenn das Spiel noch eine 10-sek&amp;uuml;ndige Todesanimation abspielt, dann kann der Ausl&amp;ouml;ser dieser Animatio nicht schon das &amp;quot;OnDeath&amp;quot; Ereignis sein. Erst nach Abspielen der Animation sollte die Nachricht verschickt werden. Sonst zieht der n&amp;auml;chste Spieler in der Zwischenzeit schon wieder, oder das Spiel beendet, bevor der Effekt richtig abgespielt wurde. Das muss ja alles seine Ordnung haben.&lt;br /&gt;&lt;br /&gt;Damit hat man auf einmal eine Sequenz von Ereignissen.&lt;br /&gt;&lt;br /&gt;- Charakter registriert HP &amp;lt;= 0: sendet &amp;quot;OnWillDie&amp;quot; Nachricht&lt;br /&gt;- Daraufhin werden Animationen abgespielt und senden &amp;quot;OnDeathAnimationDidFinish&amp;quot;&lt;br /&gt;- Daraufhin wird das &amp;quot;OnCharacterDidDie&amp;quot; Ereginis als finaler Effekt versandt&lt;br /&gt;&lt;br /&gt;Damit muss das Model, der K&amp;auml;mpfer, wissen, dass er sterben wird, aber nicht, dass er gestorben ist. Sein Gestorbensein h&amp;auml;ngt von Animationen ab. Das ist schr&amp;auml;g.</description>
			<pubDate>Tue, 30 Apr 2019 14:12:54 +0200</pubDate>
		</item>

		<item>
			<title>Game Scene Transitions &amp; Fight effects</title>
			<link>https://www.blitzforum.de/worklogs/566/#3949</link>
			<guid>https://www.blitzforum.de/worklogs/566/#3949</guid>
			<author>DivineDominion</author>
			<description>Alles als &lt;b&gt;Video: &lt;a href=&quot;https://imgur.com/cHJplFN&quot; target=&quot;_blank&quot;&gt;https://imgur.com/cHJplFN&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Die Aufteilung in Szenen funktioniert gut, und das Projekt l&amp;auml;sst sich leicht in Szenen als einzelne Module organisieren. Hier sind die aktuellen.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[size=large]1. Party Picker[/size]&lt;br /&gt;&lt;br /&gt;W&amp;auml;hle K&amp;auml;mpfer aus deiner Armee f&amp;uuml;r den n&amp;auml;chsten Kampf aus.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;https://i.imgur.com/pLn4mWx.png&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[size=large]2. Party Placement[/size]&lt;br /&gt;&lt;br /&gt;Stelle die Charaktere auf der Karte/dem Schlachtfeld auf.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;https://i.imgur.com/v5Qkz0R.png&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[size=large]3. Kampf[/size]&lt;br /&gt;&lt;br /&gt;Der Spieler w&amp;auml;hlt einen Charakter aus, eine Aktion aus dem Aktionsmen&amp;uuml;, und ein Ziel. Hier sieht man, wie &amp;quot;Foo&amp;quot; Schaden nimmt.&lt;br /&gt;&lt;br /&gt;Die Schadensmechanik und das Ausscheiden aus dem Kampf werden schon mitgeteilt, aber Sterben hat noch keine Konsequenz.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;https://i.imgur.com/nvJgAJk.png&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
			<pubDate>Tue, 30 Apr 2019 09:58:18 +0200</pubDate>
		</item>

		<item>
			<title>Programmieren besteht auf Organisation und Boilerplate</title>
			<link>https://www.blitzforum.de/worklogs/566/#3948</link>
			<guid>https://www.blitzforum.de/worklogs/566/#3948</guid>
			<author>DivineDominion</author>
			<description>Einer der wichtigsten Skills, den ich in den letzten 10 Jahren als Programmierer entwickelt habe, ist wahrscheinlich, dass ich boilerplate code aushalten kann.&lt;br /&gt;&lt;br /&gt;Wenn ich mich an meine Versuche erinnere, 2001 am QuickRPG zu arbeiten, dann erinnere ich mich an viele Probleme mit der Organisation des Code. Die gro&amp;szlig;e Main Loop habe ich in Subroutinen aufgeteilt, aber die Tastatureingabe hat direkt die Charakterkoordinaten ver&amp;auml;ndert, und auch die Kamera bewegt. Selbst Map-Wechsel, Animationen und Skripte haben dabei funktioniert. Aber das lie&amp;szlig; sich nicht gut erweitern.&lt;br /&gt;&lt;br /&gt;18 Jahre sp&amp;auml;ter und ich kann Prinzipien von OOP und functional programming verwenden, um ein Dutzend Objekte und Funktionen zu schreiben, die selbst augenscheinlich &amp;uuml;berhaupt nichts tun.&lt;br /&gt;&lt;br /&gt;Der einzige Zweck dieser Teile: den Code leichter verst&amp;auml;ndlich machen. Kleine Einheiten zu schaffen, die ich verstehen kann.&lt;br /&gt;&lt;br /&gt;Ich habe jetzt noch immer kein spielbares Spiel, aber schon 70 (!!!!) .bmx Dateien, jede mit einem Typ oder einer handvoll Interfaces. QuickRPG bestand aus insgesamt weniger als 10 Dateien.</description>
			<pubDate>Tue, 30 Apr 2019 09:52:06 +0200</pubDate>
		</item>

		<item>
			<title>Action Systems</title>
			<link>https://www.blitzforum.de/worklogs/566/#3947</link>
			<guid>https://www.blitzforum.de/worklogs/566/#3947</guid>
			<author>DivineDominion</author>
			<description>Video mit einer &amp;Uuml;bersicht:&lt;br /&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=NtUNI59UzMU&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/watch?v=NtUNI59UzMU&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Meine Notizen (kriege kein vern&amp;uuml;nftiges Listenformat hin, darum Code, sorry)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Code: &lt;/b&gt;&lt;span style=&quot;font-size:0.8em; display:inline;&quot; id=&quot;showcodebox0&quot;&gt; &lt;a href=&quot;javascript&amp;#058;show_code('0')&quot;&gt;[AUSKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;font-size:0.8em; display:none;&quot; id=&quot;hidecodebox0&quot;&gt; &lt;a href=&quot;javascript&amp;#058;hide_code('0')&quot;&gt;[EINKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;div id=&quot;codebox0&quot; class=&quot;codebox&quot; style=&quot;max-height: 200px;&quot; onload=&quot;check_code('0');&quot;&gt;Terms&amp;#58;&lt;br /&gt;&lt;br /&gt;- First/Second Turn Advantage&amp;#58; one player is only reactive and the other has the advantage&lt;br /&gt;- &amp;quot;Swing&amp;quot; Advantage&amp;#58; the game swings in one faction's favor and you have to do something about it to even out the odds&lt;br /&gt;- Action Economy&amp;#58; actions per turn&lt;br /&gt;- Resource Economy&amp;#58; items, ammo, equipment&lt;br /&gt;&lt;br /&gt;Action Systems&amp;#58;&lt;br /&gt;&lt;br /&gt;- Alternating Action System&amp;#58; each player controls one character per turns only&lt;br /&gt;&amp;nbsp; &amp;nbsp; - hard to take back the &amp;quot;Swing&amp;quot;&lt;br /&gt;- Multi-Alternating Action System&amp;#58; each player issues commands for multiple characters at once&lt;br /&gt;&amp;nbsp; &amp;nbsp; - complex tactics are possible&lt;br /&gt;&amp;nbsp; &amp;nbsp; - you can be pummeled to death by a concentrated attack easily&lt;br /&gt;- Simultaneous Initiative Action System&amp;#58; player issue commands en bloc, but it plays out according to the characters's initiative&lt;br /&gt;&amp;nbsp; &amp;nbsp; - balances out swing and first-turn-advantages via character traits&lt;br /&gt;&amp;nbsp; &amp;nbsp; - possible on computers; the ones above could be done on boards&lt;br /&gt;- Independent Initiative Action System&amp;#58; action speed determines when a character is next&lt;br /&gt;&amp;nbsp; &amp;nbsp; - affects action economy directly&lt;br /&gt;&amp;nbsp; &amp;nbsp; - what is a &amp;quot;turn&amp;quot;?&lt;br /&gt;&lt;br /&gt;Final Fantasy Tactics&amp;#58;&lt;br /&gt;&lt;br /&gt;- Clock Tick&amp;#58; action point charges&lt;br /&gt;&amp;nbsp; &amp;nbsp; - each loop increment the character's `CT` value by his speed&lt;br /&gt;&amp;nbsp; &amp;nbsp; - when `CT &amp;gt;= 100`, the character can do an action that costs `CT` &amp;#40;40 or 60 per action&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp; - some actions have a speed value which means they not only cost `CT` but also take in-game time/ticks&lt;br /&gt;- transparent action economy&lt;/div&gt;</description>
			<pubDate>Wed, 24 Apr 2019 16:07:22 +0200</pubDate>
		</item>

		<item>
			<title>TMap</title>
			<link>https://www.blitzforum.de/worklogs/566/#3863</link>
			<guid>https://www.blitzforum.de/worklogs/566/#3863</guid>
			<author>DivineDominion</author>
			<description>&lt;i&gt;Today I Learned&lt;/i&gt;, dass die &amp;quot;Compare&amp;quot; Methode daf&amp;uuml;r verantwortlich ist, festzustellen, ob ein Key in einer TMap scchon vorhanden ist oder nicht.&lt;br /&gt;&lt;br /&gt;F&amp;uuml;r eine 2D-Position, die ich als Key nutze, um Figuren zu platzieren, habe ich jetzt also folgendes eingebaut:&lt;br /&gt;&lt;br /&gt;[syntax=&amp;quot;bmax&amp;quot;]Type CTTokenPosition&lt;br /&gt;    Field column%, row%&lt;br /&gt;&lt;br /&gt;    Method New(column%, row%)&lt;br /&gt;        Assert column &amp;gt;= 0 Else &amp;quot;column negative&amp;quot;&lt;br /&gt;        Assert row &amp;gt;= 0 Else &amp;quot;row negative&amp;quot;&lt;br /&gt;        Self.column = column&lt;br /&gt;        Self.row = row&lt;br /&gt;    End Method&lt;br /&gt;&lt;br /&gt;    Method Compare:Int(other:Object)&lt;br /&gt;        Local otherPosition:CTTokenPosition = CTTokenPosition(other)&lt;br /&gt;        If Not otherPosition Then Return Super.Compare(other)&lt;br /&gt;&lt;br /&gt;        If Self.column &amp;lt; otherPosition.column&lt;br /&gt;            Return -1&lt;br /&gt;        Else If Self.column &amp;gt; otherPosition.column&lt;br /&gt;            Return 1&lt;br /&gt;        Else ' ==&lt;br /&gt;            If Self.row = otherPosition.row Then Return 0&lt;br /&gt;            If Self.row &amp;lt; otherPosition.row Then Return -1&lt;br /&gt;            If Self.row &amp;gt; otherPosition.row Then Return 1&lt;br /&gt;        End If&lt;br /&gt;    End Method&lt;br /&gt;&lt;br /&gt;    Method IsEqual:Int(other:CTTokenPosition)&lt;br /&gt;        Return (Compare(other) = 0)&lt;br /&gt;    End Method&lt;br /&gt;End Type&lt;br /&gt;[/syntax]&lt;br /&gt;&lt;br /&gt;Damit werden Positionen zuerst nach ihrer X-Komponente (Spalte) sortiert, dann nach Y (Reihe).</description>
			<pubDate>Sun, 14 Apr 2019 11:35:14 +0200</pubDate>
		</item>

		<item>
			<title>Cactus Party Picker</title>
			<link>https://www.blitzforum.de/worklogs/566/#3862</link>
			<guid>https://www.blitzforum.de/worklogs/566/#3862</guid>
			<author>DivineDominion</author>
			<description>N&amp;auml;chster gro&amp;szlig;er Meilenstein: Game Scenes laufen. Damit wechseln sich verschiedene, in sich abgeschlossene Szenen oder Bildschirme ab. &lt;br /&gt;&lt;br /&gt;Beispiel Asteroids-Clone: Hauptmen&amp;uuml;, Credits, Scores, und eigentliches Spiel.&lt;br /&gt;&lt;br /&gt;In meinem Fall: man sucht sich aus der Kaktusarmee eine Kampftruppe aus, und die wird dann auf dem Schlachtfeld angezeigt.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;https://i.imgur.com/G4lOV1c.gif&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Gr&amp;ouml;&amp;szlig;te Schwierigkeit hierbei war, neben der BCC Bugs, das Interface f&amp;uuml;r den &amp;quot;Party Picker&amp;quot;. Aufbauend auf den Dingen, die ich bisher implementiert hatte, sind die zwei Spalten im Party Picker unabh&amp;auml;ngige Men&amp;uuml;s. Wenn man im linken Men&amp;uuml; etwas ausw&amp;auml;hlt, wird es ins rechte eingef&amp;uuml;gt, und umgedreht. &lt;br /&gt;&lt;br /&gt;Der Aufbau davon ist folgenderma&amp;szlig;en:&lt;br /&gt;&lt;br /&gt;- SplitListView enth&amp;auml;lt zwei Menu Objekte&lt;br /&gt;- aktiviert man die SplitListView, aktiviert diese eines der Men&amp;uuml;s, das dann Tastendruck verarbeitet&lt;br /&gt;- Die beiden Men&amp;uuml;s schlucken Tasten-Events nicht, sondern geben sie an die SplitListView weiter&lt;br /&gt;- SplitListView reagiert nur auf horizontale Bewegung und aktiviert das je passende Men&amp;uuml; (links oder rechts)&lt;br /&gt;&lt;br /&gt;Indem ich jeweils ein Men&amp;uuml; aktiviere und eins deaktiviere, kann ich mit einer SplitListView zwei Men&amp;uuml;s unmabh&amp;auml;ngig voneinander kontrollieren. &lt;br /&gt;&lt;b&gt;Source Code: &lt;a href=&quot;https://github.com/DivineDominion/CactiVSLlamasBmax/blob/2e21c30854fa9f9a3e210081d528a10f9278c8ed/src/View/CTSplitListView.bmx#L74&quot; target=&quot;_blank&quot;&gt;https://github.com/DivineDomin...ew.bmx#L74&lt;/a&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Die SplitListView registriert sich als Callback (delegate) f&amp;uuml;r die Men&amp;uuml;s. Wenn man in einem Men&amp;uuml; etwas w&amp;auml;hlt, gibt die SplitListView das ihrem eigenen Callback weiter: was wurde gew&amp;auml;hlt, und auf welcher Seite. &lt;br /&gt;Source Code: &lt;a href=&quot;https://github.com/DivineDominion/CactiVSLlamasBmax/blob/2e21c30854fa9f9a3e210081d528a10f9278c8ed/src/View/CTSplitListView.bmx#L141&quot; target=&quot;_blank&quot;&gt;https://github.com/DivineDomin...w.bmx#L141&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Der Callback, der die Auswahl eigentlich erst verarbeitet, ist ein anderes Objekt. In diesem Falle eine PartyPickerView. Diese besteht aus der geteilten Liste, dem zentrierten Label mit dem Status, wieviele Charaktere ausgew&amp;auml;hlt wurden, und den Bestuatigungskn&amp;ouml;pfen ganz unten. Im Grunde malt sie blo&amp;szlig; alles an den richtigen Platz und leitet Events ihrer Subviews weiter an ihren eigenen Callback. &lt;br /&gt;&lt;br /&gt;So k&amp;uuml;mmert sich jedes GUI Element um seine Sachen und informiert sein Parent-Element bei Bedarf.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Code: &lt;/b&gt;&lt;span style=&quot;font-size:0.8em; display:inline;&quot; id=&quot;showcodebox1&quot;&gt; &lt;a href=&quot;javascript&amp;#058;show_code('1')&quot;&gt;[AUSKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;font-size:0.8em; display:none;&quot; id=&quot;hidecodebox1&quot;&gt; &lt;a href=&quot;javascript&amp;#058;hide_code('1')&quot;&gt;[EINKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;div id=&quot;codebox1&quot; class=&quot;codebox&quot; style=&quot;max-height: 200px;&quot; onload=&quot;check_code('1');&quot;&gt;&lt;br /&gt;+----------------+&amp;nbsp; &amp;nbsp; &amp;nbsp;show&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+---------------------+&lt;br /&gt;|&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; +-------------------&amp;gt;+&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+------------------------+&lt;br /&gt;|&amp;nbsp; CTPickParty&amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; &amp;nbsp;CTPartyPickerView |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;|&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; +&amp;lt;-------------------+&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+--+&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;br /&gt;+----------------+&amp;nbsp; &amp;nbsp; didSelectParty&amp;nbsp; +-----+---------------+&amp;nbsp; |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| proceed/cancel&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lists |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;status |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; +---------------v--+&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+---v-v-------+&amp;nbsp; &amp;nbsp; &amp;nbsp;+-------v----------+&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; CTSplitListView |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp;CTLabel&amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; CTDialog&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; +--+------------+--+&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+-------------+&amp;nbsp; &amp;nbsp; &amp;nbsp;+-------+----------+&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; left |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |right&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| is a horizontal menu&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; +----------v-+&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+--v--------+&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+-------v----------+&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; CTMenu&amp;nbsp; &amp;nbsp; |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| CTMenu&amp;nbsp; &amp;nbsp; |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp;CTMenu&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; +------------+&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+-----------+&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+------------------+&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Die horizontalen Buttons ganz unten sind auch ein Menu Objekt, nur horizontal gemalt.&lt;br /&gt;&lt;br /&gt;Das use case/Service Objekt, das die Views erst erstellt und das eigentlich interessante Event abbekommt, ist PickParty und der Code ist hier:&lt;br /&gt;&lt;a href=&quot;https://github.com/DivineDominion/CactiVSLlamasBmax/blob/1f2789b/src/Army/CTPickParty.bmx&quot; target=&quot;_blank&quot;&gt;https://github.com/DivineDomin...kParty.bmx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Dieses Objekt informiert die PickPartyGameScene &amp;uuml;ber die Auswahl, und diese Szene wechselt zum Kampf. Dann geht's los.</description>
			<pubDate>Thu, 11 Apr 2019 00:37:19 +0200</pubDate>
		</item>


	</channel>
</rss>
