Benötige Hilfe

Hallo,
also ich studiere und habe dieses Semester das Modul „XML“ belegt.
Als Abschluss davon soll ich nun ein Spiel „erschaffen“ das dem Grundprinzip des allgemein bekannten „Mensch ärgere dich nicht“-Spieles gleicht.
Mein Problem ist das mein Prof der Meinung ist das ich innerhalb von 3 Wochen JavaScript lernen kann, um es dann so gut zu beherrschen um die SVG, die als Grundlage dienen soll, zu manipulieren.
Sprich das ein Würfel per Zufall „würfelt“ und ich die jeweiligen Spielfiguren „schieben“ kann. Wobei ich noch nicht mal weiß, wie ich es realisieren soll wenn vier Spieler mit jeweils vier Figuren aktiv sein wollen.
Ich glaube, ich mache es aber nur für einen Menschen, der sich möglicherweise die Farbe seiner Wahl am Anfang aussuchen kann, gegen einen Spieler, den das Programm stellt.
Hoffe Ihr versteht das Problem und könnt mir Denkanstösse geben in welcher Richtung ich denken bzw. suchen muss.
Danke KKUS

[…]
Sprich das ein Würfel per Zufall „würfelt“ …
[…]

Schau dir dafür mal folgende Seite an:

http://www.naden.de/blog/zufallszahlen-in-javascript…

Gruß
Tim

hmmm…ich danke dir erstmal.
Nur hilft mir das nicht so ganz weiter.
Ich hatte mir ein Feld am rechten Rand gedacht, auf das man nach Aufforderung klicken muss. Und daraufhin „macht“ das Javascript etwas und am Ende „erscheint“ ein Würfelbild.
Man könnte ja um dieses Feld ein legen und darin href=„javascript:wuerfeln()“ angeben.
Und in wuerfeln() wird dann random() aufgerufen und gibt eine Zufallszahl zwischen 1 und 6 zurück.
Diese wird ausgewertet und gibt dann zB eine extern Bilddatei auf dem Feld aus.
Soweit is mir des noch relativ klar.
Nur wie ich die Bilddatei „drauf bekomme“ und dann noch entscheide welche meiner vier Spielfiguren die Schrittzahl gehen soll, das verstehe ich nicht.

Kann ja sein das ich da jetzt falsch denke, oder zu verworren.
Aber ungefähr so ist mein Plan.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo!

Hoffe Ihr versteht das Problem und könnt mir Denkanstösse
geben in welcher Richtung ich denken bzw. suchen muss.

Ich würde erstemal die Spielelogik komplett getrennt von der grafischen Darstellung entwickeln und auch gleich für den allgemeinen Fall programmieren, also variable Anzahl der Felder im Ring (also einmal rum) und variable Anzahl an Mitspielern, wobei für jeden Spieler das Startfeld festgelegt wird. Wenn du das programmiert hast, ist es völlig egal, ob des 20 Felder im Ring und 2 Spieler sind oder 1000 Felder und 30 Spieler.

Hier so ein bisschen Pseudocode:

Spielelogik sl = new Spielelogik(40,3) # Spielelogik-Objekt für 40 Felder, 3 Spieler
sl.setStartFeld(0,0) # 1. Spieler hat das Startfeld mit dem Index 0
sl.setStartFeld(1,10) # 2. Spieler hat das Startfeld mit dem Index 10
sl.setStartFeld(2,30) # 3. Spieler hat das Startfeld mit dem Index 30

sl.setSpielerDerDranIst(1) # Der 2. Spieler ist dran ...
sl.setWurf(5) # ... und würfelt eine 5 ...
arrayZuege = sl.getMoeglicheZuege() # ... bekommt die Liste der möglichen Züge ...
sl.setZug(2) # ... und zieht.

boolDreimal = sl.darfDreimalWuerfeln(0) # darf aktuell Spieler 1 dreimal würfeln?
arrayFiguren = sl.getPositionDerFiguren(2) # Wo sind die Positionen des 3. Spielers

etc. pp.

Das entspreche dem klassischem Brett für 4 Spieler (http://upload.wikimedia.org/wikipedia/commons/f/fe/M…) mit 3 tatsächlichen Spielern.

Erst wenn die Logik steht, würd ich mich an die Grafik machen. Wenn du versuchst, die Logik mit in die Grafikroutinen zu packen, gibt das ein Chaos.

Gruß, Jan

Gut versuch ich mich erstmal an der Logik ohne Graphik…

Nur wie ich die Bilddatei „drauf bekomme“ und dann noch
entscheide welche meiner vier Spielfiguren die Schrittzahl
gehen soll, das verstehe ich nicht.

Kann ja sein das ich da jetzt falsch denke, oder zu verworren.
Aber ungefähr so ist mein Plan.

Ja, das klingt alles schonmal ganz gut!
Der Würfel kann ja eine Bilddatei sein, auf welche du via
document.getElementById(„ID des Bildes“).src = „neuesBild.jpg“
zugreifen kannst.

Kannst ja zu Beginn einfach ein Bild nehmen, welches die gleiche Farbe wie der Hintergrund hat, damit es so aussieht, als wäre noch gar nicht gewürfelt worden.
Dann rufst du per onclick-Event eines Buttons die Würfel-Funktion auf, welche intern per random() eine Zahl zwischen 1 und 6 auswählt.
Und je nachdem welche es ist, änderst du das „leere“ Bild zu dem Würfelbild.

Bsp:

//Leeres Bild:

//Im Script-Teil dann:
if(zahl == 2){
document.getElementById(„Wuerfel“).src=„2.jpg“>
}

Sorry, wenn dir das nicht hilft.
Weiß ja nicht, wie weit du bei HTML und JavaScript bist. :stuck_out_tongue_winking_eye:

Gruß
Tim

Gut versuch ich mich erstmal an der Logik ohne Graphik…

Wobei jetzt die Frage ist, ob das Spiel nur ganz „dumm“ 1:1 umgesetzt werden soll, dass also auch das Setzen der Spielfiguren durch den Anwender erfolgen soll? Beispiel: Der Anwender würfelt z.B. eine 5 und setzt dann die Figur versehentlich nur 4 Felder weiter. Soll das das Programm abfangen? Wenn nicht, dann geht mein Ansatz vielleicht etwas zu weit.

Jan

Wobei jetzt die Frage ist, ob das Spiel nur ganz „dumm“ 1:1
umgesetzt werden soll, dass also auch das Setzen der
Spielfiguren durch den Anwender erfolgen soll?

nee der spieler soll nur wenn es mehr als eine möglichkeit gibt seine figuren zu setzen auf den spielplan eingreifen.
eigentlich…

Weiß ja nicht, wie weit du bei HTML und JavaScript bist. :stuck_out_tongue_winking_eye:

also HTML habe ich letztes Semester mit 1.3 abgeschlossen.
Aber das Prob is ich darf ja gar kein HTML nehmen…
muss in SVG sein und darin soll das Javascript sein.
[Klingt das jetzt nur für mich kompliziert?]
Wenn es in HTML wäre, hätte ich glaub ich weniger Probleme…