Seite 1 von 1

Brettspiel Mühle implementieren

Verfasst: Montag 4. März 2019, 00:27
von Fakelaaz
Hallo liebes Python Forum.
Ich melde mich hier, da ich ein Problem habe.
Ich muss in meinem Informatik Kurs Mühle in Python implementieren mit den Klassen : Spielberg, Spieler und Spielstein . Doch ich habe absolut keine Ahnung und ein Anfang einer Programmierung falls einer sowas haben sollte wäre super !
Dankeschön

Re: Brettspiel Mühle implementieren

Verfasst: Montag 4. März 2019, 08:45
von Sirius3
@Fakelaaz: was hast Du bereits über Klasse in Python gelernt? Welche Gedanken hast Du Dir schon gemacht, wie ein Spielstein oder ein Spieler oder das Spielbrett als Klasse modeliert werden sollte, also welche Eigenschaften/Zustand und welche Aktionen/Methoden diese jeweils haben müssen?

Wenn das eine Aufgabe ist, dann besteht die ja aus mehreren Teilaufgaben, die hoffentlich so genau beschrieben sind, dass Du damit Stück für Stück zur Gesamtlösung kommst.

Re: Brettspiel Mühle implementieren

Verfasst: Montag 4. März 2019, 11:54
von __blackjack__
@Fakelaaz: Spielberg? Sollte das eventuell Spielbrett heissen? Und sind die Klassen vorgegeben? Denn ich sehe so auf den ersten Blick keinen Grund die Spielsteine als Klasse zu modellieren. Vielleicht als `enum.Enum` für die Spielfeldbelegung, aber eben nicht so das jeder Spielstein ein eigenes Objekt ist. Das ist ab und zu bei Anfängern ein Missverständnis, dass die jedes physikalisch vorhandene Objekt auch als eigenes Objekt im Programm umsetzen wollen. Die Beschreibung der Wirklichkeit innerhalb eines Programms muss nicht 1:1 alles beschreiben. Man abstrahiert soweit, dass nur das für das Programm auch tatsächlich notwendige modelliert wird.

Anfang einer Programmierung:

Code: Alles auswählen

#!/usr/bin/env python3


def main():
    pass


if __name__ == '__main__':
    main()

Re: Brettspiel Mühle implementieren

Verfasst: Montag 4. März 2019, 15:30
von Fakelaaz
Ja natürlich Spielbrett.. und es ist nichts vorgegeben, aber leider habe ich nicht sooo viel Ahnung vom programmieren, da ich in Informatik nicht gerade ein Held bin. Dass heißt es ist egal welche Klassen ich benutze, hautpsache man kann am Ende iwie Mühle spielen :/ aber dankeschön erstmal

Re: Brettspiel Mühle implementieren

Verfasst: Montag 4. März 2019, 15:34
von Fakelaaz
Und zu modelierung der klassen.. ich bin einfach ein wenig überfragt.. bei spieler vllt (Spielsteinanzahl, usw.) , Spielbrett( da sollte man halt die bestimmten Felder anklicken können aber ich weiss nicht wie das geht :( ), und spielsteine kann man vllt weglassen da ja vieles auf dem Spielbrett geregelt wird.. vor allem mit dem Spielsteine bewegen/setzen hab ich schwierigkeiten...

Re: Brettspiel Mühle implementieren

Verfasst: Montag 4. März 2019, 16:14
von Sirius3
@Fakelaaz: irgendwelche genaueren Angaben müssen ja in der Aufgabenstellung stehen. Erster Schritt ist immer, noch gar nichts mit Anklicken zu programmieren, sondern nur Funktionen, die einen Spielstein setzen, bzw. verschieben und prüfen, ob es eine Mühle gab, ob ein Spieler gewonnen hat, etc.

Beantworte konkret die Frage: wie würdest Du Steine auf dem Spielfeld als Datenstruktur beschreiben? Welche verschiedenen Spielzüge gibt es bei Mühle, und was heißt das für das Spielfeld?

Re: Brettspiel Mühle implementieren

Verfasst: Montag 4. März 2019, 16:19
von ArtooDetoo
Fakelaaz hat geschrieben: Montag 4. März 2019, 15:30leider habe ich nicht sooo viel Ahnung vom programmieren, da ich in Informatik nicht gerade ein Held bin.
Natürlich nicht, ansonsten bräuchtest du den Kurs ja auch nicht :-) Erstmal geht es auch gar nicht ums Programmieren (das kommt danach), sondern ums Modellieren.
Dazu solltest du dir erstmal für den Spieler und das Spielbrett zwei Fragen stellen:
1. Welche Eigenschaften hat ein Spieler/ein Spielbrett, mit denen es beschrieben werden kann? Das kann beim Spieler z. B. der Name sein oder beim Spielbrett die Belegung.
2. Welche Aktionen/Aktivitäten können ausgeführt werden? Beispiele hier sind Spielzüge.

