Mensch ärgere dich nicht als Browsergame in JS – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self Mensch ärgere dich nicht als Browsergame in JS Tue, 01 Mar 11 14:06:16 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497140#m1497140 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497140#m1497140 <p>Liebe Mitlesende,</p> <p>nach meinen Tests müsste das Spiel eigentlich(!) zufriedenstellend laufen, aber da ich nicht alle aktuellen Browser testen kann, bitte ich um fleißiges Ausprobieren: <a href="http://felix-riesterer.de/self/maedn/" rel="nofollow noopener noreferrer">"Mensch ärgere dich nicht!" online spielen</a></p> <p>Sehr gern gesehen ist auch Feedback bezüglich des User Interfaces. Wenn jemand ganz andere (Verbesserungs)Vorschläge hat, so bin ich daran selbstverständlich ebenso interessiert.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Tue, 01 Mar 11 14:34:58 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497230#m1497230 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497230#m1497230 <p>[latex]Mae  govannen![/latex]</p> <blockquote> <p>nach meinen Tests müsste das Spiel eigentlich(!) zufriedenstellend laufen, aber da ich nicht alle aktuellen Browser testen kann, bitte ich um fleißiges Ausprobieren: <a href="http://felix-riesterer.de/self/maedn/" rel="nofollow noopener noreferrer">"Mensch ärgere dich nicht!" online spielen</a></p> <p>Sehr gern gesehen ist auch Feedback bezüglich des User Interfaces. Wenn jemand ganz andere (Verbesserungs)Vorschläge hat, so bin ich daran selbstverständlich ebenso interessiert.</p> </blockquote> <p>Im Opera 10.63 und 11 sieht die Spieler-Auswahl so aus: <a href="http://knrs.de/misc/2011-02/maedn.jpg" rel="nofollow noopener noreferrer">http://knrs.de/misc/2011-02/maedn.jpg</a>, weil ich eine Mindest-Schriftgröße von 12 eingestellt habe. Die "Orginalschriftgröße" (mit der es wie gewünscht dargestellt wird) ist für mich jedenfalls kaum zu entziffern</p> <p>Stur lächeln und winken, Männer!<br> Kai</p> <div class="signature">-- <br> Dank Hixies Idiotenbande geschieht grade eben wieder ein Umdenken<br> in Richtung "Mess up the Web".(<a href="https://forum.selfhtml.org/?t=197497&m=1324775" rel="noopener noreferrer">suit</a>)<br> <a href="http://selfhtml.knrs.de/#h_stylesheet" rel="nofollow noopener noreferrer">SelfHTML-Forum-Stylesheet</a> </div> Mensch ärgere dich nicht als Browsergame in JS Tue, 01 Mar 11 14:45:16 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497223#m1497223 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497223#m1497223 <blockquote> <p>Sehr gern gesehen ist auch Feedback bezüglich des User Interfaces. Wenn jemand ganz andere (Verbesserungs)Vorschläge hat, so bin ich daran selbstverständlich ebenso interessiert.</p> </blockquote> <p>Mehr Geschwindigkeit - das Ding ist zu langsam :) besonders wenn man 4 Computergegner gegeneinander spielen lasst.</p> <p>Übrigens: wo ist der Schummel-Knopf? Bei Mensch ärgere dich nicht ist das Grundvoraussetzung - wie bei Monopoly :p</p> <p>Das JPG-Hintergrundbild (welches in PNG konvertiert wurde) ist ziemlich bescheiden :) da kannst du gleich JPG verwenden. 200 kb für eine so eine Grafik ist jedenfalls nicht grade wenig.</p> <p>Du kannst hier ggf. mit einem Sprite sparen (9 Kreise) - die einzelnen positionen der Felder müssten dir ohnehin bekannt sein. Den hintergrund mit dem radialen Verlauf kannst du per <a href="http://www.webdesignerwall.com/tutorials/cross-browser-css-gradient/" rel="nofollow noopener noreferrer">Gradient</a> machen.</p> <p>Besonders für unterwegs ist sowas ggf. recht spaßig - auf dem Mobiltelefon - da ist aber jedes KB viel wert wenn man davon ausgeht, dass manche Anbieter je MB[!] 25 Cent und teilweise bis zu 1 Euro wollen und nur ein paar MB im Grundumfang mitliefern.</p> Mensch ärgere dich nicht als Browsergame in JS Tue, 01 Mar 11 15:02:01 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497219#m1497219 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497219#m1497219 <p>@@Felix Riesterer:</p> <p>nuqneH</p> <p>Ein Spieler stellt eine Figur auch dann auf das Startfeld eines anderen, wenn er auch eine andere Figur ziehen könnte. Oder lässt eine Figur auf dem Startfeld eines anderen stehen und zieht stattdessen eine andere Figur, auch wenn der andere keine Figur draußen hat und dreimal würfeln darf.</p> <p>Verwenden alle Spieler einen leicht unterschiedlichen Algorithmus und dieser Spieler ist besonders dumm? Oder sind alle gleich dumm? Dann solltest du vielleicht nochmal am Algorithmus feilen.</p> <p>Qapla'</p> <div class="signature">-- <br> Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.<br> (Mark Twain) </div> Mensch ärgere dich nicht als Browsergame in JS Tue, 01 Mar 11 15:09:38 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497213#m1497213 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497213#m1497213 <p>Zwei Sachen fallen mir auf: mir war nicht bekannt, dass man nicht auch nicht schlagen darf, wenn einem danach ist; des weiteren wundere ich mich, dass Du die Chance für drag-n-drop nicht genutzt hast, welches für die Bedienung eigentlich naheliegend gewesen wäre.</p> <p>Gruß, LX</p> <div class="signature">-- <br> RFC 2324, Satz 7 (Sicherheit): Jeder, der zwischen meinem Kaffee und mir steht, gilt als unsicher. </div> Mensch ärgere dich nicht als Browsergame in JS Tue, 01 Mar 11 15:31:23 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497204#m1497204 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497204#m1497204 <p>Hallo,</p> <blockquote> <p>nach meinen Tests müsste das Spiel eigentlich(!) zufriedenstellend laufen, aber da ich nicht alle aktuellen Browser testen kann, bitte ich um fleißiges Ausprobieren: <a href="http://felix-riesterer.de/self/maedn/" rel="nofollow noopener noreferrer">"Mensch ärgere dich nicht!" online spielen</a></p> </blockquote> <p>nett gemacht. :-)</p> <p>Der Spielstart hat mich etwas irritiert: Ich habe verzweifelt versucht, meine Figuren zu bewegen - ich kenne das nämlich so, dass die erste Figur jedes Spielers loslaufen darf, als ob sie schon auf dem Startfeld steht (also ohne dass man erst eine Sechs würfeln muss).<br> Sehr befremdlich finde ich auch den starren sequentiellen Ablauf: Wenn ich eine Sechs werfe, dann würfle ich normalerweise erst ein zweites Mal (und ggf. sogar ein drittes Mal), und überlege dann erst, wie ich mit welchen Figuren ziehe, sofern ich mehrere Möglichkeiten habe.</p> <p>So long,<br>  Martin</p> <div class="signature">-- <br> They say hard work never killed anyone, but I figure, why take the risk?<br>   (Ronald Reagan, US-Präsident 1981-1989)<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> Mensch ärgere dich nicht als Browsergame in JS Tue, 01 Mar 11 16:52:23 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497201#m1497201 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497201#m1497201 <p>Hallo Felix,</p> <p>sehr schön!</p> <p>Allerdings ist mir mindestens ein Fehler bzgl. der Spielregeln aufgefallen: Ich stand mit der letzten Figur auf dem letzten weißen Feld vor den vier  Zielfeldern und brauchte unbedingt und nichts anderes als eine "Eins", weil die anderen Zielfelder schon besetzt waren. Ich würfelte dann wiederholt eine "Sechs", für die ich zwar selbst keine Verwendung hatte, es wurde mir aber danach auch keine nochmaliger Wurf gewährt, den man normalerweise nach einer "Sechs" ja hat.</p> <p>Einmal meine ich auch beobachtet zu haben, wie ich die letzte Figur aus den vier Startfeldern holte und trotz anderer, strategisch besserer Möglichkeiten mit anderen Figuren zu ziehen, vom Programm gezwungen wurde, die farbige Fußmatte, also das erste Feld nach den vier Startfeldern freizumachen, obwohl dies ja im Falle der letzten Figur, wenn keine anderen Hausgenossen mehr "zu Hause" sind, nach Mensch-ärger-dich-nicht-Regeln gar nicht erforderlich ist.</p> <p>Gruß Gernot</p> Mensch ärgere dich nicht als Browsergame in JS Wed, 02 Mar 11 12:38:27 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497196#m1497196 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497196#m1497196 <p>Hallo,</p> <p>ich habe bei einem vier Computerspieler-Spiel beobachtet, dass der gelbe Spieler, nachdem er in der vorherigen Runde seine erste Figur passgenau ins "Häuschen" navigieren konnte, nur einmal würfeln durfte; er hätte aber dreimal würfeln dürfen müssen können.<br> In der nächsten Rund war dann alles wieder in Ordnung.</p> <p>Grüße</p> Mensch ärgere dich nicht als Browsergame in JS Wed, 02 Mar 11 15:38:41 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497183#m1497183 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497183#m1497183 <p>Hi there,</p> <p>Blödes Spiel, ich verlier' ständig;)</p> <p>Sehr schön gemacht, was ich ändern würde wäre Freiwilligkeit von 'rauswerfen und Einstellbarkeit der Geschwindigkeit, sonst, wie gesagt, sehr schön gemacht...</p> Mensch ärgere dich nicht als Browsergame in JS Thu, 03 Mar 11 10:00:20 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497180#m1497180 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497180#m1497180 <p>Hallo Felix,</p> <blockquote> <p>nach meinen Tests müsste das Spiel eigentlich(!) zufriedenstellend laufen, aber da ich nicht alle aktuellen Browser testen kann, bitte ich um fleißiges Ausprobieren: <a href="http://felix-riesterer.de/self/maedn/" rel="nofollow noopener noreferrer">"Mensch ärgere dich nicht!" online spielen</a></p> </blockquote> <p>Leider kann ich hier das Spiel nicht ausprobieren,. Ich habe einen IE 7 und sehe weder das Feld, noch kann ich ziehen. Der Computer zieht sein Steinchen einmal ohne mein zu tun. Leider kann ich auch kein Bild hochladen um das zu zeigen, dass ginge erst zu Hause.</p> <p>ciao<br> romy</p> <div class="signature">-- <br> <a href="http://www.piratenpartei.de/navigation/politik/unsere-ziele" rel="nofollow noopener noreferrer">Piraten ahoi</a> </div> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 04:54:05 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497167#m1497167 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497167#m1497167 <p>@@Felix Riesterer:</p> <p>nuqneH</p> <p>Mir ist das Spiel abgestürzt, als ein Spieler mit der letzten Figur ein Feld vorm Ziel stand. Er hat keine Eins gewürfelt, sondern eine Sechs, dann ging’s nicht mehr weiter.</p> <p>Qapla'</p> <p>PS: Ich hatte keine Fehlerkonsole an.</p> <div class="signature">-- <br> Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.<br> (Mark Twain) </div> Schneller? Schneller! Sat, 05 Mar 11 00:35:51 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497165#m1497165 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497165#m1497165 <p>Jetzt kann man live die Animationsgeschwindigkeit ändern.</p> <p>Die Sache mit dem Abstürzen bei ungenutzten 6en ist hoffentlich behoben.</p> <p>IE>6 scheint keine Anzeigeprobleme mehr zu haben.</p> <p>Keine Ahnung wann ich mich an die Änderungen hinsichtlich Schlagzwang und In-den-Zielfeldern-vorrücken mache... aber da werde ich noch nachbessern.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Sat, 05 Mar 11 18:09:51 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497157#m1497157 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497157#m1497157 <p>Hallo Felix,</p> <blockquote> <p>Sehr gern gesehen ist auch Feedback bezüglich des User Interfaces. Wenn jemand ganz andere (Verbesserungs)Vorschläge hat, so bin ich daran selbstverständlich ebenso interessiert.</p> </blockquote> <p>Da hätte ich schon einige Vorschläge zum Design des ganzen Programms, nicht zum Look & Feel der Oberfläche. Letzere finde ich ganz gut gelungen: Man ist unweigerlich an das Original erinnert, das auch so bunt und relativ schlicht daherkommt.</p> <p>Die Spielfiguren sind einfach süß. Jetzt, wo ich auch mal die Gewinner sehen konnte, gefallen sie mir noch besser. Etwas fällt mir noch dazu ein: Wenn Schlagzwang besteht und es nur eine Möglichkeit zum Ziehen gibt, dann kann die zu schlagende Figur bereits sofort nach dem Würfeln wissen, dass sie jetzt fällig ist. Sie könnte sich also schon ängstlich zeigen, bevor man die schlagende Figur zum Ziehen anklickt. So wie es jetzt ist, kann man nämlich die ängstlichen Gesichter immer nur ganz kurz genießen ;), während die schlagende Figur sich fortbewegt.</p> <p>Aber den Code und das ganze Konzept, naja... die würde ich anders gestalten:</p> <p>Für das Spielfeld mit den Waypoints z.B. könnte man hervorragend mit Object.create (JavaScript 1.8.5) bzw. der Crockfordschen Urversion davon arbeiten. Ich würde jeder Figur ein eigenes Parcours-Array mitgeben, die alle einfach vom Basisobjekt erben und zum Ziehen und Einstellen des Startpunkte nur die einzelnen Parcours-Arrays rotieren mit meiner genialen Array.rotate-Funktion, die ich im Forum schon mal vorgestellt habe, aber fast nur Spott erntete, ihr Ignoranten :P ;).</p> <p>Diese Parcours-Arrays wären ja eigentlich leer; es reicht, wenn sie den Basisparcours als Prototyp haben. Die aktuelle Position eines Spielsteins wäre immer Figur.Parcours[0], wobei der das tatsächliche Waypoint-Objekt natürlich nur im Prototyp existiert, was für den Zugriff aber keinen Unterschied macht. Die Startposition als Waypoint für jedes Farbvolk würde man anfangs wie gesagt einfach durch Rotation des neu erzeugten FarbParcours einstellen.</p> <p>Die Infos über die Nachfolger eines Waypoints wären überflüssig. Die Waypoint-Objekte selber könnte man direkt miteinander vergleichen, weil jeder Waypoint nur einmal als Objekt existiert (im Basisparcours) so dass ein Vergleich auf Gleichheit immer das richtige Ergebnis liefert (nur true wenn die Operanden identisch sind).</p> <p>Irgendwie so:</p> <pre><code class="block language-javascript"><span class="token keyword">var</span> parcours <span class="token operator">=</span> <span class="token punctuation">[</span> <span class="token comment">/* Waypoint-Objekte ohne Nachfolger-Info */</span> <span class="token punctuation">]</span><span class="token punctuation">,</span> gelb<span class="token punctuation">.</span>parcours <span class="token operator">=</span> Object<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span>parcours<span class="token punctuation">)</span><span class="token punctuation">,</span> grün<span class="token punctuation">.</span>parcours <span class="token operator">=</span> Object<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span>parcours<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">rotate</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">,</span> rot<span class="token punctuation">.</span>parcours <span class="token operator">=</span> Object<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span>parcours<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">rotate</span><span class="token punctuation">(</span><span class="token number">20</span><span class="token punctuation">)</span><span class="token punctuation">,</span> blau<span class="token punctuation">.</span>parcours <span class="token operator">=</span> Object<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span>parcours<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">rotate</span><span class="token punctuation">(</span><span class="token number">30</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>Man könnte natürlich eleganter in einer Schleife über die vier Member eines Farbvölker-Objekts iterieren. Die StartObjekte liegen danach jeweis in volk.parcours[0] griffbereit.</p> <p>Für die einzenen Spielsteine einer Farbe in einer Schleife i=0..3 den individuellen Weg initialisieren:</p> <p><code class="language-javascript"> grün<span class="token punctuation">.</span>Figur<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">.</span>weg <span class="token operator">=</span> Object<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span>grün<span class="token punctuation">.</span>parcours<span class="token punctuation">)</span><span class="token punctuation">;</span></code></p> <p>Zum Ziehen einer Figur und Position vergleichen etwas wie</p> <pre><code class="block language-javascript"> volk<span class="token punctuation">.</span>figur<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">.</span>weg<span class="token punctuation">.</span><span class="token function">rotate</span><span class="token punctuation">(</span>wurf<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>volk<span class="token punctuation">.</span>figur<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">.</span>weg<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token operator">===</span> volk<span class="token punctuation">.</span>parcours<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token punctuation">{</span><span class="token comment">/* Figur i steht auf Startposition */</span><span class="token punctuation">}</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>volk<span class="token punctuation">.</span>figur<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">.</span>weg<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">===</span> volk<span class="token punctuation">.</span>parcours<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token punctuation">{</span><span class="token comment">/* Figur i steht vor dem Zieleinlauf */</span><span class="token punctuation">}</span> <span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token function">isbesetzt</span><span class="token punctuation">(</span>volk<span class="token punctuation">.</span>figur<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">.</span>weg<span class="token punctuation">[</span>wurf<span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span><span class="token comment">/* Figur i kann schlagen */</span><span class="token punctuation">}</span> </code></pre> <p>usw.<br> JSLint würde vielleicht wieder sagen "Weird program.", aber was soll's...</p> <p>Gruß, Don P</p> Mensch ärgere dich nicht als Browsergame in JS Sat, 05 Mar 11 18:37:37 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497156#m1497156 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497156#m1497156 <p>Hi.</p> <p>Nur ganz kurz: Das macht Laune, mal so zwischendurch. Vielen Dank dafür!</p> <p>Schönen Sonntag noch!<br> O'Brien</p> <div class="signature">-- <br> Frank und Buster: "Heya, wir sind hier um zu helfen!" </div> Schlagzwang optional + neue Hierarchie der möglichen Spielsteine Mon, 07 Mar 11 06:33:04 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497145#m1497145 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497145#m1497145 <p>Hoffentlich habe ich jetzt alle Vorschläge des Forums im Wesentlichen umgesetzt (bis auf Gunnars Wunsch nach besserer KI)...</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Safari unter iPhone macht mit Tue, 08 Mar 11 18:26:04 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497144#m1497144 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497144#m1497144 <p>Gestern abend konnte ich es testen: Auf dem iPhone mit Safari war das Spiel vollumfänglich nutzbar!</p> <p>Die Darstellung war schon verteufelt winzig. Ohne großes Zoomen kam man nicht vernünftig an die Einstellungen heran. Aber das Bedienen des Würfels und der Figuren ging dann ohne Zoom doch recht leidlich. Wer große Finger hat, der könnte dann doch den Zoom zuschalten müssen...</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Spielregeln ergänzt - Kritik? Sat, 12 Mar 11 06:05:32 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497142#m1497142 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497142#m1497142 <p>Liebe Mitlesende,</p> <p>ein wichtiger Kritikpunkt war die fehlende Erläuterung zu der Spielvariante "Crazy India". Die "Classic"-Variante ist hinreichend bekannt, um sich sofort im Spiel zurecht zu finden, das gilt aber nicht automatisch für die "Crazy India"-Variante. Nun kann man sich die Spielregeln anzeigen lassen und sollte mit beiden Spielvarianten zurecht kommen.</p> <p>Sind die Regeln verständlich geschrieben? Entstehen irgendwo Missverständnisse? Oder findet wer offensichtliche Fehler?</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> MÄDN: Spielregeln, individuelle Details Sun, 20 Mar 11 21:40:44 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497141#m1497141 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497141#m1497141 <p>Hallo Felix,</p> <blockquote> <p>nach meinen Tests müsste das Spiel eigentlich(!) zufriedenstellend laufen, aber da ich nicht alle aktuellen Browser testen kann, bitte ich um fleißiges Ausprobieren: <a href="http://felix-riesterer.de/self/maedn/" rel="nofollow noopener noreferrer">"Mensch ärgere dich nicht!" online spielen</a></p> </blockquote> <p>ich war heute nachmittag bei meinen Eltern zu Besuch, und wir haben tatsächlich mal wieder eine Runde Mensch ärgere dich nicht gespielt. Meine Eltern haben eine Schmidt-Originalausgabe aus den späten 60er Jahren; man sieht dem ganzen Set das Alter schon an: Der Pappdeckel des Spielfelds hat schon etwas abgestoßene Ecken und Kratzer, die bunten Holzfiguren sind schon ziemlich abgegriffen, und auch die Anleitung, ein einmal gefaltetes Blatt, ist schon mit Vorsicht zu handhaben.</p> <p>Ich habe die Chance genutzt, die Details nachzulesen, zu denen hier im Thread schon unterschiedliche Ansichten geäußert wurden.</p> <p>Schlagzwang: Davon steht in der Spielanleitung nichts. Es ist immer nur die Rede davon, dass eine gegnerische Figur geschlagen werden *darf*.</p> <p>Spielbeginn: Die von mir beschriebene Variante, dass die erste Figur schon auf dem Startfeld "A" steht und sofort starten darf, ohne dass man dafür eine 6 würfeln muss, ist offiziell.</p> <p>Überspringen: Das Überspringen von Figuren, die bereits mit Lücken dazwischen auf den Zielfeldern a,b,c,d stehen, wird in der Spielanleitung sogar ganz ausdrücklich als Beispiel beschrieben, ist also zulässig.</p> <p>Ansonsten steht einer individuellen Auslegung oder Definition bestimmter Detailregeln ja nichts im Weg, man sollte sich nur vor Spielbeginn einig sein.</p> <p>So long,<br>  Martin</p> <div class="signature">-- <br> Disziplin: Teppichböden wiederfinden, wenn man sie verlegt hat.<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> Spielregeln ergänzt - Kritik? Sat, 12 Mar 11 10:22:54 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497143#m1497143 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497143#m1497143 <p>Hallo,</p> <blockquote> <p>Oder findet wer offensichtliche Fehler?</p> </blockquote> <p>Hier ein Typo:</p> <blockquote> <p>Jeder Spieler hat vier Spielsteine gleicher Farbe, die er von den Starpositionen [...]</p> </blockquote> <p>Bei Crazy India ist es mir einmal passiert, dass ich mit drei günen Figuren ziehen durfte, aber leider nicht mit der vierten, die auf ein Zielfeld hätte gehen können. Ist das ok? Natürlich wäre ich am liebsten ins Ziel marschiert.</p> <p>Gruß, Don P</p> Schlagzwang optional + neue Hierarchie der möglichen Spielsteine Mon, 07 Mar 11 08:24:45 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497146#m1497146 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497146#m1497146 <p>Hallo Felix,</p> <blockquote> <p>Hoffentlich habe ich jetzt alle Vorschläge des Forums im Wesentlichen umgesetzt (bis auf Gunnars Wunsch nach besserer KI)...</p> </blockquote> <p>den nun optionalen Schlagzwang finde ich gut. Aber irgendwas Wichtiges hast du anscheinend verschlimmbessert. Im Firefox 3.0.x kann man das Spiel nicht einmal mehr starten: Beim Klick auf "Neues Spiel" erscheint eine rote Spielfigur auf dem Mittelfeld, die jubelnd die Arme hochreckt, mich blöde angrinst und um 2..3px auf der Stelle rumzappelt. Aber die Figuren gleiten nicht auf ihre Startplätze. Gestern ging das noch. Der aktuelle 3.6.x hat da übrigens kein Problem.<br> Mein FF 3.0 zeigt auch nicht den Fortschrittsbalken "Grafiken werden geladen" beim Seitenaufruf. Das war aber von Anfang an so, und ist auch eigentlich unwichtig.</p> <p>Auch wenn FF 3.0 nicht mehr ganz aktuell ist - so alt, dass man ihn ignorieren kann, ist er IMHO noch nicht.</p> <p>Ciao,<br>  Martin</p> <div class="signature">-- <br> F: Was sagt der große Keks zum kleinen Keks?<br> A: Du kannst dich jetzt verkrümeln.<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> Schlagzwang optional + neue Hierarchie der möglichen Spielsteine Mon, 07 Mar 11 08:54:26 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497147#m1497147 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497147#m1497147 <p>Lieber Martin,</p> <p>kann es sein, dass der FF3.0 denselben Cache wie der 3.6 benutzt? Und Fehlermeldungen zeigt er auch keine mehr an? Das klingt sehr seltsam.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Schlagzwang optional + neue Hierarchie der möglichen Spielsteine Mon, 07 Mar 11 09:34:46 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497148#m1497148 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497148#m1497148 <p>Hallo,</p> <blockquote> <p>kann es sein, dass der FF3.0 denselben Cache wie der 3.6 benutzt?</p> </blockquote> <p>nein, die beiden erwähnten Firefoxe laufen auf separaten Rechnern (FF3.6 auf Ubuntu, FF3.0 auf Windows).</p> <blockquote> <p>Und Fehlermeldungen zeigt er auch keine mehr an?</p> </blockquote> <p>Was für Fehlermeldungen? Meinst du die Fehlerkonsole? - Sorry, ich hatte völlig verpennt, da mal reinzuschauen. Hier der Nachtrag:</p> <p>Beim Laden der Seite erscheint:</p> <blockquote> <p>Fehler: uncaught exception: [Exception... "Not enough arguments [nsIXMLHttpRequest.send]"  nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)"  location: "JS frame :: http://felix-riesterer.de/self/maedn/maedn.js :: anonymous :: line 575"  data: no]</p> </blockquote> <p>Wenn ich dann das Spiel starte, kommt aber nichts mehr dazu; es passiert einfach nix mehr:</p> <p><img src="http://screenshots.kennst.net/madn-ff30.png" alt="" loading="lazy"></p> <blockquote> <p>Das klingt sehr seltsam.</p> </blockquote> <p>Find' ich auch.</p> <p>So long,<br>  Martin</p> <div class="signature">-- <br> Die meisten Menschen werden früher oder später durch Computer ersetzt.<br> Für manche würde aber auch schon ein einfacher Taschenrechner genügen.<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> Schlagzwang optional + neue Hierarchie der möglichen Spielsteine Mon, 07 Mar 11 10:32:31 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497149#m1497149 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497149#m1497149 <p>Lieber Martin,</p> <blockquote> <blockquote> <p>Fehler: uncaught exception: [Exception... "Not enough arguments [nsIXMLHttpRequest.send]"  nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)"  location: "JS frame :: http://felix-riesterer.de/self/maedn/maedn.js :: anonymous :: line 575"  data: no]</p> </blockquote> </blockquote> <p>aha! Er stört sich an meinem XHR. Den "missbrauche" ich, um an den Textinhalt meiner CSS-Datei zu gelangen (responseText). Dass der CSS-Code kein gültiges XML ist, ist mir schon klar, aber dass dieser Missbrauch zum völligen Anhalten im FF3 führt, verstehe ich nicht - oder ist es mein "leeres" send(), dass ich da aufrufe? Muss in der send-Methode eines XHR-Objektes nicht irgendetwas bezüglich synchron oder asynchron stehen?</p> <blockquote> <blockquote> <p>Das klingt sehr seltsam.</p> </blockquote> <p>Find' ich auch.</p> </blockquote> <p>Vielleicht ist es das aber garnicht? In der <a href="https://developer.mozilla.org/en/xmlhttprequest#send%28%29" rel="nofollow noopener noreferrer">Doku bei Mozilla zum XHR</a> steht etwas zu einem _optionalen_ Argument bei "send()". Ich nutze es nicht (in meinem Klammern steht nix). Bedeutet "optional" nicht "kann man auch lassen"? Hmm... woher also der Fehler?</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Schlagzwang optional + neue Hierarchie der möglichen Spielsteine Mon, 07 Mar 11 10:49:56 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497150#m1497150 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497150#m1497150 <p>Hallo,</p> <blockquote> <blockquote> <blockquote> <p>Fehler: uncaught exception: [Exception... "Not enough arguments [nsIXMLHttpRequest.send]"  nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)"  location: "JS frame :: http://felix-riesterer.de/self/maedn/maedn.js :: anonymous :: line 575"  data: no]<br> aha! Er stört sich an meinem XHR.</p> </blockquote> </blockquote> </blockquote> <p>ja, soviel kann ich auch aus der Fehlermeldung entnehmen. Ich war aber ehrlich gesagt zu faul, mich dann in den Quellcode einzufuchsen.</p> <blockquote> <p>Den "missbrauche" ich, um an den Textinhalt meiner CSS-Datei zu gelangen (responseText).</p> </blockquote> <p>Oh. Wozu das? Das hört sich sehr unorthodox an.</p> <blockquote> <p>Bedeutet "optional" nicht "kann man auch lassen"?</p> </blockquote> <p>So verstehe ich das auch. Wasser ist also optional: Man kann es trinken, und man kann es lassen. ;-)</p> <p>So long,<br>  Martin</p> <div class="signature">-- <br> Wer barfuß geht, dem kann man nicht die Schuld in die Schuhe schieben.<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> Schlagzwang optional + neue Hierarchie der möglichen Spielsteine Mon, 07 Mar 11 14:04:02 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497154#m1497154 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497154#m1497154 <p>Hi.</p> <blockquote> <blockquote> <p>Bedeutet "optional" nicht "kann man auch lassen"?</p> </blockquote> <p>So verstehe ich das auch. Wasser ist also optional: Man kann es trinken, und man kann es lassen. ;-)</p> </blockquote> <p>Oder optional als Stange in die Ecke stellen.</p> <p>Schönen Sonntag noch!<br> O'Brien</p> <div class="signature">-- <br> Frank und Buster: "Heya, wir sind hier um zu helfen!" </div> Schlagzwang optional + neue Hierarchie der möglichen Spielsteine Tue, 08 Mar 11 11:31:47 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497151#m1497151 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497151#m1497151 <p>Lieber Martin,</p> <blockquote> <blockquote> <p>Den [XHR] "missbrauche" ich, um an den Textinhalt meiner CSS-Datei zu gelangen (responseText).</p> </blockquote> <p>Oh. Wozu das? Das hört sich sehr unorthodox an.</p> </blockquote> <p>um die benötigten Grafikdateien vorzuladen hole ich mir alle url(...)-Eigenschaften aus der CSS-Datei. Um nun aber an den CSS-Code als String zu gelangen missbrauche ich den XHR. Da ich die CSS-Datei "nachlade" (also ein <link>-Element dynamisch in das Dokument einfüge) habe ich "zur Laufzeit" keine Informationen über die CSS-Regeln.</p> <p>Man könnte auch das <link>-Element mit einem onload-Handler versehen, der dann das Stylesheet auswertet - aber wie ich dann an den CSS-Code als String gelange, weiß ich noch nicht, denn "data" oder "childNodes" gibt es nicht bzw. ist leer. Vielleicht gibt es da ja eine Möglichkeit außer über <code class="language-javascript">linkElement<span class="token punctuation">.</span>sheet<span class="token punctuation">.</span>cssRules<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">.</span>cssText</code> zu iterieren. Mir ist auch (noch) nicht bekannt, ob die sheet-Eigenschaft eines <link>-Elementes seit IE6 in allen Browsern unterstützt wird.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Schlagzwang optional + neue Hierarchie der möglichen Spielsteine Tue, 08 Mar 11 11:59:55 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497152#m1497152 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497152#m1497152 <p>Hallo Felix,</p> <blockquote> <blockquote> <blockquote> <p>Den [XHR] "missbrauche" ich, um an den Textinhalt meiner CSS-Datei zu gelangen (responseText).<br> Oh. Wozu das? Das hört sich sehr unorthodox an.<br> um die benötigten Grafikdateien vorzuladen ...</p> </blockquote> </blockquote> </blockquote> <p>provokative, aber ernstgemeinte Frage: Wozu das Vorladen?</p> <p>Soweit ich gesehen habe, sind die Grafiken alle relativ klein (wenige kB), so dass sie auch "on demand" ohne nennenswerte Verzögerung zur Verfügung stehen sollten. Ich habe jedenfalls im FF3.0 keine Verzögerungen bemerkt, obwohl der ja anscheinend nichts vorgeladen hat - zumindest diese Meldung und den Fortschrittsbalken dazu hat er nie gezeigt.</p> <p>Und mal ehrlich: Ein Spielablauf, der vom menschlichen Reaktionsvermögen bestimmt wird und bei dem man den Computer-Part gezielt langsam macht, leidet doch nicht darunter, wenn mal eine Sekunde zusätzlich als Pause entsteht, oder?</p> <p>Ciao,<br>  Martin</p> <div class="signature">-- <br> Wenn der Computer wirklich alles kann,<br> dann kann er mich mal kreuzweise.<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> Warum Grafiken vorladen...? Tue, 08 Mar 11 14:56:04 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497153#m1497153 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497153#m1497153 <p>Lieber Martin,</p> <blockquote> <p>provokative, aber ernstgemeinte Frage: Wozu das Vorladen?</p> </blockquote> <p>je nachdem auf welchen Wert man die Animationsgeschwindigkeit gestellt hat, ist es in den ersten Spielminuten für den menschlichen Spieler nicht immer nachvollziehbar, warum das Spiel wie "reagiert". Insbesondere das Nicht-Sehen der benutzbaren Spielfigur(en) wegen der noch nachzuladenden Grafik(en) kann die ansonsten hoffentlich intuitive Benutzerführung sehr verwirren.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Schlagzwang optional + neue Hierarchie der möglichen Spielsteine Mon, 07 Mar 11 14:32:31 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497155#m1497155 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497155#m1497155 <p>Hallo,</p> <blockquote> <blockquote> <p>Wasser ist also optional: Man kann es trinken, und man kann es lassen. ;-)<br> Oder optional als Stange in die Ecke stellen.</p> </blockquote> </blockquote> <p>bah, Scheißkälte!</p> <p>Ciao,<br>  Martin</p> <div class="signature">-- <br> Zwei Mäuse treiben's miteinander. Sagt der Mäuserich: "Hoffentlich ist nicht wieder alles für die Katz."<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> Mensch ärgere dich nicht als Browsergame in JS Mon, 07 Mar 11 06:48:19 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497163#m1497163 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497163#m1497163 <p>Lieber Don P,</p> <p>vielen Dank für Deine konstruktiven Vorschläge... man lernt halt nie aus. ;-)</p> <blockquote> <p><code class="language-javascript">Object<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span>parcours<span class="token punctuation">)</span></code></p> </blockquote> <p>Ist das im Grunde ein Cloning?</p> <blockquote> <p><code class="language-javascript">grün<span class="token punctuation">.</span>parcours <span class="token operator">=</span> Object<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span>parcours<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">rotate</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">)</span></code></p> </blockquote> <p>Bedeutet das "erst clonen, dann rotieren"? Die rotate-Methode ist wohl soetwas wie <code class="language-javascript">array<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span>array<span class="token punctuation">.</span><span class="token function">shift</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span></code>, und bei negativen Werten <code class="language-javascript">array<span class="token punctuation">.</span><span class="token function">unshift</span><span class="token punctuation">(</span>array<span class="token punctuation">.</span><span class="token function">pop</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span></code> - in einer Schleife?</p> <blockquote> <p>Man könnte natürlich eleganter in einer Schleife über die vier Member eines Farbvölker-Objekts iterieren. Die StartObjekte liegen danach jeweis in volk.parcours[0] griffbereit.</p> </blockquote> <p>Ist das performanter? Braucht das nicht mehr Arbeitsspeicher für den Browser? Bei der gegenwärtigen Anwendung ist das alles ja sehr überschaubar (16 Spielsteinobjekte, etwa 70 Waypoint-Objekte), sodass Performanz und RAM-Usage wohl kaum ins Gewicht fallen dürften.</p> <blockquote> <p><code class="language-javascript"> grün<span class="token punctuation">.</span>Figur<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">.</span>weg <span class="token operator">=</span> Object<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span>grün<span class="token punctuation">.</span>parcours<span class="token punctuation">)</span><span class="token punctuation">;</span></code></p> </blockquote> <p>Also bei Variablen mit Sonderzeichen bin ich seeeehr vorsichtig. Daher nenne ich mein zentrales Objekt auch nicht MÄDN, sondern MAEDN.</p> <blockquote> <p>JSLint würde vielleicht wieder sagen "Weird program.", aber was soll's...</p> </blockquote> <p>Hehe, is scho a "weird program", da hat JSLint durchaus recht. *g*</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> "ängstliche" Spielfiguren länger ängstlich sein lassen Tue, 08 Mar 11 15:07:15 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497158#m1497158 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497158#m1497158 <p>Lieber Don P,</p> <blockquote> <p>Wenn Schlagzwang besteht und es nur eine Möglichkeit zum Ziehen gibt, dann kann die zu schlagende Figur bereits sofort nach dem Würfeln wissen, dass sie jetzt fällig ist. Sie könnte sich also schon ängstlich zeigen, bevor man die schlagende Figur zum Ziehen anklickt. So wie es jetzt ist, kann man nämlich die ängstlichen Gesichter immer nur ganz kurz genießen ;), während die schlagende Figur sich fortbewegt.</p> </blockquote> <p>darüber habe ich eine Weile nachgedacht und habe folgendes Konzeptproblem dabei entdeckt. In der "Crazy India"-Spielvariante könnte eine Figur gleichzeitig Opfer und Täter sein. Wenn sie als ängstliches Opfer dargestellt werden soll, dann ist ihre Benutzbarkeit nicht mehr darstellbar (im Moment die "Sonnenfigur").</p> <p>Im Regelfall sollte das Spiel nachvollziehbar gleichermaßen vorgehen. Figuren, die gezogen werden können, sehen wie kleine Sonnen aus. Figuren, die geschlagen werden können, haben Angst. Da beides nicht parallel möglich ist (siehe Konzeptproblem oben) muss eine zu schlagende Figur also erst dann Angst bekommen, wenn sich der Spieler (egal ob menschlich oder vom Computer gespielt) für den dazu notwendigen Zug entschieden _hat_. Warum sollte ich jetzt von dieser Regel abweichen, nur weil es gerade einen einzigen möglichen Zug für den menschlichen Spieler gibt?</p> <p>Ich habe mich für den immer gleichen Regelfall entschieden. Was meinst Du dazu?</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> "ängstliche" Spielfiguren länger ängstlich sein lassen Tue, 08 Mar 11 16:31:43 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497159#m1497159 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497159#m1497159 <p>Hallo,</p> <blockquote> <p>Was meinst Du dazu?</p> </blockquote> <p>Wäre "nice to have" gewesen, aber ich sehe schon, es  würde kompliziert werden. Vielleicht später mal, wenn du ohnehin die KI überarbeiten willst?</p> <p>Es geht auf jeden Fall nur bei einer einzigen Zugmöglichkeit, denn wenn man aussuchen kann, ob man z.B. lieber Figur A schlägt oder Figur B, dann hätte man ja nicht mehr die Möglichkeit etwas wichtiges zu übersehen und der geschlagene Gegner würde sich ärgern. Er könnte argumentieren: "das ist fies... du hättest es sicher gar nicht gesehen, wenn das Programm nicht darauf hingewiesen hätte, das du hier auch meine Figur schlagen kannst." Dass sie ein bisschen aufpassen, darf man von menschlichen Spielern schon erwarten, sonst selber schuld, hehe.</p> <p>Gruß, Don P</p> "ängstliche" Spielfiguren länger ängstlich sein lassen Tue, 08 Mar 11 18:23:00 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497160#m1497160 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497160#m1497160 <p>Lieber Don P,</p> <p>wenn Du Schlagzwang aktiviert hast, dann kannst Du nicht "nicht schlagen", wenn einer Deiner Spielsteine die Möglichkeit dazu hat. Ob das dann noch visuell verstärkt hervorgehoben wird, ist dann keine Argumentationsgrundlage mehr.</p> <p>Wenn Du keinen Schlagzwang aktiviert hast, dann könnte man diese visuelle "Hilfestellung" durchaus ankreiden, zugestanden. Aber wer spielt mein MÄDN schon zu zweit (oder mehr) am Bildschirm und hat echte menschliche Gegner, die sich beschweren könnten?</p> <p>Trotzdem bleibt das konzeptionelle Problem im Falle der Figur, die sowohl Opfer als auch Täter sein kann. Wie sollte sie dargestellt werden?</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> "ängstliche" Spielfiguren länger ängstlich sein lassen Tue, 08 Mar 11 21:13:10 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497161#m1497161 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497161#m1497161 <p>Hallo,</p> <blockquote> <p>wenn Du Schlagzwang aktiviert hast, dann kannst Du nicht "nicht schlagen", wenn einer Deiner Spielsteine die Möglichkeit dazu hat.</p> </blockquote> <p>Das ist klar.</p> <blockquote> <p>Ob das dann noch visuell verstärkt hervorgehoben wird, ist dann keine Argumentationsgrundlage mehr.</p> </blockquote> <p>Doch, darum geht es doch gerade. Wenn nur ein Zug möglich ist, nämlich schlagen, dann kann könnte man auch mal in aller Ruhe die ängstlichen Gesichter sehen. Es spielt doch niemand dein MÄDN, nur damit es gespielt ist und man möglichst gewinnt, sondern nicht zuletzt weil es so nett gestaltet ist mit diesen verschiedenen Smilies.</p> <blockquote> <p>Wenn Du keinen Schlagzwang aktiviert hast, dann könnte man diese visuelle "Hilfestellung" durchaus ankreiden, zugestanden. Aber wer spielt mein MÄDN schon zu zweit (oder mehr) am Bildschirm und hat echte menschliche Gegner, die sich beschweren könnten?</p> </blockquote> <p>Weiß man's? Vielleicht wird das der große Renner und wird bald überall über's Netz gespielt, die Baller- und Rollenspiele weit hinter sich lassend... ;)</p> <blockquote> <p>Trotzdem bleibt das konzeptionelle Problem im Falle der Figur, die sowohl Opfer als auch Täter sein kann. Wie sollte sie dargestellt werden?</p> </blockquote> <p>Eine Mischform wäre doch auch ganz lustig: Ängstliches Gesicht mit Strahlenkranz. Das bedeutet dann soviel wie "schnell vorwärts oder ich muss nach Hause" oder "so gut wie erwischt aber eine kleine Chance hab'ich noch" oder so.</p> <p>Gruß, Don P</p> "ängstliche" Spielfiguren länger ängstlich sein lassen Wed, 09 Mar 11 21:50:53 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497162#m1497162 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497162#m1497162 <p>Hallo,</p> <blockquote> <blockquote> <p>Trotzdem bleibt das konzeptionelle Problem im Falle der Figur, die sowohl Opfer als auch Täter sein kann. Wie sollte sie dargestellt werden?</p> </blockquote> <p>Eine Mischform wäre doch auch ganz lustig [...]</p> </blockquote> <p>Denkfehler: Dann gäbe es ja mehr als eine Zugmöglichkeit, also doch keine Mischform. Alles wie gehabt.</p> <p>Gruß, Don P</p> Mensch ärgere dich nicht als Browsergame in JS Mon, 07 Mar 11 09:32:14 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497164#m1497164 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497164#m1497164 <p>Hallo Felix,</p> <blockquote> <blockquote> <p><code class="language-javascript">Object<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span>parcours<span class="token punctuation">)</span></code></p> </blockquote> <p>Ist das im Grunde ein Cloning?</p> </blockquote> <p>Es liefert ein ein neues Objekt mit dem übergebenen Objekt als prototype. Eine Erfindung von <a href="http://javascript.crockford.com/prototypal.html" rel="nofollow noopener noreferrer">D. Crockford</a>, die jetzt in ECMAScript 5 aufgenommen wurde mit noch etwas zusätzlichem Zucker. Wird noch nicht breit unterstützt (kenne nur FF 4 Beta), inzwischen kann man sich aber mit behelfen mit</p> <pre><code class="block language-javascript">Object_create <span class="token operator">=</span> Object<span class="token punctuation">.</span>create <span class="token operator">||</span> <span class="token keyword">function</span> <span class="token punctuation">(</span><span class="token parameter">o</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">var</span> <span class="token function-variable function">F</span> <span class="token operator">=</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span><span class="token punctuation">}</span><span class="token punctuation">;</span> <span class="token constant">F</span><span class="token punctuation">.</span>prototype <span class="token operator">=</span> o<span class="token punctuation">;</span> <span class="token keyword">return</span> <span class="token keyword">new</span> <span class="token class-name">F</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">;</span> </code></pre> <p>Diese Funktion benutze ich seit langem, um Objekte direkt aus anderen zu erzeugen, ohne dass man immer Konstruktoren mit <code class="language-javascript"><span class="token keyword">new</span></code> aufrufen muss.</p> <blockquote> <blockquote> <p><code class="language-javascript">grün<span class="token punctuation">.</span>parcours <span class="token operator">=</span> Object<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span>parcours<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">rotate</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">)</span></code></p> </blockquote> <p>Bedeutet das "erst clonen, dann rotieren"? Die rotate-Methode ist wohl so etwas wie <code class="language-javascript">array<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span>array<span class="token punctuation">.</span><span class="token function">shift</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span></code>, und bei negativen Werten <code class="language-javascript">array<span class="token punctuation">.</span><span class="token function">unshift</span><span class="token punctuation">(</span>array<span class="token punctuation">.</span><span class="token function">pop</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span></code> - in einer Schleife?</p> </blockquote> <p>So ist es. Diese push-pop sind nicht wirklich performancekritisch. Es müssten schon einige hunderttausende Operationen sein bei so einem Spiel, damit man etwas merkt bei der Performance.</p> <blockquote> <p>Ist das performanter? Braucht das nicht mehr Arbeitsspeicher für den Browser? Bei der gegenwärtigen Anwendung ist das alles ja sehr überschaubar (16 Spielsteinobjekte, etwa 70 Waypoint-Objekte), sodass Performanz und RAM-Usage wohl kaum ins Gewicht fallen dürften.</p> </blockquote> <p>Performanter nicht unbedingt, und ein bisschen mehr Speicher braucht es vielleicht auch. Es gibt halt für jede Spielfigur ein separates Parcours-Array, also mind. 16 Arrays mehr.</p> <p>Es würde aber den Quellcode stark vereinfachen und auch auch die Array-Elemente kleiner halten. Das nächste Element z.B. muss man nicht speichern in einem Array, dafür hat ein Array doch die Indizes.</p> <p>Tatsächlich hätte man auch nach dem "Klonen" jeden Wert nur einmal gespeichert, im prototype jedes Klons, dem eigentlichen Spielbrett. In diesem Ur-Parcours würde man z.B. statt Name und nextPoint lieber eine Eigenschaft "besetzt" einführen, die dann jeweils mit dem Spielstein-Objekt belegt wird, das gerade draufsteht (oder null, wenn keiner draufsteht).</p> <blockquote> <blockquote> <p><code class="language-javascript"> grün<span class="token punctuation">.</span>Figur<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">.</span>weg <span class="token operator">=</span> Object<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span>grün<span class="token punctuation">.</span>parcours<span class="token punctuation">)</span><span class="token punctuation">;</span></code></p> </blockquote> <p>Also bei Variablen mit Sonderzeichen bin ich seeeehr vorsichtig. Daher nenne ich mein zentrales Objekt auch nicht MÄDN, sondern MAEDN.</p> </blockquote> <p>Ja stimmt, das mus nicht sein. Wenn man als UTF-8 speichert und das auch im script-tag angibt, sollte es aber kein Problem geben.</p> <p>Gruß, Don P</p> Schneller? Schneller! Sat, 05 Mar 11 07:58:47 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497166#m1497166 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497166#m1497166 <p>@@Felix Riesterer:</p> <p>nuqneH</p> <p>Schneller? Kann man jetzt eine Sieben würfeln?</p> <p>Qapla'</p> <div class="signature">-- <br> Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.<br> (Mark Twain) </div> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 12:02:28 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497177#m1497177 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497177#m1497177 <p>Lieber Gunnar,</p> <blockquote> <p>Mir ist das Spiel abgestürzt, als ein Spieler mit der letzten Figur ein Feld vorm Ziel stand. Er hat keine Eins gewürfelt, sondern eine Sechs, dann ging’s nicht mehr weiter.</p> </blockquote> <p>hmm... seltsam. Das sind die schönen Bugs, die man so schlecht provozieren kann, um dann die Ursachen zu ergründen.</p> <blockquote> <p>PS: Ich hatte keine Fehlerkonsole an.</p> </blockquote> <p>Ich habe den Quelltext nach "console" durchsucht - da waren keine Kontrollausgaben mehr drinne. Daran kann es also nicht gelegen haben.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 19:32:53 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497176#m1497176 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497176#m1497176 <p>Hi.</p> <blockquote> <p>Mir ist das Spiel abgestürzt, als ein Spieler mit der letzten Figur ein Feld vorm Ziel stand. Er hat keine Eins gewürfelt, sondern eine Sechs, dann ging’s nicht mehr weiter.</p> </blockquote> <blockquote> <p>PS: Ich hatte keine Fehlerkonsole an.</p> </blockquote> <p>Das hätte auch nichts genützt. Eine Spielkonsole dagegen wäre hilfreich gewesen.</p> <p>Schönen Sonntag noch!<br> O'Brien</p> <div class="signature">-- <br> Frank und Buster: "Heya, wir sind hier um zu helfen!" </div> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 21:17:20 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497168#m1497168 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497168#m1497168 <p>Hallo,</p> <blockquote> <p>Mir ist das Spiel abgestürzt, als ein Spieler mit der letzten Figur ein Feld vorm Ziel stand. Er hat keine Eins gewürfelt, sondern eine Sechs, dann ging’s nicht mehr weiter.</p> </blockquote> <p>Bei mir ähnlicher Absturz (Classic). Folgende Situation:</p> <ul> <li>Die letzte grüne Figur braucht eine 5 zum Sieg, würfelte aber 6. Jetzt ist das Spiel eingefroren. Die grüne 6 bleibt auf dem Würfel.<br> – Ich in gelb als einziger menschlicher Spieler mit meiner letzten Figur 4 Felder hinter der grünen, bereit zum Angriff ;)</li> <li>Blau 3 Felder vor dem Sieg</li> <li>Rot mit der zweiten Figur direkt vor dem Eintritt ins Ziel, die anderen beiden roten noch zuhause.</li> <li>Die Figuren aller Farben sind in ihren Zielfeldern vollständig aufgerückt.</li> </ul> <p>Liegt es an der gewüfelten 6?</p> <p>Was mir sonst so auffällt:<br> – Die Silies sind ganz witzig.<br> – Der animierte Würfel passt optisch nicht zum ganzen Rest.<br> – Die Spielregeln sind zu streng (Classic) bzw. völlig rätselhaft (India).<br> – Auf globale Variablen könnte vollständig verzichtet werden<br> – Der Code könnte permformancemäßig optimiert werden</p> <p>Wie werden eigentlich die Spielsteine bewegt? Nicht per JS, oder? Dazu bräuchte man ja kurze <code class="language-javascript">setTimeout</code>s. Habe aber keine im Code gefunden.<br> Sind es denn große GIFs mit jeweils der ganzen Breite bzw. Höhe des Wegs? Mit <code class="language-javascript">setTimeout</code>s könnte es sicher schneller gehen und die GIFs könnten wohl kleiner ausfallen.</p> <p>Gruß, Don P</p> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 21:47:46 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497172#m1497172 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497172#m1497172 <p>Hi,</p> <blockquote> <blockquote> <p>Mir ist das Spiel abgestürzt, als ein Spieler mit der letzten Figur ein Feld vorm Ziel stand. Er hat keine Eins gewürfelt, sondern eine Sechs, dann ging’s nicht mehr weiter.<br> Bei mir ähnlicher Absturz (Classic). Folgende Situation:</p> </blockquote> <ul> <li>Die letzte grüne Figur braucht eine 5 zum Sieg, würfelte aber 6. Jetzt ist das Spiel eingefroren. Die grüne 6 bleibt auf dem Würfel.</li> </ul> </blockquote> <p>kann ich anhand meiner Beobachtungen bestätigen: Eine Sechs, die nicht umgesetzt werden kann, scheint tödlich zu sein. Hier fehlt offenbar eine Abfrage im Script, ob der Zug möglich ist - und wenn nicht, muss man ohne Zug erneut würfeln können.</p> <blockquote> <p>– Der animierte Würfel passt optisch nicht zum ganzen Rest.</p> </blockquote> <p>Stimmt irgendwie.</p> <blockquote> <p>– Die Spielregeln sind zu streng (Classic) bzw. völlig rätselhaft (India).</p> </blockquote> <p>Crazy India kenne ich überhaupt nicht, kann ich daher auch nicht beurteilen.</p> <p>Ciao,<br>  Martin</p> <div class="signature">-- <br> Wer im Steinhaus sitzt, soll nicht mit Gläsern werfen.<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> Mensch ärgere dich nicht als Browsergame in JS Sat, 05 Mar 11 10:26:29 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497169#m1497169 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497169#m1497169 <p>Lieber Don P,</p> <blockquote> <p>Liegt es an der gewüfelten 6?</p> </blockquote> <p>jetzt hoffentlich nicht mehr.</p> <blockquote> <p>– Die Silies sind ganz witzig.</p> </blockquote> <p>*freu*</p> <blockquote> <p>– Der animierte Würfel passt optisch nicht zum ganzen Rest.</p> </blockquote> <p>Ich kann animierte GIFs modifizieren, aber schlecht neue erstellen. Der Würfel ist "geklaut" und modifiziert worden (waren ursprünglich zwei in der Grafik). Wenn ich einen Designer hätte, der mir "mal eben" sowas visuell passend erstellen kann, dann könnte ich diesem Umstand abhelfen.</p> <blockquote> <p>– Die Spielregeln sind zu streng (Classic) bzw. völlig rätselhaft (India).</p> </blockquote> <p>Ja, eine Spielanleitung fehlt (offensichtlich) noch.</p> <blockquote> <p>– Auf globale Variablen könnte vollständig verzichtet werden</p> </blockquote> <p>Ähm... welche meinst Du? Das MAEDN-Objekt? Oder habe ich bei anderen die Initialisierung vergessen?</p> <blockquote> <p>– Der Code könnte permformancemäßig optimiert werden</p> </blockquote> <p>Ist geschehen.</p> <blockquote> <p>Wie werden eigentlich die Spielsteine bewegt? Nicht per JS, oder?</p> </blockquote> <p>Doch, über eine setInterval-Funktion, die ich "heartbeat" nenne, und die schaut, was wo animiert werden soll, um dann dort eine entsprechende "nächster Schritt"-Funktion auszulösen.</p> <blockquote> <p>Dazu bräuchte man ja kurze <code class="language-javascript">setTimeout</code>s. Habe aber keine im Code gefunden.</p> </blockquote> <p>Es geht auch anders. ;-)</p> <blockquote> <p>Sind es denn große GIFs mit jeweils der ganzen Breite bzw. Höhe des Wegs? Mit <code class="language-javascript">setTimeout</code>s könnte es sicher schneller gehen und die GIFs könnten wohl kleiner ausfallen.</p> </blockquote> <p>Interessante Ideen hast Du... ;-P</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Sat, 05 Mar 11 13:43:13 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497170#m1497170 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497170#m1497170 <p>Hallo,</p> <blockquote> <p>Wenn ich einen Designer hätte, der mir "mal eben" sowas visuell passend erstellen kann, dann könnte ich diesem Umstand abhelfen.</p> </blockquote> <p>Das kann ich leider auch nicht, sonst hätte ich's glatt für dich gemacht.</p> <blockquote> <blockquote> <p>– Auf globale Variablen könnte vollständig verzichtet werden</p> </blockquote> <p>Ähm... welche meinst Du? Das MAEDN-Objekt? Oder habe ich bei anderen die Initialisierung vergessen?</p> </blockquote> <p>Ja, das MAEDN-Objekt. Alle anderen sind scheint's deklariert.</p> <p>JSLint findet auch ein paar unbeutzte Variablen, als da sind:</p> <p>mayMove 1027  "plotCourse",<br>   i 1027  "plotCourse",<br>   piece 1087  "move",<br>   steps 1087  "move",<br>   p 1166  "makeMove",<br>   piecesInGoals 1305 "getMovablePieces",<br>   pl 1305  "getMovablePieces"</p> <p>Außerdem werden noch fehlende Klammern {}, Semikolons und viele Vergleiche mit == und != statt === und !== angemeckert ;)</p> <p>Das sind aber wohl harmlose "errors". Mit meinem Code bekomme ich manchmal die tollsten Meldungen von JSLint, wie z.B. "Confusing use of !.". Der Knüller war einmal die einzige Meldung "Weird program." :)</p> <blockquote> <blockquote> <p>Wie werden eigentlich die Spielsteine bewegt? Nicht per JS, oder?</p> </blockquote> <p>Doch, über eine setInterval-Funktion, die ich "heartbeat" nenne, und die schaut, was wo animiert werden soll, um dann dort eine entsprechende "nächster Schritt"-Funktion auszulösen.</p> </blockquote> <p>Ach stimmt, setInterval ist ja dafür prädestiniert.</p> <blockquote> <blockquote> <p>Sind es denn große GIFs mit jeweils der ganzen Breite bzw. Höhe des Wegs? Mit <code class="language-javascript">setTimeout</code>s könnte es sicher schneller gehen und die GIFs könnten wohl kleiner ausfallen.</p> </blockquote> <p>Interessante Ideen hast Du... ;-P</p> </blockquote> <p>Ja, gelle. Erinnere mich an eine Technik, bei der man nur die nur einmal lädt und Veränderungen einfach durch Verschieben des Offsets erreicht. Das Austauschen von Grafiken in CSS braucht anscheinend viel Rechenleistung, jedenfalls unter Windows im FF. Bei einer JS-Anwendung von mir kann man verfolgen, dass die Prozessorauslastung stark zunimmt, wenn man nur mit der Maus über hin und her über einen Button fährt, dem jeweils per CSS mit :hover ein anderes background-image gegeben wird. Es stört mich irgendwie, dass solcher Schnickschnack viel Rechenleistung frisst. Dabei ist es doch nur ein kleines .png im 1KB-Bereich.</p> <p>Gruß, Don P</p> Mensch ärgere dich nicht als Browsergame in JS Sat, 05 Mar 11 14:40:08 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497171#m1497171 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497171#m1497171 <p>Lieber Don P,</p> <blockquote> <blockquote> <p>Wenn ich einen Designer hätte, der mir "mal eben" sowas visuell passend erstellen kann, dann könnte ich diesem Umstand abhelfen.</p> </blockquote> <p>Das kann ich leider auch nicht, sonst hätte ich's glatt für dich gemacht.</p> </blockquote> <p>das ist sehr nett von Dir. Der Gedanke zählt auch!</p> <blockquote> <blockquote> <blockquote> <p>– Auf globale Variablen könnte vollständig verzichtet werden<br> [...]<br> Ja, das MAEDN-Objekt. Alle anderen sind scheint's deklariert.</p> </blockquote> </blockquote> </blockquote> <p>Wenn ich das wollte, dann müsste ich das Spiel so schreiben, dass ich mehrere solche Spielinstanzen auf einer Seite haben könnte. Das wollte ich aber nicht, bzw. dann wäre das Schreiben für meine Internet-AG nicht so umfänglich und könnte nicht alle Notationsarten in JS (wie z.B. JSON) demonstrieren. Dabei fällt es mir auch schwer einzusehen, warum ich auf eine einzige (und einzigartige!) globale Variable verzichten sollte.</p> <blockquote> <p>JSLint findet [...]</p> </blockquote> <p>Darum wollte ich mich erst kümmern, wenn es "fertig" ist. Mir ist klar, dass das eine nervige Angelegenheit werden wird, aber sinnvoll ist sie allemal - aber eben erst wenn es fertig ist.</p> <blockquote> <p>Der Knüller war einmal die einzige Meldung "Weird program." :)</p> </blockquote> <p>Das wäre ja mal eine vernünftige Meldung! *g*</p> <blockquote> <p>Ach stimmt, setInterval ist ja dafür prädestiniert.</p> </blockquote> <p>Je nach Anwendungszweck, ja.</p> <blockquote> <p>[Hintergrundgrafik] die nur einmal lädt und Veränderungen einfach durch Verschieben des Offsets erreicht.</p> </blockquote> <p>Mach' das mal mit animierten GIFs... *fiesgrins*</p> <blockquote> <p>Dabei ist es doch nur ein kleines .png im 1KB-Bereich.</p> </blockquote> <p>Generell ja, nicht aber bei animierten Grafiken.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Sat, 05 Mar 11 10:35:47 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497173#m1497173 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497173#m1497173 <p>Lieber Martin,</p> <blockquote> <p>Crazy India kenne ich überhaupt nicht, kann ich daher auch nicht beurteilen.</p> </blockquote> <p>bei Crazy India hat jeder Spieler vier verschiedenfarbige Spielsteine und muss deshalb vier verschiedenfarbige Spielsteine in seine Zielfelder bringen. Die ursprünglichen Regeln müssen entsprechend angepasst umgesetzt werden.</p> <p>Das "crazy" rührt wohl daher, dass in dem Moment, wo ein Spielstein "unterwegs" ist, dessen Zuordnung zum Spieler nicht mehr gelingt, sodass wenn Du "rot im Spiel" hast, Du eben mit (egal welchem) "rot" ziehst.</p> <p>In der Folge führt das z.B. dazu, dass man jemandem "seinen" Spielstein vor dessen Zielfeldern vorbeifahren kann, weil "sein" Spielstein in diesem Falle auch "Dein" Spielstein ist, weil auch Du diese Farbe ins Rennen geschickt hast.</p> <p>In der Folge scheint Crazy India eine Beschleunigung des Spiels zu bewirken: Mein Gegner fährt einen roten Stein in meine Nähe, ich darf "raus" und benutze - natürlich - rot, darf nach der sechs nocheinmal und fahre den anderen roten Stein bei mir nachhause.</p> <p>Wenn man sich die "Sonderregeln" so anschaut, dann sind die einen für eine Beschleunigung des Spielverlaufs entworfen worden, und die anderen für eine Verzögerung (z.B. durch zusätzliche Verwicklungen). Crazy India scheint zu den ersteren zu gehören - mit zusätzlichen Verwicklungen.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Sat, 05 Mar 11 21:49:23 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497174#m1497174 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497174#m1497174 <p>Hallo,</p> <p>Nochmal gespielt mit Crazy India:</p> <p>Vom roten Haus mit 6 eine gelbe Figur an den Start geschickt, danach gleich noch eine 6 und ich musste die eben selber rausgestellte Figur wieder schlagen. Dabei wurde der Hintergrund zweier Häuser erhellt (gelb und grün) und meine beiden kämpfenden Figuren auf dem roten Startfeld sind mit dem ganzen Spiel eingefroren. Der grüne sieht dabei ganz zufrieden aus, aber der gelbe will's wohl nicht wahrhaben und schüttelt nur erschrocken den Kopf.</p> <p>Die Häuser grün und blau stehen eigentlich auf N/A, ihre Jungs laufen aber trotzdem auf dem Spielfeld rum, ist das normal?<br> Woher weiß man denn in Crazy India, welche Figur in welche Zielfelder marschieren darf? Da blicke ich nicht richtig durch.</p> <p>Gruß, Don P</p> Mensch ärgere dich nicht als Browsergame in JS Sat, 05 Mar 11 22:33:13 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497175#m1497175 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497175#m1497175 <p>Lieber Don P,</p> <blockquote> <p>Dabei wurde der Hintergrund zweier Häuser erhellt (gelb und grün) und meine beiden kämpfenden Figuren auf dem roten Startfeld sind mit dem ganzen Spiel eingefroren.</p> </blockquote> <p>wenn Du eine Spielfigur rauswerfen kannst, dann werden bei mehreren möglichen "Empfängern" für diese Spielfigur die entsprechenden Warteplätze der betroffenen Spieler ge-highlight-et. Damit Du nun die Figur rauswerfen kannst, musst Du nur in das gewünschte Highlight klicken. Das Spiel wartet so lange auf Deine Entscheidung.</p> <blockquote> <p>Die Häuser grün und blau stehen eigentlich auf N/A, ihre Jungs laufen aber trotzdem auf dem Spielfeld rum, ist das normal?<br> Woher weiß man denn in Crazy India, welche Figur in welche Zielfelder marschieren darf? Da blicke ich nicht richtig durch.</p> </blockquote> <p>Das habe ich Martin schon <a href="https://forum.selfhtml.org/?t=203639&m=1378210" rel="noopener noreferrer">erklärt</a>.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 12:15:58 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497178#m1497178 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497178#m1497178 <p>[latex]Mae  govannen![/latex]</p> <blockquote> <p>hmm... seltsam. Das sind die schönen Bugs, die man so schlecht provozieren kann, um dann die Ursachen zu ergründen.</p> </blockquote> <p>Da hab ich auch noch einen:</p> <p>Situation: Ich bin blau *g*; eine Spielfigur wurde sicher durchgebracht und steht auf dem zweitletzten Ziel-Feld, die anderen drei sind frei im Spiel, zwei zwischen gelb und grün ohne Gegner in der Nähe und die dritte Figur hat nur mein blaues Startfeld freigemacht und steht 4 oder 5 Felder davon entfernt. Kurz dahinter einige gegnerische Figuren. Ich würfele eine Sechs und möchte natürlich die gefährdete Figur spielen, aber das Programm erlaubt nur die beiden unbedrängten Figuren.</p> <p>Daß meine Figur direkt danach geschlagen wurde, dürfte klar sein :(</p> <p>Fazit: Das Spiel schummelt, um dann im nächsten Zug schlagen zu können ^^</p> <p>Stur lächeln und winken, Männer!<br> Kai</p> <div class="signature">-- <br> Dank Hixies Idiotenbande geschieht grade eben wieder ein Umdenken<br> in Richtung "Mess up the Web".(<a href="https://forum.selfhtml.org/?t=197497&m=1324775" rel="noopener noreferrer">suit</a>)<br> <a href="http://selfhtml.knrs.de/#h_stylesheet" rel="nofollow noopener noreferrer">SelfHTML-Forum-Stylesheet</a> </div> Mensch ärgere dich nicht als Browsergame in JS Sat, 05 Mar 11 14:41:14 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497179#m1497179 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497179#m1497179 <p>Lieber Kai345,</p> <blockquote> <p>Fazit: Das Spiel schummelt, um dann im nächsten Zug schlagen zu können ^^</p> </blockquote> <p>und ich dachte, ich hätte das gut genug kaschiert... *g*</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Thu, 03 Mar 11 10:38:15 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497182#m1497182 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497182#m1497182 <p>Ergänzung:</p> <p><a href="http://browsershots.org/http://felix-riesterer.de/self/maedn/#" rel="nofollow noopener noreferrer">Hier</a> kannst du gut sehen, was ich sehe ;)</p> <p>ciao<br> romy</p> <div class="signature">-- <br> <a href="http://www.piratenpartei.de/navigation/politik/unsere-ziele" rel="nofollow noopener noreferrer">Piraten ahoi</a> </div> Mensch ärgere dich nicht als Browsergame in JS Thu, 03 Mar 11 20:59:05 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497181#m1497181 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497181#m1497181 <p>Liebe romy,</p> <p>Darstellungsfehler im IE sind noch nicht "gefixt". Das mache ich (vielleicht) demnächst einmal. Danke für die Rückmeldung.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Thu, 03 Mar 11 21:01:53 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497184#m1497184 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497184#m1497184 <p>Lieber Klawischnigg,</p> <blockquote> <p>Blödes Spiel, ich verlier' ständig;)</p> </blockquote> <p>;-)</p> <blockquote> <p>Sehr schön gemacht,</p> </blockquote> <p>Danke!</p> <blockquote> <p>was ich ändern würde wäre Freiwilligkeit von 'rauswerfen und Einstellbarkeit der Geschwindigkeit, sonst, wie gesagt, sehr schön gemacht...</p> </blockquote> <p>Der Schlagzwang ist meines Wissens in den offiziellen Regeln so enthalten. Wer nicht schlägt obwohl er kann, verliert seinen schlagfähigen Stein und muss ihn auf seine Startfelder zurückstellen. Das Spiel erspart Dir diesen Verlust, indem es den Schlagzwang umsetzt.</p> <p>Wenn man einen Stein auf die Zielfelder bewegen kann, dann ist das mit dem Schlagzwang gleichberechtigt - in diesem Punkt weicht mein Spiel von den offiziellen Regeln wohl ab...</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Thu, 03 Mar 11 21:29:49 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497191#m1497191 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497191#m1497191 <p>Hallo Felix,</p> <blockquote> <p>Der Schlagzwang ist meines Wissens in den offiziellen Regeln so enthalten.</p> </blockquote> <p>ich habe kein echtes Mensch-ärger-dich-nicht zur Hand, und finde im Internet auch leider keine "offizielle" Spielanleitung von Schmidt Spiele. Aber ich bin mir ziemlich sicher, dass der Schlagzwang eine individuelle Interpretation ist. <a href="http://de.wikipedia.org/wiki/Mensch_%25C3%25A4rgere_Dich_nicht" rel="nofollow noopener noreferrer">Wikipedia</a> listet das auch als optionale Regel.</p> <blockquote> <p>Wer nicht schlägt obwohl er kann, verliert seinen schlagfähigen Stein und muss ihn auf seine Startfelder zurückstellen. Das Spiel erspart Dir diesen Verlust, indem es den Schlagzwang umsetzt.</p> </blockquote> <p>Ja, so habe ich das auch schon mit manchen Leuten gespielt. Trotzdem ...</p> <blockquote> <p>Wenn man einen Stein auf die Zielfelder bewegen kann, dann ist das mit dem Schlagzwang gleichberechtigt - in diesem Punkt weicht mein Spiel von den offiziellen Regeln wohl ab...</p> </blockquote> <p>Mir ist auch nicht bekannt, dass man mit einer Figur ins Ziel ziehen *muss*, wenn es möglich ist. Im Gegenteil, manchmal lasse ich absichtlich eine Figur "vor dem Loch" stehen, wenn sie nicht gefährdet erscheint, woanders auf dem Spielfeld aber mehr Action angesagt ist.</p> <p>So long,<br>  Martin</p> <div class="signature">-- <br> "Hier steht, deutsche Wissenschaftler hätten es im Experiment geschafft, die Lichtgeschwindigkeit auf wenige Zentimeter pro Sekunde zu verringern." - "Toll. Steht da auch, wie sie es gemacht haben?" - "Sie haben den Lichtstrahl durch eine Behörde geleitet."<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 05:11:03 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497185#m1497185 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497185#m1497185 <p>@@Felix Riesterer:</p> <p>nuqneH</p> <blockquote> <p>Der Schlagzwang ist meines Wissens in den offiziellen Regeln so enthalten. Wer nicht schlägt obwohl er kann, verliert seinen schlagfähigen Stein und muss ihn auf seine Startfelder zurückstellen.</p> </blockquote> <p>Ja.</p> <blockquote> <p>Das Spiel erspart Dir diesen Verlust, indem es den Schlagzwang umsetzt.</p> </blockquote> <p>Das sollte es IMHO nicht tun. Dem menschlichen Spieler sollte nicht angezeigt werden, dass er schlagen muss, sondern er sollte mit allen möglichen Figuren ziehen können. Übersieht er, dass er hätte schlagen können, wird sein Stein „gepustet“, d.h. er kommt zurück ins Aus. (Hm, wie heißen die Felder eigentlich? Das Startfeld ist dasjenige, wo man mit einer Sechs einsetzt.)</p> <p>Im Gegenzug sollte ein vom Computer gesteuerter Spieler dann vielleicht auch mit einer gewissen Wahrscheinlichkeit ein Schlagen übersehen können.</p> <blockquote> <p>Wenn man einen Stein auf die Zielfelder bewegen kann, dann ist das mit dem Schlagzwang gleichberechtigt - in diesem Punkt weicht mein Spiel von den offiziellen Regeln wohl ab...</p> </blockquote> <p>Ja, das solltest du sicher noch ändern.</p> <p>Auch wenn man schon im Ziel ist, aber noch nicht ganz oben, sollte man nicht gezwungen sein, dort zu ziehen, wenn man eine entsprechend kleine Zahl würfelt.</p> <p>Manchmal möchte man woanders ziehen. Und wer vergisst, rechtzeitig aufzurücken, ist selber Schuld. Das sollte einem der Computer nicht abnehmen.</p> <p>Qapla'</p> <div class="signature">-- <br> Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.<br> (Mark Twain) </div> Mensch ärgere dich nicht als Browsergame in JS Sat, 05 Mar 11 14:45:22 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497186#m1497186 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497186#m1497186 <p>Lieber Gunnar,</p> <blockquote> <blockquote> <p>Der Schlagzwang ist meines Wissens in den offiziellen Regeln so enthalten. Wer nicht schlägt obwohl er kann, verliert seinen schlagfähigen Stein und muss ihn auf seine Startfelder zurückstellen.</p> </blockquote> <p>Ja.</p> </blockquote> <p>nicht laut Wikipedia! Von daher könnte man über diese Regel als einstellbare Option nachdenken (oder auch lieber nicht).</p> <blockquote> <blockquote> <p>Das Spiel erspart Dir diesen Verlust, indem es den Schlagzwang umsetzt.</p> </blockquote> <p>Das sollte es IMHO nicht tun.</p> </blockquote> <p>Und der Programmieraufwand explodiert. Das kann ich momentan nicht leisten. Das ist mir (noch) zu kompliziert.</p> <blockquote> <p>Im Gegenzug sollte ein vom Computer gesteuerter Spieler dann vielleicht auch mit einer gewissen Wahrscheinlichkeit ein Schlagen übersehen können.</p> </blockquote> <p>Klar, warum sollte man sich mit weniger Funktionalität zufrieden geben? Im Ernst, das bläst das Projekt für mein Gefühl zuweit auf. Ist es das wert? Ist MÄDN wirklich so populär und als Browsergame so begehrt, als dass sich dieser Aufwand lohnen würde?</p> <blockquote> <p>Manchmal möchte man woanders ziehen. Und wer vergisst, rechtzeitig aufzurücken, ist selber Schuld. Das sollte einem der Computer nicht abnehmen.</p> </blockquote> <p>Wie schon an anderer Stelle erwähnt werde ich die Hierarchie bei den möglichen Zügen neu regeln - eventuell mit Einstellungsoptionen.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Sat, 05 Mar 11 16:26:12 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497187#m1497187 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497187#m1497187 <p>@@Felix Riesterer:</p> <p>nuqneH</p> <blockquote> <blockquote> <blockquote> <p>Das Spiel erspart Dir diesen Verlust, indem es den Schlagzwang umsetzt.</p> </blockquote> <p>Das sollte es IMHO nicht tun.</p> </blockquote> <p>Und der Programmieraufwand explodiert.</p> </blockquote> <p>Nö, wieso?</p> <p>Du hast einerseits den Algorithmus, um alle Figuren, mit denen der menschlicher Spieler ziehen kann, blinken zu lassen. Andererseits hast du den Algorithmus, bei einer Schlagmöglichkeit* nur die schlagenge Figur ziehen zu lassen.</p> <p>Lass doch auch bei Schlagmöglichkeit alle Figuren blinken. Nachdem der Spieler mit einer von diesen gezogen hat, prüfst du, ob es die war, mit der er hätte schlagen können, andernfalls wird gepustet.</p> <p>Ist doch alles schon da; explodierenden Aufwand sehe ich nicht.</p> <p>* Was ist eigentlich, wenn mehrere Figuren eine schlagen können?</p> <blockquote> <blockquote> <p>Im Gegenzug sollte ein vom Computer gesteuerter Spieler dann vielleicht auch mit einer gewissen Wahrscheinlichkeit ein Schlagen übersehen können.</p> </blockquote> <p>Klar, warum sollte man sich mit weniger Funktionalität zufrieden geben?</p> </blockquote> <p>Gelle? ;-)</p> <p>Wobei sich erstmal die Frage stellt, wie der Computer spielen soll: möglichst gut oder möglichst menschlich? Auch das könnte dann als Option „Spielstärke“ einstellbar sein.</p> <p>Den Algorithmus zufällig eine der möglichen Figuren zum Ziehen auswählen zu lassen, erfüllt aber weder das eine noch das andere Kriterium. Sinnvoller dürfte es sein, bei mehreren Möglichkeiten mit der Figur zu ziehen, die schon am weitesten ist, um sie schnell ins Ziel zu bringen. Das macht deinen Algorithmus nicht komplizierter, aber vermutlich besser.</p> <p>Und wie gesagt, nicht auf das Startfeld eines anderen zu gehen, wenn’s nicht sein muss, und dies schnellstmöglich zu verlassen, sollte recht einfach zu implmentieren sein.</p> <p>Qapla'</p> <div class="signature">-- <br> Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.<br> (Mark Twain) </div> Mensch ärgere dich nicht als Browsergame in JS Sat, 05 Mar 11 19:17:53 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497188#m1497188 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497188#m1497188 <p>@@Gunnar Bittersmann:</p> <p>nuqneH</p> <blockquote> <p>Und wie gesagt, nicht auf das Startfeld eines anderen zu gehen, wenn’s nicht sein muss, und dies schnellstmöglich zu verlassen, sollte recht einfach zu implmentieren sein.</p> </blockquote> <p>Ich hatte gerade den Fall: Ein computerisierter Spieler hat eine Figur auf einem gegnerischen Startfeld zu stehen. Aber anstatt diese in Sicherheit zu bringen, zieht er mit einer anderen Figur – auf ein Startfeld eines anderen Gegners! So dumm sollte der Algorithmus nun wirklich nicht sein.</p> <p>Und noch eine Fehlermeldung: Ein Spieler hat drei Figuren schon im Haus, zwei oben, eine unten (A). Dreht die Runde mit seiner letzten Figur (B), würfelt dabei keine Eins. B kommt an und springt über A ins Ziel, weil die Würfelzahl gepasst hat. Moment mal – im Haus darf man nicht überspringen. B hätte vorm Haus warten müssen, bis A aufgerückt ist.</p> <p>Qapla'</p> <div class="signature">-- <br> Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.<br> (Mark Twain) </div> Mensch ärgere dich nicht als Browsergame in JS Sat, 05 Mar 11 19:57:19 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497189#m1497189 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497189#m1497189 <p>Hallo,</p> <blockquote> <p>Moment mal – im Haus darf man nicht überspringen.</p> </blockquote> <p>das wollte mir vor Jahren auch mal jemand einreden - dann haben wir in den Spielregeln nachgesehen. Da war nirgends die Rede von einer solchen Einschränkung, so dass man also davon ausgehen sollte, dass es sie nicht gibt. Es handelte sich übrigens um das Original-Brettspiel von Schmidt aus dem Jahr 1970-irgendwas.</p> <blockquote> <p>B hätte vorm Haus warten müssen, bis A aufgerückt ist.</p> </blockquote> <p>Ich weiß, dass das viele Leute so spielen. Ist aber AFAIK eine Individualregel.</p> <p>Ciao,<br>  Martin</p> <div class="signature">-- <br> Verliebt:    Er spricht, sie lauscht.<br> Verlobt:     Sie spricht, er lauscht.<br> Verheiratet: Beide sprechen, und die Nachbarn lauschen.<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> Mensch ärgere dich nicht als Browsergame in JS Sat, 05 Mar 11 23:46:31 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497190#m1497190 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497190#m1497190 <p>@@Der Martin:</p> <p>nuqneH</p> <blockquote> <blockquote> <p>Moment mal – im Haus darf man nicht überspringen.</p> </blockquote> <p>das wollte mir vor Jahren auch mal jemand einreden - dann haben wir in den Spielregeln nachgesehen. Da war nirgends die Rede von einer solchen Einschränkung, so dass man also davon ausgehen sollte, dass es sie nicht gibt.</p> </blockquote> <p>Hm, dann macht der Zwang zum Aufrücken irgendwie noch weniger Sinn.</p> <p>Qapla'</p> <div class="signature">-- <br> Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.<br> (Mark Twain) </div> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 12:00:34 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497192#m1497192 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497192#m1497192 <p>Lieber Martin,</p> <p>auch Dir vielen Dank für Deine Rege Beteiligung an der Diskussion. Anscheinend reizt auch Dich mein Projekt ein Bisschen... :-)</p> <blockquote> <blockquote> <p>Der Schlagzwang [...]<br> <a href="http://de.wikipedia.org/wiki/Mensch_%25C3%25A4rgere_Dich_nicht" rel="nofollow noopener noreferrer">Wikipedia</a> listet das auch als optionale Regel.</p> </blockquote> </blockquote> <p>Das habe ich mittlerweile auch gesehen. Hmm. Dann werde ich die Hierarchie der möglichen Züge anders gestalten müssen. Vielleicht mit yet another settings option? Hmm...</p> <blockquote> <p>manchmal lasse ich absichtlich eine Figur "vor dem Loch" stehen, wenn sie nicht gefährdet erscheint, woanders auf dem Spielfeld aber mehr Action angesagt ist.</p> </blockquote> <p>Ja, da muss ich definitiv nachbessern.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 12:50:59 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497193#m1497193 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497193#m1497193 <p>Hallo Felix,</p> <blockquote> <p>auch Dir vielen Dank für Deine Rege Beteiligung an der Diskussion. Anscheinend reizt auch Dich mein Projekt ein Bisschen... :-)</p> </blockquote> <p>öööhm ... merkt man das? ;-)<br> Wenn mir vor ein paar Tagen jemand vorgeschlagen hätte, "Mach doch mal eine MÄDN-Implementierung in Javascript", dann hätte ich demjenigen vermutlich den Vogel gezeigt (oder eine weniger anstößige Geste mit ähnlicher Aussage). Aber jetzt, nachdem du mit einem Entwurf ankommst, der im Großen und Ganzen funktioniert, und höchstens noch etwas Feinschliff braucht, finde ich das auf einmal richtig interessant.</p> <p>Das ist auch einer der wenigen Fälle, wo ich gern bereit bin, Javascript zuzuschalten.</p> <p>Die Proportionen passen übrigens auch bei mir nicht so ganz - obwohl ich keine individuelle Mindest-Schriftgröße eingestellt habe. Nur den Opera-Default von 9px, und der trifft hier noch nicht zu.</p> <p><img src="http://screenshots.kennst.net/madn-op11.png" alt="" loading="lazy"><br> (Screenshot in Opera 11 unter Ubuntu)</p> <blockquote> <blockquote> <blockquote> <p>Der Schlagzwang [...]<br> <a href="http://de.wikipedia.org/wiki/Mensch_%25C3%25A4rgere_Dich_nicht" rel="nofollow noopener noreferrer">Wikipedia</a> listet das auch als optionale Regel.<br> Das habe ich mittlerweile auch gesehen. Hmm. Dann werde ich die Hierarchie der möglichen Züge anders gestalten müssen. Vielleicht mit yet another settings option? Hmm...</p> </blockquote> </blockquote> </blockquote> <p>Yet another? Gibt's denn schon welche? Ich meine, für den Spieler/Nutzer einstellbar?</p> <blockquote> <blockquote> <p>manchmal lasse ich absichtlich eine Figur "vor dem Loch" stehen, wenn sie nicht gefährdet erscheint, woanders auf dem Spielfeld aber mehr Action angesagt ist.<br> Ja, da muss ich definitiv nachbessern.</p> </blockquote> </blockquote> <p>Ich bleibe neugierig dran!</p> <p>Schönes Wochenende,<br>  Martin</p> <div class="signature">-- <br> Wer im Glashaus sitzt, sollte Spaß am Fensterputzen haben.<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> Mensch ärgere dich nicht als Browsergame in JS Sat, 05 Mar 11 14:49:41 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497194#m1497194 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497194#m1497194 <p>Lieber Martin,</p> <blockquote> <p>Wenn mir vor ein paar Tagen jemand vorgeschlagen hätte, "Mach doch mal eine MÄDN-Implementierung in Javascript", dann hätte ich demjenigen vermutlich den Vogel gezeigt (oder eine weniger anstößige Geste mit ähnlicher Aussage). Aber jetzt, nachdem du mit einem Entwurf ankommst, der im Großen und Ganzen funktioniert, und höchstens noch etwas Feinschliff braucht, finde ich das auf einmal richtig interessant.</p> </blockquote> <p>*hihi*</p> <blockquote> <p>Das ist auch einer der wenigen Fälle, wo ich gern bereit bin, Javascript zuzuschalten.</p> </blockquote> <p>Da fühle ich mich ja direkt geehrt! Dass Du extra für mich JavaScript einschaltest will was heißen. :-)</p> <blockquote> <p><img src="http://screenshots.kennst.net/madn-op11.png" alt="" loading="lazy"><br> (Screenshot in Opera 11 unter Ubuntu)</p> </blockquote> <p>Das sollte jetzt eindeutig anders aussehen.</p> <blockquote> <blockquote> <blockquote> <blockquote> <p>Der Schlagzwang [...]<br> anders gestalten müssen. Vielleicht mit yet another settings option? Hmm...</p> </blockquote> </blockquote> </blockquote> <p>Yet another? Gibt's denn schon welche? Ich meine, für den Spieler/Nutzer einstellbar?</p> </blockquote> <p>Die Animationsgeschwindigkeit ist neu hinzugekommen. Andere (wie z.B. Schlagzwang) folgen vielleicht auch noch.</p> <blockquote> <p>Ich bleibe neugierig dran!</p> </blockquote> <p>Das freut mich! Die Reaktionen in diesem Thread sind sehr konstruktiv. Das macht einfach sehr gute Laune!</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Sat, 05 Mar 11 17:02:48 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497195#m1497195 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497195#m1497195 <p>Hi Felix,</p> <blockquote> <blockquote> <p>Das ist auch einer der wenigen Fälle, wo ich gern bereit bin, Javascript zuzuschalten.<br> Da fühle ich mich ja direkt geehrt! Dass Du extra für mich JavaScript einschaltest will was heißen. :-)</p> </blockquote> </blockquote> <p>das will wirklich was heißen - denn ich mache diese Entscheidung in erster Linie vom Nutzwert, aber darüber hinaus auch vom Anbieter abhängig.</p> <blockquote> <blockquote> <p><img src="http://screenshots.kennst.net/madn-op11.png" alt="" loading="lazy"><br> (Screenshot in Opera 11 unter Ubuntu)<br> Das sollte jetzt eindeutig anders aussehen.</p> </blockquote> </blockquote> <p>Anders, ja. Aber immer noch ein bisschen nach Unfall.</p> <p><img src="http://screenshots.kennst.net/madn-op.png" alt="" loading="lazy"><br>  Opera 11.01 unter Ubuntu (Browser-Defaultschrift auf Tahoma umgestellt)</p> <p><img src="http://screenshots.kennst.net/madn-ff.png" alt="" loading="lazy"><br>  Firefox 3.6.14 unter Ubuntu</p> <p>Vielleicht eine Nebenwirkung der absoluten pixelbasierten Positionierung, an die du nicht gedacht hast?<br> Lediglich mit einem "alten" Firefox 3.0 unter Windows sieht es vermutlich so aus, wie du es gemeint hast. Dafür ist die Schrift da unangenehm klein - eine Eigenheit, die mir beim Windows-Fox schon sehr oft negativ aufgefallen ist - er scheint unter Windows eine sehr kleine Default-Schriftgröße zu haben.</p> <blockquote> <blockquote> <p>Yet another? Gibt's denn schon welche? Ich meine, für den Spieler/Nutzer einstellbar?<br> Die Animationsgeschwindigkeit ist neu hinzugekommen.</p> </blockquote> </blockquote> <p>Ah, okay. Das war aber noch nicht der Fall, als ich das gestrige Posting geschrieben habe. Vermutlich geplant oder in Arbeit, aber noch nicht online.</p> <p>Weiter viel Spaß am Projekt,<br>  Martin</p> <div class="signature">-- <br> Ist die Katze gesund,<br> freut sich der Hund.<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> Mensch ärgere dich nicht als Browsergame in JS Thu, 03 Mar 11 21:03:56 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497199#m1497199 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497199#m1497199 <p>Liebe(r) Blubb,</p> <blockquote> <p>ich habe bei einem vier Computerspieler-Spiel beobachtet, dass der gelbe Spieler, nachdem er in der vorherigen Runde seine erste Figur passgenau ins "Häuschen" navigieren konnte, nur einmal würfeln durfte;</p> </blockquote> <p>es ist auch möglich, dass er dreimal dieselbe Augenzahl gewürfelt hat - das "sieht" man dann schlecht.</p> <blockquote> <p>er hätte aber dreimal würfeln dürfen müssen können.<br> In der nächsten Rund war dann alles wieder in Ordnung.</p> </blockquote> <p>Hmm. Das könnte auch mit meiner fehlerhaften Umsetzung zu tun haben, dass bei Nichtgebrauch einer sechs das erneute Würfeln verfällt. Diesen Punkt habe ich aber inzwischen korrigiert.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 04:42:02 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497197#m1497197 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497197#m1497197 <p>@@Blubb:</p> <p>nuqneH</p> <blockquote> <p>ich habe bei einem vier Computerspieler-Spiel beobachtet, dass der gelbe Spieler, nachdem er in der vorherigen Runde seine erste Figur passgenau ins "Häuschen" navigieren konnte, nur einmal würfeln durfte; er hätte aber dreimal würfeln dürfen müssen können.</p> </blockquote> <p>Ich glaube mehrfach beobachtet zu haben, dass ein Spieler nur einmal würfelt, nachdem alle seine verbliebenen Figuren geschlagen wurden, obwohl die Figuren im Ziel lückenlos ganz oben standen und er hätte dreimal würfeln dürfen.</p> <blockquote> <p>In der nächsten Rund war dann alles wieder in Ordnung.</p> </blockquote> <p>Dito.</p> <p>Qapla'</p> <div class="signature">-- <br> Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.<br> (Mark Twain) </div> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 11:57:08 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497198#m1497198 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497198#m1497198 <p>Lieber Gunnar,</p> <blockquote> <p>Ich glaube mehrfach beobachtet zu haben, dass ein Spieler nur einmal würfelt, nachdem alle seine verbliebenen Figuren geschlagen wurden, obwohl die Figuren im Ziel lückenlos ganz oben standen und er hätte dreimal würfeln dürfen.</p> </blockquote> <p>jetzt müsste ich das nur nachprüfbar machen können. Die Idee mit console.debug() wird auch irgendwann unübersichtlich... Mal sehen, da habe ich ja noch Möglichkeiten.</p> <p>Deine rege Teilnahme an diesem Thread scheit daher zu rühren, dass Dich das Projekt (zumindest ein Bisschen) fasziniert. *freu*</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Thu, 03 Mar 11 22:15:17 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497200#m1497200 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497200#m1497200 <p>Om nah hoo pez nyeetz, Felix Riesterer!</p> <blockquote> <p>es ist auch möglich, dass er dreimal dieselbe Augenzahl gewürfelt hat - das "sieht" man dann schlecht.</p> </blockquote> <p>dem könnte man entgegenwirken, indem man verschiedene "Würfellagen" verwendet.</p> <p>Matthias</p> <div class="signature">-- <br> Wer ein Problem beschreiben kann, hat es schon halb gelöst.                                             (Julian Huxley) <img src="http://www.billiger-im-urlaub.de/kreis_sw.gif" alt="http://www.billiger-im-urlaub.de/kreis_sw.gif" loading="lazy"> </div> Mensch ärgere dich nicht als Browsergame in JS Thu, 03 Mar 11 21:16:40 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497202#m1497202 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497202#m1497202 <p>Lieber Gernot,</p> <blockquote> <p>sehr schön!</p> </blockquote> <p>vielen Dank!</p> <blockquote> <p>Ich würfelte dann wiederholt eine "Sechs", für die ich zwar selbst keine Verwendung hatte, es wurde mir aber danach auch keine nochmaliger Wurf gewährt, den man normalerweise nach einer "Sechs" ja hat.</p> </blockquote> <p>Ist repariert.</p> <blockquote> <p>die letzte Figur aus den vier Startfeldern holte und trotz anderer, strategisch besserer Möglichkeiten mit anderen Figuren zu ziehen, vom Programm gezwungen wurde, die farbige Fußmatte, also das erste Feld nach den vier Startfeldern freizumachen</p> </blockquote> <p>War das mit der Spielvariante "Classic" oder "Crazy India"? Mir ist jetzt nicht nachvollziehbar, warum Du Deinen letzten Stein nicht hättest stehen lassen dürfen. Konnte er einen anderen Stein schlagen?</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Thu, 10 Mar 11 18:46:40 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497203#m1497203 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497203#m1497203 <p>Hallo Felix,</p> <blockquote> <p>War das mit der Spielvariante "Classic" oder "Crazy India"? Mir ist jetzt nicht nachvollziehbar, warum Du Deinen letzten Stein nicht hättest stehen lassen dürfen. Konnte er einen anderen Stein schlagen?</p> </blockquote> <p>Soweit ich mich erinnere nicht und ich hatte die Classic-Variante gespielt.</p> <p>Gruß Gernot</p> <div class="signature">-- <br> <a href="http://community.de.selfhtml.org/my/visitenkarten/view.php?key=46" rel="nofollow noopener noreferrer">super me</a> </div> Mensch ärgere dich nicht als Browsergame in JS Tue, 01 Mar 11 15:42:30 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497209#m1497209 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497209#m1497209 <p>[latex]Mae  govannen![/latex]</p> <blockquote> <p>Der Spielstart hat mich etwas irritiert: [...]</p> </blockquote> <blockquote> <p>Sehr befremdlich finde ich auch den starren sequentiellen Ablauf: [...]</p> </blockquote> <p>Nun, es wird wohl unzählige Varianten geben; allerdings sollte man bei MÄDN grundsätzlich erst einmal von den üblichen Spielregeln ausgehen, wenn nichts anderes angegeben wurde.</p> <p>Aber für Felix ist das eine gute Gelegenheit, verschiedene Varianten zu integrieren. Auch wenn die Optionen immer zahlreicher werden, das kenne ich von meinem Länder/Flaggenquiz :)</p> <p>Stur lächeln und winken, Männer!<br> Kai</p> <div class="signature">-- <br> Dank Hixies Idiotenbande geschieht grade eben wieder ein Umdenken<br> in Richtung "Mess up the Web".(<a href="https://forum.selfhtml.org/?t=197497&m=1324775" rel="noopener noreferrer">suit</a>)<br> <a href="http://selfhtml.knrs.de/#h_stylesheet" rel="nofollow noopener noreferrer">SelfHTML-Forum-Stylesheet</a> </div> Mensch ärgere dich nicht als Browsergame in JS Thu, 03 Mar 11 21:20:42 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497205#m1497205 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497205#m1497205 <p>Lieber Martin,</p> <blockquote> <p>nett gemacht. :-)</p> </blockquote> <p>danke!</p> <blockquote> <p>ich kenne das nämlich so, dass die erste Figur jedes Spielers loslaufen darf, als ob sie schon auf dem Startfeld steht (also ohne dass man erst eine Sechs würfeln muss).</p> </blockquote> <p>Das ist eine Spielvariante, die ich nicht implementiert habe. Wenn man Lust hätte, dann könnte man hierfür eine Einstellungsoption erstellen, die diese Möglichkeit steuert...</p> <blockquote> <p>Sehr befremdlich finde ich auch den starren sequentiellen Ablauf: Wenn ich eine Sechs werfe, dann würfle ich normalerweise erst ein zweites Mal (und ggf. sogar ein drittes Mal), und überlege dann erst, wie ich mit welchen Figuren ziehe, sofern ich mehrere Möglichkeiten habe.</p> </blockquote> <p>Auch das ist eine Variante. Je nach Regeln kann man das so oder so handhaben. Wie möchtest Du denn vom Interface her die vom Spieler erwünschte Reihenfolge der gewürfelten Zahlen abarbeiten lassen? Mir war das zu blöd zu implementieren.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Thu, 03 Mar 11 21:35:06 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497206#m1497206 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497206#m1497206 <p>Hallo Felix,</p> <blockquote> <blockquote> <p>Sehr befremdlich finde ich auch den starren sequentiellen Ablauf: Wenn ich eine Sechs werfe, dann würfle ich normalerweise erst ein zweites Mal (und ggf. sogar ein drittes Mal), und überlege dann erst, wie ich mit welchen Figuren ziehe, sofern ich mehrere Möglichkeiten habe.<br> Auch das ist eine Variante. Je nach Regeln kann man das so oder so handhaben. Wie möchtest Du denn vom Interface her die vom Spieler erwünschte Reihenfolge der gewürfelten Zahlen abarbeiten lassen?</p> </blockquote> </blockquote> <p>ich könnte mir das so vorstellen:<br>  * Würfeln, die gewürfelte Augenzahl erscheint als Symbol unterhalb des Spielbretts<br>  * Wenn's eine Sechs ist: Nochmal würfeln, die Augenzahl erscheint als zweites (drittes ...) Symbol<br>  * Erst wenn's keine Sechs mehr ist: Nacheinander die Figuren anklicken, mit denen ich die Züge machen möchte.<br> So ist für den Spieler mehr Strategie umsetzbar.</p> <blockquote> <p>Mir war das zu blöd zu implementieren.</p> </blockquote> <p>Ja, kann ich nachvollziehen. Schade trotzdem ...</p> <p>Ciao,<br>  Martin</p> <div class="signature">-- <br> Früher habe ich mich vor der Arbeit gedrückt, heute könnte ich stundenlang zusehen.<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> Mensch ärgere dich nicht als Browsergame in JS Sat, 05 Mar 11 14:53:38 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497207#m1497207 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497207#m1497207 <p>Lieber Martin,</p> <blockquote> <p>ich könnte mir das so vorstellen:<br> * Würfeln, die gewürfelte Augenzahl erscheint als Symbol unterhalb des Spielbretts<br> * Wenn's eine Sechs ist: Nochmal würfeln, die Augenzahl erscheint als zweites (drittes ...) Symbol<br> * Erst wenn's keine Sechs mehr ist: Nacheinander die Figuren anklicken, mit denen ich die Züge machen möchte.<br> So ist für den Spieler mehr Strategie umsetzbar.</p> </blockquote> <p>die erwürfelten Ergebnisse müssen ohnehin chronologisch abgearbeitet werden. Ändert das Wissen um wieviele sechsen mir zur Verfügung stehen wirklich so viel?</p> <blockquote> <blockquote> <p>Mir war das zu blöd zu implementieren.</p> </blockquote> <p>Ja, kann ich nachvollziehen. Schade trotzdem ...</p> </blockquote> <p>Ich meine noch immer, dass sich das nicht lohnt.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Sat, 05 Mar 11 15:06:46 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497208#m1497208 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497208#m1497208 <p>Hallo Felix</p> <blockquote> <p>die erwürfelten Ergebnisse müssen ohnehin chronologisch abgearbeitet werden. Ändert das Wissen um wieviele sechsen mir zur Verfügung stehen wirklich so viel?</p> </blockquote> <p>Wenn mehrere eigene Figuren im Spiel sind, dann könnte ich die Ergebnisse möglicherweise genau so verteilen, dass ich eine gegnerische Figur treffe oder nicht auf oder direkt hinter einem gegnerischen Startfeld zu stehen komme.</p> <p>Auf Wiederlesen<br> Detlef</p> <div class="signature">-- <br> - Wissen ist gut<br> - Können ist besser<br> - aber das Beste und Interessanteste ist der Weg dahin! </div> Mensch ärgere dich nicht als Browsergame in JS Tue, 01 Mar 11 15:48:08 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497211#m1497211 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497211#m1497211 <p>Hello,</p> <blockquote> <p>Aber für Felix ist das eine gute Gelegenheit, verschiedene Varianten zu integrieren. Auch wenn die Optionen immer zahlreicher werden, das kenne ich von meinem Länder/Flaggenquiz :)</p> </blockquote> <p>Ist das dann Mensch-ärgere-dich-nicht-2.0?</p> <p>Oder benötigt er nur eine Einstellungsseite, auf der die Optionen und Alternativen eingestellt werden können?</p> <p>Ich habe Mensch-ärgere-dich-nicht nie gerne gespielt, lieber Malefiz. Aber das dürfte Felix vermutlich noch nicht als Webspiel nachbuane, ohne eine Lizenzklage an den Hals zu bekommen. Aber für Melefiz gibt es noch mehr Privatregeln, die das Spiel so richtig giftig gut machen!</p> <p>Ich finde jedenfalls Felix' Ausdauer und Durchhaltevermögen dieser JavaScript-Lösungen wirklich bemerkens- und lobenswert :-))</p> <p>Mach weiter so, Felix!</p> <p>Liebe Grüße aus dem schönen Oberharz</p> <p>Tom vom Berg<br> <img src="http://selfhtml.bitworks.de/Virencheck.gif" alt="" loading="lazy"></p> <div class="signature">-- <br>  ☻_<br> /▌<br> / \ Nur selber lernen macht schlau<br> <a href="http://bergpost.annerschbarrich.de" rel="nofollow noopener noreferrer">http://bergpost.annerschbarrich.de</a> </div> Mensch ärgere dich nicht als Browsergame in JS Thu, 03 Mar 11 21:23:36 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497210#m1497210 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497210#m1497210 <p>Lieber Kai345,</p> <blockquote> <p>Aber für Felix ist das eine gute Gelegenheit, verschiedene Varianten zu integrieren. Auch wenn die Optionen immer zahlreicher werden, das kenne ich von meinem Länder/Flaggenquiz :)</p> </blockquote> <p>ich habe nicht wirklich vor unzählige Varianten zu implementieren. Mir war eigentlich nur die "Crazy India"-Variante wichtig. Um diese zu implementieren, konnte ich schlecht die "Classic"-Variante fehlen lassen, da sie in vielen Funktionalitäten automatisch mit enthalten ist.</p> <p>Was weitere mögliche Optionen angeht, so wäre ausschließlich die Sache mit dem Interface (Geschwindigkeit) für mich diskutabel.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Thu, 03 Mar 11 21:25:38 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497212#m1497212 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497212#m1497212 <p>Lieber Tom,</p> <blockquote> <p>Ich habe Mensch-ärgere-dich-nicht nie gerne gespielt, lieber Malefiz.</p> </blockquote> <p>das kenne ich nur vom Namen her. Gespielt habe ich es nie.</p> <blockquote> <p>Ich finde jedenfalls Felix' Ausdauer und Durchhaltevermögen dieser JavaScript-Lösungen wirklich bemerkens- und lobenswert :-))</p> <p>Mach weiter so, Felix!</p> </blockquote> <p>Herzlichsten Dank! Über diese Schiene versuche ich meine Schüler für das Schreiben von JavaScripts zu begeistern... Mal sehen.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Tue, 01 Mar 11 15:22:33 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497216#m1497216 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497216#m1497216 <p>Hi,</p> <blockquote> <p>Zwei Sachen fallen mir auf: mir war nicht bekannt, dass man nicht auch nicht schlagen darf, wenn einem danach ist</p> </blockquote> <p>das ist ein Detail, das sehr unterschiedlich gespielt wird. Bei uns im Familien- und Bekanntenkreis ist das daher immer eine wichtige Frage zu Spielbeginn: "Ist Rauswerfen Pflicht?"<br> Ebenso gibt es unterschiedliche Auffassungen darüber, ob eigene Figuren übersprungen werden dürfen, die schon "im Häuschen", aber nicht ganz aufgerückt stehen.</p> <p>Bei uns spielt(e) man übrigens gern mit einer zusätzlichen, individuellen Sonderregel: Man hat zu Beginn eine Augenzahl festgelegt (außer der 6), die grundsätzlich *rückwärts* gezogen werden muss. Natürlich wird dann in diesem Fall auch rückwärts geschlagen. Das macht Laune ... ;-)</p> <p>So long,<br>  Martin</p> <div class="signature">-- <br> Zwei Kumpels sitzen vor dem Computer. "Welche Suchmaschine beutzt du eigentlich meistens?" - "Prima Vera." - "Hmm, kenn' ich gar nicht." Dann geht die Tür auf: "Schatz ich habe deine Sonnenbrille wiedergefunden!" - "Prima, Vera!"<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> Mensch ärgere dich nicht als Browsergame in JS Thu, 03 Mar 11 21:31:47 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497215#m1497215 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497215#m1497215 <p>Lieber LX,</p> <blockquote> <p>Zwei Sachen fallen mir auf: mir war nicht bekannt, dass man nicht auch nicht schlagen darf, wenn einem danach ist;</p> </blockquote> <p>ich kenne das Spiel mit Schlagzwang, der auch bestraft wird, wenn man sich nicht daran hält. Eine Figur die nicht genutzt wurde, obwohl sie hätte schlagen können, darf vom Gegner vom Spielfeld genommen und auf die Startfelder zurückgestellt werden. Sollten mehrere Figuren schlagen können, ist das automatisch ein Problem von dem ich nicht weiß, wie es die offiziellen Regeln lösen. Meine Umsetzung bestraft deshalb nicht, weil bei der "Crazy India"-Variante dieser Fall sehr schnell eintreten kann.</p> <blockquote> <p>des weiteren wundere ich mich, dass Du die Chance für drag-n-drop nicht genutzt hast, welches für die Bedienung eigentlich naheliegend gewesen wäre.</p> </blockquote> <p>So, wäre es das? Dann könnte ich mir die Animation zumindest für menschliche Spieler sparen. Was tun dann aber die Computerspieler? Um deren Züge nachvollziehbar zu machen, brauche ich die Animation dann doch. Und wenn es dann einheitlich (und leichter umzusetzen!) werden soll, dann verzichte ich doch lieber auf Drag'nDrop.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 04:49:56 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497214#m1497214 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497214#m1497214 <p>@@LX:</p> <p>nuqneH</p> <blockquote> <p>des weiteren wundere ich mich, dass Du die Chance für drag-n-drop nicht genutzt hast, welches für die Bedienung eigentlich naheliegend gewesen wäre.</p> </blockquote> <p>Finde ich nicht. Das würde die Bedienung erschweren: Drag and Drop erfordert mehr Interaktion (Maustaste gedrückt halten, ziehen) als ein einfacher Klick. Außerdem müsste man eine Fehlerbehandlung einbauen: Was soll geschen, wenn eine Fünf gewürfelt, aber nur vier Felder gezogen wurde?</p> <p>Im Zählen ist ein Computer eigentlich ganz gut; die Arbeit kann man ihm überlassen.</p> <p>Qapla'</p> <div class="signature">-- <br> Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.<br> (Mark Twain) </div> Mensch ärgere dich nicht als Browsergame in JS Tue, 01 Mar 11 16:18:57 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497218#m1497218 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497218#m1497218 <p>Hi, Martin!</p> <blockquote> <p>Bei uns spielt(e) man übrigens gern mit einer zusätzlichen, individuellen Sonderregel: Man hat zu Beginn eine Augenzahl festgelegt (außer der 6), die grundsätzlich *rückwärts* gezogen werden muss. Natürlich wird dann in diesem Fall auch rückwärts geschlagen. Das macht Laune ... ;-)</p> </blockquote> <p>Die Idee gefällt mir. Das werde ich bei nächster Gelegenheit auch mal versuchen...</p> <p>Gruß, LX</p> <div class="signature">-- <br> RFC 2324, Satz 7 (Sicherheit): Jeder, der zwischen meinem Kaffee und mir steht, gilt als unsicher. </div> Tippfehler in der Signatur Thu, 03 Mar 11 14:24:15 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497217#m1497217 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497217#m1497217 <blockquote> <p>"Welche Suchmaschine beutzt du eigentlich meistens?"</p> </blockquote> <p>^^^^^^</p> <p>Tippfehler in deiner Signatur ;-)</p> Mensch ärgere dich nicht als Browsergame in JS Thu, 03 Mar 11 21:34:06 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497220#m1497220 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497220#m1497220 <p>Lieber Gunnar,</p> <p>die "KI" ist dumm. Kann ein Spieler mit mehreren Steinen gültige Züge ausführen, so entscheidet der Computerspieler sich zufällig, ohne taktische "Überlegungen". Das ist einerseits einfacher zu implementieren, und andererseits erleichtert es menschlichen Spielern, das Spiel zu gewinnen.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 05:40:46 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497221#m1497221 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497221#m1497221 <p>@@Felix Riesterer:</p> <p>nuqneH</p> <blockquote> <p>die "KI" ist dumm. Kann ein Spieler mit mehreren Steinen gültige Züge ausführen, so entscheidet der Computerspieler sich zufällig, ohne taktische "Überlegungen". Das ist einerseits einfacher zu implementieren, und andererseits erleichtert es menschlichen Spielern, das Spiel zu gewinnen.</p> </blockquote> <p>Die Regeln „Gehe möglichst nicht auf das Startfeld eines anderen“ und „Verlasse das Startfeld eines anderen, wenn du kannst“ sollten einfach zu implementieren sein.</p> <p>Ansonsten fängt der Programmierspaß da ja erst richtig an. Ein Programm zu entwickeln, dass die Schachregeln kennt und irgendwie zieht, kann jeder. (Naja, fast jeder.) Ein Programm zu entwickeln, dass Schach _spielen_ kann, ist schon deutlich anspruchsvoller.</p> <p>Und das gilt auch für MÄDN. Nur sollte das wesentlich einfacher sein als bei Schach.</p> <p>Irgenwo im Thread schriebst du, dass du mit dem Spiel deine Schüler fürs Programmieren begeistern willst. Lass sie doch den „dummen“ Algorithmus verbesern und dem Computer das MÄDN-_Spielen_ beibringen. In mehreren Gruppen, dann können die verschiedenen Algorithmen gegeneinander antreten. Schulmeisterschaft im Computer-MÄDN!</p> <p>Qapla'</p> <div class="signature">-- <br> Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.<br> (Mark Twain) </div> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 11:48:40 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497222#m1497222 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497222#m1497222 <p>Lieber Gunnar,</p> <blockquote> <p>Irgenwo im Thread schriebst du, dass du mit dem Spiel deine Schüler fürs Programmieren begeistern willst. Lass sie doch den „dummen“ Algorithmus verbesern und dem Computer das MÄDN-_Spielen_ beibringen.</p> </blockquote> <p>wir sind gerade dabei, Objekte, ihre Eigenschaften und Methoden auseinander zu halten. Als nächstes beschäftigen wir uns damit, wie man Schleifen nutzt. Wenn das soweit klappt, dann schauen wir mal, wie man mehrere Objekte gleicher Art mit Konstruktorfunktionen erstellt. Das Würfelobjekt ist in JSON notiert und singulär, die Spielerobjekte und die Spieltsteinobjekte nicht. Das will alles ersteinmal begriffen werden, bevor wir an so Sachen wie KI gehen können.</p> <blockquote> <p>In mehreren Gruppen, dann können die verschiedenen Algorithmen gegeneinander antreten. Schulmeisterschaft im Computer-MÄDN!</p> </blockquote> <p>In einer perfekten Welt haben Schüler ausreichend Verständnis von objektorientierten Sprachen, insbesondere von JavaScipt, um diese Meisterschaft antreten zu können.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Thu, 03 Mar 11 21:46:48 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497226#m1497226 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497226#m1497226 <p>Lieber suit,</p> <blockquote> <p>Mehr Geschwindigkeit - das Ding ist zu langsam :) besonders wenn man 4 Computergegner gegeneinander spielen lasst.</p> </blockquote> <p>die Anregung mit einer Einstellungsoption für Bewegungsgeschwindigkeit (da denke ich gleich an eine live-Einstellung) werde ich mir überlegen. Ich könnte ja die Animationen für die Bewegungen der Spielsteine abschaltbar machen...</p> <blockquote> <p>Übrigens: wo ist der Schummel-Knopf? Bei Mensch ärgere dich nicht ist das Grundvoraussetzung - wie bei Monopoly :p</p> </blockquote> <p>Du könntest für menschliche Spieler das Würfelergebnis beeinflussen. Dazu müsstest Du entweder eine JavaScript-Konsole haben (wie Firebug sie bietet), oder eben über die Adresszeile des Browser Deine JavaScript-Aufrufe eingeben. Noch bietet das Script zu Testzwecken die Möglichkeit, den Würfel zu manipulieren. ;-)</p> <p>javascript:void(MAEDN.dice.roll(1,6)); // garantiert eine sechs</p> <blockquote> <p>Das JPG-Hintergrundbild (welches in PNG konvertiert wurde) ist ziemlich bescheiden :) da kannst du gleich JPG verwenden. 200 kb für eine so eine Grafik ist jedenfalls nicht grade wenig.</p> </blockquote> <p>Ja, da habe ich noch nicht weiter dran gearbeitet. Die Umfärbung der Smiley-Grafiken war mir wesentlich wichtiger und auch wesentlich zeitaufwändiger. Aber am Spielfeld lässtsich bestimmt noch etwas verbessern.</p> <blockquote> <p>Du kannst hier ggf. mit einem Sprite sparen (9 Kreise) - die einzelnen positionen der Felder müssten dir ohnehin bekannt sein. Den hintergrund mit dem radialen Verlauf kannst du per <a href="http://www.webdesignerwall.com/tutorials/cross-browser-css-gradient/" rel="nofollow noopener noreferrer">Gradient</a> machen.</p> </blockquote> <p>Da ist mir das gegenwärtige Hintergrundbild dann doch lieber...</p> <blockquote> <p>Besonders für unterwegs ist sowas ggf. recht spaßig - auf dem Mobiltelefon - da ist aber jedes KB viel wert wenn man davon ausgeht, dass manche Anbieter je MB[!] 25 Cent und teilweise bis zu 1 Euro wollen und nur ein paar MB im Grundumfang mitliefern.</p> </blockquote> <p>Aber dann sind die Smiley-Grafiken ein echter Datenbatzen! Das Verzeichnis enthält 637KiB insgesamt - und da sehe ich kaum Potenzial für Einsparungen. Vielleicht gibt es ein Programm (kenne selbst keines), das mir die animierten GIF-Grafiken etwas komprimiert (sind mit GIMP bearbeitet), aber was da an Einsparungen möglich ist, kann ich nicht sagen.</p> <p>Überhaupt kann ich mangels eines eigenen Smartphones die Funktionalität auf einem solchen nicht testen. Hast Du da Erfahrungswerte?</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 18:51:14 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497224#m1497224 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497224#m1497224 <p>Hallo suit</p> <blockquote> <p>Das JPG-Hintergrundbild (welches in PNG konvertiert wurde) ist ziemlich bescheiden :) da kannst du gleich JPG verwenden. 200 kb für eine so eine Grafik ist jedenfalls nicht grade wenig.</p> </blockquote> <p>Ich gehe davon aus, dass es als PNG gerade deshalb so groß ist, weil es vorher JPG war.</p> <blockquote> <p>Den hintergrund mit dem radialen Verlauf kannst du per <a href="http://www.webdesignerwall.com/tutorials/cross-browser-css-gradient/" rel="nofollow noopener noreferrer">Gradient</a> machen.</p> </blockquote> <p>Ob sich das wirklich lohnt, wenn dann doch noch extra ein Fallback gebastelt werden muss?</p> <p>(Der Verlauf würde in feinster Qualität als PNG gerade mal 30kB benötigen.)</p> <p>Auf Wiederlesen<br> Detlef</p> <div class="signature">-- <br> - Wissen ist gut<br> - Können ist besser<br> - aber das Beste und Interessanteste ist der Weg dahin! </div> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 18:59:16 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497225#m1497225 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497225#m1497225 <p>@@Detlef G.:</p> <p>nuqneH</p> <blockquote> <p>Ob sich das wirklich lohnt, wenn dann doch noch extra ein Fallback gebastelt werden muss?</p> </blockquote> <p>Muss es das? In Browsern, die keine Farbverläufe per CSS (incl. proprietärem Filter) können, ist der Hintergrund dann eben einfarbig. So what? Progressive enhancement rules.</p> <p>Qapla'</p> <div class="signature">-- <br> Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.<br> (Mark Twain) </div> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 04:19:35 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497227#m1497227 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497227#m1497227 <p>@@Felix Riesterer:</p> <p>nuqneH</p> <blockquote> <blockquote> <p>Den hintergrund mit dem radialen Verlauf kannst du per <a href="http://www.webdesignerwall.com/tutorials/cross-browser-css-gradient/" rel="nofollow noopener noreferrer">Gradient</a> machen.</p> </blockquote> <p>Da ist mir das gegenwärtige Hintergrundbild dann doch lieber...</p> </blockquote> <p>Hast du dafür einen sinnvollen Grund?</p> <p>2 Zeilen CSS (etwa 200 Byte) gegenüber 200 Kilobyte Grafik?</p> <p>Und PNG ist hier wohl das falsche Grfikformat, JPEG bietet sich für Farbverläufe an – als Fallback für dumme Browser, die keine Gradienten kennen, also für Opera.</p> <p>Qapla'</p> <div class="signature">-- <br> Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.<br> (Mark Twain) </div> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 11:54:27 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497228#m1497228 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497228#m1497228 <p>Lieber Gunnar,</p> <p>wenn ich auf neueste Techniken hätte eingehen wollen, dann hätte ich animierte PNG-Grafiken benutzt, anstatt GIF.</p> <p>Was CSS3-Fähigkeiten und passendes Fallback (wie implementiere ich das?) angeht, lasse ich lieber ein JPG laden. Dass die aktuelle Grafik noch PNG ist, liegt daran, dass ich zuerst etwas anderes ausprobieren wollte, von dem ich mittlerweile vergessen habe, was es war. Auch die Anordnung der Einstellungen und der "Überschrift" machen mich noch nicht wirklich glücklich. Did I say it was finished?</p> <blockquote> <p>2 Zeilen CSS (etwa 200 Byte) gegenüber 200 Kilobyte Grafik?</p> </blockquote> <p>Wenn Du mir zeigen kannst, wie ich die fehlende CSS3-Unterstützung mittels funktionierendem Fallback abfange, dann mache ich das auch. Bisher habe ich aber keine Ahnung, wie das gehen könnte.</p> <blockquote> <p>Qapla'</p> </blockquote> <p>Heute ist kein guter Tag zum sterben...</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div> Mensch ärgere dich nicht als Browsergame in JS Fri, 04 Mar 11 12:03:17 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497229#m1497229 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497229#m1497229 <p>@@Felix Riesterer:</p> <p>nuqneH</p> <blockquote> <p>Wenn Du mir zeigen kannst, wie ich die fehlende CSS3-Unterstützung mittels funktionierendem Fallback abfange, dann mache ich das auch. Bisher habe ich aber keine Ahnung, wie das gehen könnte.</p> </blockquote> <p><a href="http://forum.de.selfhtml.org/archiv/2010/2/t195517/#m1309526" rel="nofollow noopener noreferrer">http://forum.de.selfhtml.org/archiv/2010/2/t195517/#m1309526</a> ff.</p> <p>Das eigentliche Spielfeld machst du auf transparenten Hintergrund. PNG-24 sollte nicht nötig sein, PNG-8 reicht. Dazu vor gelbem Hintergrund rendern, dann den Hintergrund entfernen.</p> <p>Browser, die schon Gradienten kennen, sollten auch mit mehreren Hintergrundbildern für ein Element klarkommen.</p> <p>Qapla'</p> <div class="signature">-- <br> Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.<br> (Mark Twain) </div> Mensch ärgere dich nicht als Browsergame in JS Thu, 03 Mar 11 21:49:12 Z https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497231#m1497231 https://forum.selfhtml.org/self/2011/mar/1/mensch-aergere-dich-nicht-als-browsergame-in-js/1497231#m1497231 <p>Lieber Kai345,</p> <blockquote> <p>Im Opera 10.63 und 11 sieht die Spieler-Auswahl so aus: <a href="http://knrs.de/misc/2011-02/maedn.jpg" rel="nofollow noopener noreferrer">http://knrs.de/misc/2011-02/maedn.jpg</a></p> </blockquote> <p>die gegenwärtige Darstellung ist noch nicht endgültig. Vor allem die IEs machen da noch Probleme. Solange die Funktionalität störungsfrei gewährleistet ist, bin ich schonmal sehr zufrieden.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:) </div>