Klassenkonzept Schachprogramm

Flexibles Design welches es ermöglicht verschiedenste GUIs (=Menschliche Spieler) und Engines einfach einzubinden. Lehr-Modus mit verschidenen Variationen.

Snape: wenn ich das Etappenziel erreicht habe, sag ich bescheid und poste ein Zip mit den Sourcen.
 
squeaker hat gesagt.:
Flexibles Design welches es ermöglicht verschiedenste GUIs (=Menschliche Spieler) und Engines einfach einzubinden. Lehr-Modus mit verschidenen Variationen.

Verschiedene GUIs: Verstehe ich nicht. Was meinst Du damit?
Verschiedene Engines: Ja, das natürlich auch. Eine UCI-Schnittstelle wäre diesbezüglich ideal, sie ist neben Winboard derzeit die gängigste Schnittstelle und von Winboard aus gelangt man mit einem speziellen Adapter (gibt es als WB2UCI) zur UCI-Kompatibilität.

Snape: wenn ich das Etappenziel erreicht habe, sag ich bescheid und poste ein Zip mit den Sourcen.

Wollen wir das nicht gemeinsam erarbeiten?
 
Christian Fein hat gesagt.:
Schachspiel das soweit MVC aufgebaut ist das eine Portierung auf
J2ME ohne weiteres möglich ist (bitte kein double nutzen :) )

Äh...was ist jetzt MVC? Vielleicht stehe ich ja nur auf der Leitung und schlage mir nachher vor die Stirn, wenn ich die Auflösung lese. ;)
J2ME... merkwürdig, bist nicht der der einzige...Schach per SMS habe ich auch schon gehört. Ich kenne noch nicht alle Restriktionen von J2ME, muss man da auf Swing verzichten und es geht nur AWT? Oder auch SWT? GIbt es dann nicht mitunter Probleme zwischen den einzelnen IDEs von Nokia, Siemens,...?
 
Gemeinsam erarbeiten: ja und nein - ich würde gerne nach meinen Designideen erst einmal eine Version hier vorstellen - Christian sicher nach seinen. Dann können wir ja entscheiden welches Design das meiste Potential hat und weiter verfolgt werden soll.

MVC = Model View Controller

Mehrere GUIs - ich möchte gerne die GUI vollständig vom Schachspiel trennen. Dann kann man ohne Probleme z.B. eine GUI auf nem Handy gegen eine GUI auf nem Rechner auf einem Server irgendwo spielen.
 
>Gemeinsam erarbeiten: ja und nein - ich würde gerne nach meinen Designideen erst einmal eine Version hier vorstellen - Christian sicher nach seinen. Dann können wir ja entscheiden welches Design das meiste Potential hat und weiter verfolgt werden soll.

Dann möchte ich aber auch jeweils ein UML Diagramm bei Euch "bestellen". ;)

>MVC = Model View Controller

*An die Stirn schlag* :)
Ich wusste es. :)

>Mehrere GUIs - ich möchte gerne die GUI vollständig vom Schachspiel trennen. Dann kann man ohne Probleme z.B. eine GUI auf nem Handy gegen eine GUI auf nem Rechner auf einem Server irgendwo spielen.

Jo, sowas in der Art gibt es schon, zumindest für Nullmodem. Nennt sich Autoplayer resp. auto232. Das geht auch zu verschiedenen GUIs, allerdings spielen dort die Programme automatisch gegeneinander. Eine LAN-Möglichkeit gibt es zwar inzwischen auch, aber da gibt es Probleme, funktionieren nicht alle miteinander.
Ich denke das Problem mit den GUIs wird sein, sich auf ein Übertragungsprotokoll zu einigen.
 
Snape hat gesagt.:
Ich denke das Problem mit den GUIs wird sein, sich auf ein Übertragungsprotokoll zu einigen.

Nein wir brauchen dann nur ein Satz von Interfaces bereitstellen die die verschiedenen GUIs implementieren brauchen.
Wir kommunizieren nur über jene interfaces.

Dann ist es dem Rest des Programmes egal ob es auf javax.microedition.lcdui oder mit Java2D, Java3D oder Hinz und Kunz dargestellt wird.
Das Spiel ansich bleibt das gleiche, es wird einfach nur die Presentationschicht ausgetauscht.

Die Resitrictionen von J2ME sind sehr stark. Keine Iteratoren, keine ArrayList (vector nehmen anstatt).
Dennoch kann mann recht gut damit leben. Mann muss halt mit for() durch Vectoren iterieren,

Nur falls ihr wollt, können wir sowas entwickeln indem wir das ganze auf der KVM compilieren.
Alles was auf der KVM sich kompilieren lässt, lässt sich auch mit J2SE kompilieren.
 
Christian Fein hat gesagt.:
Snape hat gesagt.:
Ich denke das Problem mit den GUIs wird sein, sich auf ein Übertragungsprotokoll zu einigen.

Nein wir brauchen dann nur ein Satz von Interfaces bereitstellen die die verschiedenen GUIs implementieren brauchen.
Wir kommunizieren nur über jene interfaces.

Dann ist es dem Rest des Programmes egal ob es auf javax.microedition.lcdui oder mit Java2D, Java3D oder Hinz und Kunz dargestellt wird.
Das Spiel ansich bleibt das gleiche, es wird einfach nur die Presentationschicht ausgetauscht.

Stimmt, eine Schnittstelle ist damit aber nur innerhalb von Java Programmen möglich, richtig?

Die Resitrictionen von J2ME sind sehr stark. Keine Iteratoren, keine ArrayList (vector nehmen anstatt).
Dennoch kann mann recht gut damit leben. Mann muss halt mit for() durch Vectoren iterieren,

Nur falls ihr wollt, können wir sowas entwickeln indem wir das ganze auf der KVM compilieren.
Alles was auf der KVM sich kompilieren lässt, lässt sich auch mit J2SE kompilieren.

Na dann mal los! :)
(WTF ist schon wieder KVM?)
 
Snape hat gesagt.:
Na dann mal los! :)
(WTF ist schon wieder KVM?)

Killobyte Virtual Mashine, oder denkst du das mann eine paar Megabyte Grosse JVM aufs Handy packt? ;)

Nein das ist eine angepasst Java VM die einige Dinge nicht beherrscht, wie eben double Werte.

Dafür ist sie extrem klein, ein paar Kilobyte (daher auch der name)
 
Bin ja mal gespannt, wann und wie es hier bei diesem Thema weiter geht, wann squeaker z.B. seinen ersten Entwurf fertig hat. ;)
 
Zurück