{
und }
){
in selber Zeile}
in eigener Zeile/**
_* Foo bar
_*/
/// @…
///< @…
@param i Number of unicorns
@return A random numer (42)
if(..
bzw. int foo(..
)Sonstiges
Ein paar Namen
for f in *.h ; do head -n2 $f | tail -n1 | grep -v '_H '; done head -n2 `pwd`/src/*.h | sed 's/ <==/:1/' | sed 's/==> //' while sleep 2 ; do clear ; find `pwd`/src \( -name '*.c' -o -name '*.h' \) -print0 | xargs -0 grep -n -R -P '/\*[^*]*\*/' ; done while sleep 2 ; do clear ; find `pwd`/src \( -name '*.c' -o -name '*.h' \) -print0 | xargs -0 grep -n -P '\S{' | head -n30 ; done tail -n1 `pwd`/src/*{c,h} | sed 's/ <==/:1/' | sed 's/==> //' grepf -nR 'else' `pwd`/src | grep -v 'else if' | grep -v 'else {'
Checkers ist „gelöst“ (es ist einem Spieler möglich mit einem perfekten Spiel nicht zu verlieren)
Der bekannterste/beste Algo ist Chinook. Er wurde auch verwendet um zu beweisen das checkers gelöst ist.
Ein Spiel kann wie folgt gespielt werden
Weitere Bewertungen in DEM Buch auf pdf-Seite 71.
Das „Beweis Java-Applet“ sendet simple TCP anfragen mit dem Board zustand in ASCII an deren Server und als Ergebniss bekommt man alle möglichen nächesten Züge und der Info ob man damit verlieren/gewinne kann.
…. Das wäre eine perfekte AI und man würde den umgang mit sockets lerne (was wohl auch etwas Ziel des Praks ist xD)
Die des Server
Andere
Was | men | king | ||
---|---|---|---|---|
Schlagen | Weite | 2 | n | |
Richtung | Vorwärts/Rückwärts | Vorwärts/Rückwärts | ||
Über | Fremde | Ja | Ja | |
Eigene | Nein | Ja | ||
Leere | Nein | Ja | ||
Nicht Schlagen | Weite | 1 | n | |
Richtung | Vorwärts | Vorwärts/Rückwärts | ||
Über | Fremde | - | - | |
Eigene | Nein | Ja | ||
Leere | Nein | Ja |
Viele Dinge kann man tun, um es dem Gegner schwer zu machen, sortiert etwa nach Dreckigkeit.
kill -9
der Gegner auf der Maschiene11 | 05 | 31 | 25 | ||||
---|---|---|---|---|---|---|---|
10 | 04 | 30 | 24 | ||||
03 | 29 | 23 | 17 | ||||
02 | 28 | 22 | 16 | ||||
27 | 21 | 15 | 09 | ||||
26 | 20 | 14 | 08 | ||||
19 | 13 | 07 | 01 | ||||
18 | 12 | 06 | 00 |
k(x, y) = (18 + y*4 - x*3) % 32
x(k) = (6+k) % 8 y(k) = (k+2*((k+6) / 8)) % 8
Spieler | Bewegung (Spieler Sicht) | Left shift | Right shift |
---|---|---|---|
A (unten) | RT | 1 | 31 |
LT | 7 | 25 | |
RB | 25 | 7 | |
LB | 31 | 1 | |
B (unten) | RT | 31 | 1 |
LT | 25 | 7 | |
RB | 7 | 25 | |
LB | 1 | 31 |
Src | Msg | Kommentar |
---|---|---|
S | + MNM Gameserver v1.0 accepting connections | Versionsnummer vermutlich auch Felxibel (Kompatibel wenn Major = 1) |
C | VERSION 1.0 | Versionsnummer Flexibel (Kompatibel wenn Major = 1) |
S | + Client version accepted | |
C | ID Game-ID | 13-stellig, keine lehrzeichen |
S | + PLAYING Gamekind-Name | Gamekind = Dame … Ist das immer so??? |
S | + Game-Name | Festlegbar im Webinterface |
C | PLAYER Spielernummer(opt) | Ist was? |
S | + YOU Spielernummer Farbname | int, Farbname |
S | + TOTAL Anzahl | = 2 |
Src | Msg | Kommentar |
---|---|---|
S | + Spielernummer Farbname | int, Farbname |
S | + ENDPLAYERS |
S: + STATUS Player 1 has some technical issues as it tried a wrong move - might take some time
S: + STATUS Schwarz hat eine Dame gewonnen
S: + STATUS Schwarz hat einen Spielstein verloren
- Koordinaten teilweise ausserhalb des Spielfelds
- Zielfeld ist mit Stein belegt!
- Mit normalem Spielstein darf nicht rueckwaerts gezogen werden
- Wollte mit normalem Spielstein mehr als einen Sprung machen
S: + WAIT Weiss hat einen Spielstein verloren Schwarz hat eine Dame gewonnen
S: + WAIT Weiss hat einen Spielstein verloren
S: + WAIT Weiss hat eine Dame gewonnen
Wer | Was |
---|---|
Skruppy | State machine |
Skruppy | Connector main loop |
Skruppy | Geforke |
Max | Config |
Max | Logger |
Julia | Argumente |
Julia | Shared Mem |
Julia | Pipes |
Max | Signale |
Sende per POST an /newgame.php
POST /newgame.php HTTP/1.1 User-Agent: Opera/9.80 (X11; Linux i686) Presto/2.12.388 Version/12.11 Host: sysprak.priv.lab.nm.ifi.lmu.de Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: en-US,en;q=0.9 Accept-Encoding: gzip, deflate Connection: Keep-Alive Content-Length: 70 Content-Type: application/x-www-form-urlencoded gameName=wgdfg&player1=0&player2=0&maxMsPerMove=3000&minMsPerMove=3000
Antwort: Weiterleitung nach joingame.php?new=1&gameid=50b7e0d94f012
(hier kann aufgehört werden und aus der weiterleitungs URL die Spiele ID gezogen werden.)
HTTP/1.1 302 Found Date: Thu, 29 Nov 2012 22:25:29 GMT Server: Apache/2.2.22 (Debian) X-Powered-By: PHP/5.4.4-9 Cache-Control: no-cache, must-revalidate Expires: Sat, 26 Jul 1997 05:00:00 GMT Location: joingame.php?new=1&gameid=50b7e0d94f012 Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 20 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html
Sende per GET an /joingame.php
GET /joingame.php?new=1&gameid=50b7e0d94f012 HTTP/1.1 User-Agent: Opera/9.80 (X11; Linux i686) Presto/2.12.388 Version/12.11 Host: sysprak.priv.lab.nm.ifi.lmu.de Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: en-US,en;q=0.9 Accept-Encoding: gzip, deflate Connection: Keep-Alive
Antwort: Weiterleitung an watchgame.php?gameid=50b7e0d94f012&play=0
HTTP/1.1 302 Found Date: Thu, 29 Nov 2012 22:25:29 GMT Server: Apache/2.2.22 (Debian) X-Powered-By: PHP/5.4.4-9 Cache-Control: no-cache, must-revalidate Expires: Sat, 26 Jul 1997 05:00:00 GMT Location: watchgame.php?gameid=50b7e0d94f012&play=0 Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 20 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html
Sende per GET an /watchgame.php
GET /watchgame.php?gameid=50b7e0d94f012&play=0 HTTP/1.1 User-Agent: Opera/9.80 (X11; Linux i686) Presto/2.12.388 Version/12.11 Host: sysprak.priv.lab.nm.ifi.lmu.de Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: en-US,en;q=0.9 Accept-Encoding: gzip, deflate Connection: Keep-Alive
Antwort: Die HTML Seite
HTTP/1.1 200 OK Date: Thu, 29 Nov 2012 22:25:29 GMT Server: Apache/2.2.22 (Debian) X-Powered-By: PHP/5.4.4-9 Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 610 Keep-Alive: timeout=5, max=99 Connection: Keep-Alive Content-Type: text/html HTML FOO