skat

Du hast eine Idee für ein Projekt?
Benutzeravatar
hendrikS
User
Beiträge: 420
Registriert: Mittwoch 24. Dezember 2008, 22:44
Wohnort: Leipzig

problembär hat geschrieben:Die Quellen von xskat 4.0 sind 873K C-Code.
Ich hatte so in der Größenordnung min. 100000 LoC geschätzt. Ich glaube das matched so halbwegs.
In Python wäre es natürlich deutlich weniger.
Sonst gibt es auch ein nettes Forum, in dem ähnlich gefachsimpelt wird wie hier.
http://www.skatforum.com
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

hendrikS hat geschrieben:
problembär hat geschrieben:Die Quellen von xskat 4.0 sind 873K C-Code.
Ich hatte so in der Größenordnung min. 100000 LoC geschätzt. Ich glaube das matched so halbwegs.
In Python wäre es natürlich deutlich weniger.
Sonst gibt es auch ein nettes Forum, in dem ähnlich gefachsimpelt wird wie hier.
http://www.skatforum.com
~700KB C Code und Header Files
und darin stecken nach ohcount 18 852 reine Codezeilen und 290 Kommentarzeilen

Ich finde die KI aber nicht so gut. Habe gerade 11spiele gespielt, davon habe ich 8gespielt und 6gewonnen und 3spiele hat eine der beiden KIs gespielt aber nur 1gewonnen. Dabei sind beide KIs auf höchstes Level gestellt.

Die KIs reizen einfach nicht weit genung ganz selten geht es mal über 24.
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Sr4l hat geschrieben:~700KB C Code und Header Files
und darin stecken nach ohcount 18 852 reine Codezeilen und 290 Kommentarzeilen.
Sind da wirklich nur 290 Zeilen Kommentare oder hast du dich vertippt? Wenn nicht, schließt ja schon diese Zahl auf die mangelnde Qualität des Programms...
Benutzeravatar
hendrikS
User
Beiträge: 420
Registriert: Mittwoch 24. Dezember 2008, 22:44
Wohnort: Leipzig

Ich habs mir jetzt auch mal runtergeladen. Mal n'bisschen spielen.
Mit meinen geschätzten 100000 lag ich dann doch etwas daneben.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

ice2k3 hat geschrieben:
Sr4l hat geschrieben:~700KB C Code und Header Files
und darin stecken nach ohcount 18 852 reine Codezeilen und 290 Kommentarzeilen.
Sind da wirklich nur 290 Zeilen Kommentare oder hast du dich vertippt? Wenn nicht, schließt ja schon diese Zahl auf die mangelnde Qualität des Programms...
Stimmt schon, habe es "per Hand" kontrolliert. Das sind scheinbar nur die Kommentare am Anfang jeder Datei mit der Liezens.
Musste aber feststellen das man ~5k Zeilen Code abziehen muss, die scheinbar nur GIF Bilder enthalten.

Zusätzlich ist das Spiel auf Denglisch gecodet und nur der Name der Funktion gibt Auskunft darüber was sie tut.
joh#
User
Beiträge: 139
Registriert: Freitag 6. November 2009, 13:16

Sr4l hat geschrieben:Ich habe mir das so vorgestellt:
http://paste.pocoo.org/show/152873/
Also bei mir kommt da

Code: Alles auswählen

SPIELRKARTEN
============
Traceback (most recent call last):
  File "/home/joh/Python-2.6.4/work/skat1.py", line 114, in ?
    print(spiel.spielerkarten(spieler))
  File "/home/joh/Python-2.6.4/work/skat1.py", line 20, in __repr__
    return "{0}({1}, {2}, {3})".format(self.__class__.__name__, self.farbe, self.karte, self.besitzer)
AttributeError: 'str' object has no attribute 'format'
wobei ich

Code: Alles auswählen

class Karte():
zu

Code: Alles auswählen

class Karte(object):
verändern musste, damit das kompiliert, pardon interpretiert.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Code: Alles auswählen

return "{0}({1}, {2}, {3})".format(self.__class__.__name__, self.farbe, self.karte, self.besitzer) 
Python 3.1.

für Python2 mach einfach:

Code: Alles auswählen

return "%s(%s, %s, %s)"%(self.__class__.__name__, self.farbe, self.karte, self.besitzer) 
sollte so gehen

Habe auf meinem Windows Rechner jetzt nur noch Python3.
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Mit Python 2.6 geht str.format auch!
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Ab Python 2.6 geht str.format auch! ;-)
joh#
User
Beiträge: 139
Registriert: Freitag 6. November 2009, 13:16

BlackJack hat geschrieben:@joh#: Ich kenne die Regeln nicht, aber ich würde mich fragen, ob man das überhaupt auf diese Weise ermitteln würde, und sich nicht vielleicht eher mathematisch Gedanken darüber macht, statt stupide auszuprobieren...
OK, nur genau da hängt es, die Entscheidung des Spielers m Stich ist ja Grundlage für Stich n+1
alles hängt ja vom Zustand (des Blattes) ab.
Antworten