Laden...

WPF - Entwicklung/Start von Spiel "3D Mühle"

Erstellt von arvbar vor 9 Jahren Letzter Beitrag vor 8 Jahren 3.588 Views
A
arvbar Themenstarter:in
23 Beiträge seit 2013
vor 9 Jahren
WPF - Entwicklung/Start von Spiel "3D Mühle"

Hallo Zusammen,
ich bin neu in diesem Forum und hab bisher noch nicht sehr viel mit C# oder WPF zutun gehabt. Ich hoffe das ihr mir für mein folgendes Problem hilfreiche Anregungen geben könnt, sodass ich mich direkt mit den richtigen Themen intensive auseinander setzten kann. Ganz neu ist die objektorientierte Softwarentwicklung für mich nicht, nur schon ein paar Tage her 😉.

Also zu meinem Vorhaben. Ich möchte gerne ein kleines Spiel realisieren. Viele von euch kennen sicher das Spiel 3D-Mühle. Für die die es noch nicht kennen habe ich mal ein BILD hinzugefügt.

Im Prinzip ist dies Viergewinnt im drei Dimensionalen. Zwei Spieler setzten gegeneinander Steine in einem 3D Würfel. Derjenige Spieler welcher als erstes 4 Steine einer Reihe senkrecht, parallel oder diagonal gesetzt hat gewinnt das Spiel.

Nun zu meinem Problem. Wie würdet Ihr das Problem angehen. Der Würfel muss drei Dimensional dargestellt werden, jeder Stein muss von einem der beiden Spieler auswählbar sein und sich in der Spielerfarbe einfärben lassen. Die beiden Spieler sitzen an einem Bildschirm. Ich fände es persönlich klasse, wenn man den Würfel um x- und y-Achse drehen kann, sodass man sich genau dei Kombinationen anzeigen lassen kann.

Über konstruktive Anregungen würde ich mich sehr freuen.

Mit freundlichen Güßen
Arne

Hinweis von MrSparkle vor 9 Jahren

Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 6.1: "Bilder als Dateianhang hochladen"

P
1.090 Beiträge seit 2011
vor 9 Jahren

Hallo arvbar,

den einstieg in 3D Grafiken mit WPF kannst du hier finden: MSDN:Übersicht über 3D-Grafiken
Mit google kannst du aber einiges finden.

Die Darstellung würde ich vom eigendlichen Spiel Trennen, hier kannst du mal nach MVVM Pattern googeln.

Da Spielfeld währe dann dein Model, 3D Array sollte reichen, 0 und 1 für die Spieler.

Prüfung ob jemand gewonnen hat würde ich in einer eigenen Klasse auslagen.

Das VM würde, die Spiellogig Abbilden. Spieler 1 am Zug, Prüfen ob Zug gültig (vielleicht auch in eine Klasse auslagern), einfügen ins Model, prüfen ob Gewonnen. Wenn nicht Gewonnen Spieler 2 am Zug. Ansonsten ausgabe gewonnen.

Für den Zug (Auswahl der Felder) würde ich vielleicht eine 2D Draussicht aufs Feld anbieten (ich gehe jetzt mal davon aus, das die Steine wie bei 4Gewinnt gesetzt werden (von oben Fallen)), das macht es leichter zu bestimmen, weche Position ausgewählt wurde. Das 3D Model ist dann nur zur Ansicht.

MFG
Björn

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern

5.658 Beiträge seit 2006
vor 9 Jahren

Hi arvbar,

Wie würdet Ihr das Problem angehen.

So wie jedes andere Problem auch. Man schreibt sich die Anforderungen auf, entwirft eine geeignete Software-Architektur, evaluiert verschiedene Ansätze für alle Teilprobleme und dann schreibt und testet man die einzelnen Programmmodule.

Da du aber offenbar noch keine Erfahrungen (mit C#, 3D-Programmierung, Spieleprogrammierung) hast, würde ich empfehlen, erstmal mit einem kleineren Projekt anzufangen. Beispielsweise Vier Gewinnt in 2D, oder einen einfachen Würfel in 3D. Das ist für einen Anfänger schon eine genügend hohe Herausforderung.

Zum Einstieg in die 3D-Grafik gibt es hier einen Artikel mit weiteren Links: [FAQ] Wie finde ich den Einstieg in die 3D-Programmierung mit C#?. Zum Einstieg in C# und die Objektorientierte Programmierung gibt es hier einige Tips: [FAQ] Wie finde ich den Einstieg in C#?.

Christian

Weeks of programming can save you hours of planning

A
arvbar Themenstarter:in
23 Beiträge seit 2013
vor 9 Jahren

Super vielen Dank für die schnelle Hilfe. 😃

Viele Grüße
Arne

A
arvbar Themenstarter:in
23 Beiträge seit 2013
vor 9 Jahren

So ich hab mich entschieden mich etwas genauer mit WPF, Blender und Microsofts Expressions Blend auseinanderzusetzten. Ansich ist das ja ne wirklich schicke Sache. Nach ein bisschen lesen, machen und tun bin ich ganz begeistert das ich mein Modell um die X-Achse drehen kann. 😉

A
arvbar Themenstarter:in
23 Beiträge seit 2013
vor 8 Jahren

Hallo zusammen,
unser Studienprojekt nähert sich dem Ende und ich finde das Spiel ist für unsere erste C# Anwendung ganz aktzeptabel geworden. Danke nochmal für die wertvollen Tipps. Wir haben uns dabei sehr stark an das MVVM Pattern gehalten. Die Logik haben wir im Model implementiert (.Dll) und zu jeder View ein View Model erstellt. Aktuell arbeiten wir noch an der KI für den Computer. Im Anhang nochmal zwei Screenshots unserer Anwendung.
Viele Grüße
Arne

A
arvbar Themenstarter:in
23 Beiträge seit 2013
vor 8 Jahren

Hier nochmal die View des Spielfeldes.

A
arvbar Themenstarter:in
23 Beiträge seit 2013
vor 8 Jahren

Die Serielle Kommunikation ist für einen 3D-RGB Würfel den wir gebaut haben. Dieser wird als zusätzliche Anzeige des aktuellen Spiels genutzt (Gadget 😉.