Bauernschach

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Nerd20
User
Beiträge: 4
Registriert: Freitag 12. November 2010, 08:20

Moin, kenn mich in dem forum noch nich aus, muss aber in informatik ein bauernschachspiel programmieren mit python (programm smultron...)
jaa und ich hab keine ahnung wie das gehen soll^^is bisschen blöd hab aber, da ich bald abi schreibe, nich wirklich zeit mich damit auseinander zu setzen. ich würde mich über ein paar anregungen oder wenn es jemand schonmal programmiert haben sollte würde ich mich auch über den quellcode freun :roll:
dankeschön
grüß vom nerd
Zuletzt geändert von Anonymous am Freitag 12. November 2010, 13:48, insgesamt 1-mal geändert.
Grund: Die "Lautstärke" aus dem Betreff reduziert :-)
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Also ohne Eigeninitiative wird das nichts, sorry.
Smultron scheint mir lediglich ein Editor zu sein. Python lässt sich mit jedem Editor schreiben, bequemer ist es natürlich, wenn er Syntaxhighlighting u.ä. beherrscht.
Um die Grundlagen von Python zu lernen (ohne die geht es nicht), empfiehlt sich ein Blick ins offizielle Python-Tutorial.
Wenn du dann konkrete Fragen hast (die sich nicht schon durch bloßes Eintippen in den Interpreter beantworten lassen), hilft Dir sicher gerne jemand.
Ich vermute, du hast den Hinweis an alle Schüler und Studenten schon gelesen. Sehr hilfreich dürfte auch der Offene Brief an Pythonneulinge sein.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Nerd20 hat geschrieben:Moin, kenn mich in dem forum noch nich aus, muss aber in informatik ein bauernschachspiel programmieren mit python (programm smultron...)
jaa und ich hab keine ahnung wie das gehen soll
Da das ganze ja offensichtlich eine Aufgabe für einen absolvierten Kurs ist können wir wohl davon ausgehen, dass du Python zumindest so weit beherrschst, dass das Python-Tutorial dir nichts Neues mehr bringt. Smultron ist, wie ich nach Verwendung einer Suchmaschine feststellen konnte, anscheinend nur ein Editor, also hier nicht relevant. Bauernschach kennst du sicher auch und/oder hast dir die Regeln im Netz gesucht.

Zuerst solltest du dir Gedanke über die zugrundeliegenden Datenstrukturen machen. Du brauchst ein 8*8-Feld und du brauchst Informationen darüber auf welchem Feld welche Figur steht. Dann überlegst du dir Algorithmen, mit denen man festlegt, wie sich eine gewählte Figur bewegen kann und reicherst das um Prüfungen wie "Figur geschlagen" oder "Spielende erreicht an". Erst dann erstellst du die Oberfläche für das Spiel.

Offen ist bisher noch Folgendes: Benötigst du einen Computergegner? Soll das in einer GUI laufen? Benötigst du überhaupt eine Darstellung (vielleicht soll es ja nur ein Simulator werden)?
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Hmm, hoffentlich habe ich den OP nicht erschreckt. Ich hatte wohl einen schlechten Tag! :(
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

mkesper hat geschrieben:Hmm, hoffentlich habe ich den OP nicht erschreckt. Ich hatte wohl einen schlechten Tag! :(
Ich nehme optimistischerweise einfach mal an, dass unsere Hinweise geholfen haben und das Programm längst fertig ist.
Benutzeravatar
ts7343
User
Beiträge: 69
Registriert: Mittwoch 5. Mai 2010, 13:48

Oder er liest immer noch an dem offenen Brief an Pythonneulinge und ist am ueberlegen,
wie er den Thread wieder loeschen kann.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

ts7343 hat geschrieben:Oder er liest immer noch an dem offenen Brief an Pythonneulinge und ist am ueberlegen,
wie er den Thread wieder loeschen kann.
Vielleicht ist ja die Zweidimensionalität ein Problem. Ein Weg wäre wie folgt:

Code: Alles auswählen

class Multidimension(object):
    def __init__(self):
        self.data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
         
    def __getitem__(self, point):
        try:
            x, y = point
        except TypeError:
            return self.data[point]
        return self.data[x][y]

foo = Multidimension()

print foo[1, 1]
Nerd20
User
Beiträge: 4
Registriert: Freitag 12. November 2010, 08:20

hmm ja ich hab versucht das mal zu machen und bin bei der programmierung des feldes, also das problem is das ich nich weiß wie ich die spieler dazu kriege
sich zu bewegen, es ist ein 3*3 feld, also recht klein und der gegner soll der pc sein!!!

das problem ist außerdem das ich aus den offenen briefen etc. nich durchsteige ich bin wirklich kein informatik talent, versuch aber trotzdem es zu checken^
Nerd20
User
Beiträge: 4
Registriert: Freitag 12. November 2010, 08:20

achso haha nein ich konnte darauf nich zugreifen weil ich meine zugangsdaten nur in der schule hatte... -.-*
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Nerd20 hat geschrieben:sich zu bewegen, es ist ein 3*3 feld, also recht klein und der gegner soll der pc sein!!!
Das ist ja nahezu statisch. Schlagen en passant kommt praktisch nicht vor. Im Endeffekt wird sich da immer ein Unentschieden ergeben

Die Lösung beschränkt sich anscheinend auf folgenden Algorithmus: Wenn du schlagen kannst, dann schlage, sonst zieh irgendetwas nach vorne.
Nerd20
User
Beiträge: 4
Registriert: Freitag 12. November 2010, 08:20

/me hat geschrieben:
Nerd20 hat geschrieben:sich zu bewegen, es ist ein 3*3 feld, also recht klein und der gegner soll der pc sein!!!
Das ist ja nahezu statisch. Schlagen en passant kommt praktisch nicht vor. Im Endeffekt wird sich da immer ein Unentschieden ergeben

Die Lösung beschränkt sich anscheinend auf folgenden Algorithmus: Wenn du schlagen kannst, dann schlage, sonst zieh irgendetwas nach vorne.
genauso sieht es aus^^wir mussten dafür nen spielbaum erstellen und entweder man zieht oder klaut... ganz simpel eigentlich... eigentlich...
Antworten