Entwickler-Ecke

Open Source Projekte - Mensch ärgere Dich nicht!


Horst-Dieter - Fr 10.04.09 10:33
Titel: Mensch ärgere Dich nicht!
Bekanntes Brettspiel mit bis zu 4 Mitspielern mit den Regeln des Brettspiels für den Computer.
Die Rollen aller Mitspieler können durch den Rechner übernommen werden. Der Computer kann auch gegen sich selbst spielen.


Hidden - Fr 10.04.09 10:53

Hi :)

Ich kann offen gesagt nicht entdecken, wie man Spielfiguren nach dem Würfeln einer 6 ins Spiel bringt :nixweiss:

mfG,


Horst-Dieter - Fr 10.04.09 11:12

user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
Hi :)

Ich kann offen gesagt nicht entdecken, wie man Spielfiguren nach dem Würfeln einer 6 ins Spiel bringt :nixweiss:

mfG,


Ganz einfach : einen Stein der aktuellen Farbe anklicken !!


passiv - Fr 10.04.09 11:21

erstmal: ich bin überrascht, dass du in dem projekt nicht den faden verloren hast ... das wär für mich ein klarer fall von Canvas und Paintbox oder zumindest dynamisch erzeugten images

aber dann entdeckte ich das:

Delphi-Quelltext
1:
if Brett[3].computer=true then cgruen.visible:=true else cgruen.visible:=false;                    

(ich hab immer noch nicht verstanden, worfür es die cgruen und konsorten gibt ...) bin ich an meine anfänge erinnert worden :D . Visible ist eine Boolean-Variable (eig. eine property, wurscht). und ein if braucht auch ein booleansche Werte um zu funktionieren. dh: man kann sich des if sparen und cgruen.visible:=Brett[3].computer schreiben. nicht böse auffassen, ein tipp um den code auch wartbar zu halten :roll: . Dafür gibts nämlich auch die Kommentare, von denen im Code nicht übermäßig viel vorkommen.

weiters: allein die Prozedur Startparameter hat mich geschockt :shock: da wird man ja vom hinsehen schon schwummrig ... das ist unmöglich zu entziffern :D hier würden schleifen helfen, die aus einem array of TPoint die vorher gesetzten "Bahnhofskoordinaten" speichern. die könnten auch lokal sein. weil in einem "Bahnhof" ist die realtive koordinate des steins ja immer gleich :wink:

sonst: über geschmack lässt sich bekanntlich streiten, die farben sind nicht so mein fall :lol: . und die fehlermeldungen passen da auch farblich nicht ganz dazu ...
Die möglichkeit, das About-Fenster aufzurufen ist bei mir quasi unsichtbar. für sowas dann evtl. keine system-farben nehmen, bei mir ist clBtnFace dem gelb irrsinnig nah :wink:


Horst-Dieter - Fr 10.04.09 12:06


Delphi-Quelltext
1:
if Brett[3].computer=true then cgruen.visible:=true else cgruen.visible:=false;                    

(ich hab immer noch nicht verstanden, worfür es die cgruen und konsorten gibt ...) bin ich an meine anfänge erinnert


"cgruen und Konsorten" sind Bilder, die nur dann sichtbar sind, wenn der Computer die Rolle des entsprechenden Spielers übernimmt.

Grundprinzip des Spiels sind mehrere Arrays. Jeder Spieler hat praktisch sein eigenes Spielbrett, dass immer beim Eintritt in das Spiel von Grundbrett geladen wird und bei Übergabe an den nächsten Spieler wieder zurück an das Hauptfeld gegeben wird.


Hidden - Fr 10.04.09 14:35

Hi :)

Warum ist das Spiel bereits aus, wenn eine Farbe gewonnen hat? Wären Zweit- und Drittplatzierter nicht eventuell auch noch interessant?

mfG,


Horst-Dieter - Do 23.04.09 10:31

Danke für die Anregung. Bin dabei das Programm so zu verändern, dass man weiterspielen kann, auch wenn eine Farbe bereits gewonnen hat.