Wenn du das beantworten kannst, kannst du langsam zum Programmieren übergehen.

Re: Brettspiel Mühle implementieren

Verfasst: Montag 4. März 2019, 17:03
von Fakelaaz
Also klassse spieler: name, anzahl spielsteine, anzahl mühlen, position von spielsteinen, spielsteinfarbe(entweder weiß oder schwarz)
ja und bei klasse Spielbrett: äh auch anzahl spielsteine, position von steinen, und wo steine hingesetzt werden (also immer auf den eckpunkten) und das spielsteine immer nur auf ein freies benachbartes feld bewegt werden können.
so
2. Spielzüge: spielsteine können nur auf ein freies benachbartes Feld bewegt werden. 3 spielsteine, die eine 3er Reihe bilden also nebeneinander liegen und die gleiche farbe besitzen bilden eine mühle. Ab 3 Spielsteinen kann man seine Spielsteine beliebig auf ein freies Feld setzen also nicht nur die benachtbarten.
Zur aufgabenstellung: Wir sollen ein beliebiges kleines Spiel programmieren.. das wars

Re: Brettspiel Mühle implementieren

Verfasst: Montag 4. März 2019, 17:16
von ArtooDetoo
Das klingt doch schon mal nicht übel. Ein paar Eigenschaften kommen doppelt vor:
- Anzahl Spielsteine
- Positionen der Spielsteine

Anzahl der Spielsteine würde ich den Spielern zuordnen. Sie wird ja nur gebraucht bis alle Steine auf dem Brett liegen, oder?
Positionen der Spielsteine ist meiner Ansicht nach eine Eigenschaft des Bretts und kann, wie Sirius schon angedeutet hat, in einer passenden Datenstruktur repräsentiert werden.

Re: Brettspiel Mühle implementieren

Verfasst: Montag 4. März 2019, 17:38
von Fakelaaz
ok so könnten wir das machen, habe bereits mit einer turrtle das spielfeld programmiert :D sollte auch alles passen aber bräcuhte hilfe für die klassen

Re: Brettspiel Mühle implementieren

Verfasst: Dienstag 5. März 2019, 09:54
von ArtooDetoo
Kannst du die Frage etwas konkretisieren? Wobei genau brauchst du noch Hilfe?

Re: Brettspiel Mühle implementieren

Verfasst: Mittwoch 6. März 2019, 17:01
von Fakelaaz
Allgemein beim programmieren von Mühle ... ich brauche ein Python Programm mit Klassen mit welchem man dann Mühle spielen kann

Re: Brettspiel Mühle implementieren

Verfasst: Mittwoch 6. März 2019, 17:05
von __deets__
Du wirst dieses Programm hier nicht bekommen. Was du bekommst ist Hilfestellung bei konkreten Fragen, Kritik und Anregungen. Programmierservice fuer Schueler und Stundenten sind wir nicht.

Zeig, was du hast. Zeig, was du versuchst. Was macht ein Muehle-Spielfeld aus? Welche Eigenschaften muss also eine Klasse haben, die ein solches Spielfeld repraesentieren soll?