Frank (no reg): Softwareprojekt

Beitrag lesen

Hallo,

Hallo auch.

wir sind ne 7 köpfige Gruppe von Informatik-Studenten, 5tes Semester.

aha

Wir haben 7 Wochen Zeit um ein Spiel zu programmieren.

7 Wochen, 7 Köpfe ... jede Woche muss dann ein Kopf rollen?

  • Datenbank, speichert aktuelle Spielstände,

Wozu und was ist ein aktueller Spielstand?

Benutzerdaten...

Wozu und was für Benutzerdaten?

"geb mir die nächste Karte", bestimmt die Anwort aus der Datenbank

Das macht wenig bis überhaupt keinen Sinn. Wozu brauch es eine Datenbank um per Zufall das erste Element aus einem nach Zufall sortierten Array zu wählen? Die Karten sollen nicht immer in der selben Reihenfolge ausgegeben werden.

  • Spiel 1, kommuniziert mit dem Spiele-Server.

Spieler 1 vielleicht?

  • KI 1, simuliert einen Menschen. Die KI wird nur dann ausgeführt, falls ein Mensch gegen den Computer spielen möchte.

Definiere KI! (Such mal hier im Archiv nach "Skat")

Für jedes Spiel das wir programmieren, müssen wir einen separate KI programmieren.

Denn Skat folgt ja nicht den Mau-Mau Regeln, macht Sinn.

Die KI wird auf dem Server ausgeführt. Sie enthält Methoden wie z. B. MakeNextMove()

Ähem, okay. Der Server erwartet dann also (synchroner Aufruf) eine Antwort vom Client? Das riecht nach mäßiger Skalierbarkeit und bidirektionaler Kommunikation in RPC Manier (Remote Procedure Call).

So, weit so gut. Beispiel: es spielen zwei Spieler gegen einander. Die Clients zeigen nur die Karten da, stellen anfragen wie "getNextCard()" an den Server

Können alle das zur selben Zeit machen, oder müssen _wir_ da eine Reihenfolge einhalten? Wie weiss der Spieler, wenn er (womit auch immer) getNextCard() aufrufen kann?

Ob das Spiel vorbei ist, spirch ob jemand gewonnen oder verloren hat entscheidet der Server.

Wieviele Server pro Spiel bzw. wieviele Spiele pro Server sollen denn laufen und wie wollt ihr die auseinanderhalten?

Das Ergebnis wird am Client ausgegeben.

Sonst hat der ja nicht viel von der ganzen Geschichte, oder?

Das ist mal unser Grob-Konzept.

Von der Körnigkeit eines Planeten. :)

Nun bitte ich um Meinungen!

Bezüglichen welchen Aspekten? Oder wolltest du fragen: "Wie mach ich das jetzt? Hat jemand Beispielscripte?" Oder: "Ist PHP und MySQL besser als .Net für dieses Projekt?"

Ein recht gutes Stichwort für KI für dich lautet Finite State Machine. Ein weiteres "ereignisbasierte Programmierung" (in E: event-driven programming).

Und bitte fangt nicht grad mit "Skat" an, sondern mit was einfachem wie Texas Hold'em. Vielleicht wäre auch Würfeln gut, da kann man ja fast alles dem Zufallsgenerator überlassen und brauch schauen Spieler 1 > Spieler 2 und so.