Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programmieren von "Mensch ärgere Dich nicht" (https://www.delphipraxis.net/157298-programmieren-von-mensch-aergere-dich-nicht.html)

Sani93 13. Jan 2011 09:15

AW: Programmieren von "Mensch ärgere Dich nicht"
 
ja hab ich auch gemerkt und jetztt gändert.
ich hab aber noch ne frage...
wenn alle figuren (im haus) oder entweder (im haus und im ziel), kann man ja drei mal würfeln. ich hoffe ihr wisst, was ich meine.
aber ich weiß nciht wie ich das hinbekomme.

rollstuhlfahrer 13. Jan 2011 17:54

AW: Programmieren von "Mensch ärgere Dich nicht"
 
dann brauchst du noch eine Varible, die die Anzahl der schon durchgeführten Würfe enthält. Du kannst ja mit ein paar If-Strukturen ganz einfach ausfindig machen, ob ein Zug möglich ist oder nicht.

Bernhard

Sani93 13. Jan 2011 19:49

AW: Programmieren von "Mensch ärgere Dich nicht"
 
zu dem array. arrays sind ganz böse. ich weiß wie ich einen anlege und auch wie ich ihn "abfrage", aber wie ich den dann richtig benutze weiß ich nicht. ich glaube du meinst das ich nen array "Felder" anlegen soll. dieser soll von [1..72](Alle Felder -> Haus,Ziel,Felder) gehen. so, wenn das so weit richtig ist, weiß ich aber nicht mehr weiter...

mit den würfen, das hab ich versucht. ich hab die position der figuren angegeben, wenn sie im haus sind. dann hab ich geschrieben, wenn sie im haus sind, erhöhe variable um 1. sprich, 4 figuren im haus, variable = 4. dann hab ich noch geschrieben, dass wenn die figuren ins ziel einlaufen, erhöhe variable um 1.
somst iist immerwen man 3mal würfeln darf, die variable 4.
in welche prozedur soll ich diese anweisung jetzt legen? leg ich sie auf den würfel button, setzt der die variable bei jedem click auf drei, solange alle figuren im haus sind. eigentlich soll er die variable aber -1 rechnen...

rollstuhlfahrer 13. Jan 2011 21:54

AW: Programmieren von "Mensch ärgere Dich nicht"
 
Arrays sind von Grund auf nicht böse. Ich dachte es wird dann einfacher: Du hast eine Zuordnung von FeldNummer zu Position des Feldes auf dem Spielplan. Wenn du jetzt eine Figur ziehen lässt, dann geht das durch 2 Möglichkeiten:
a) Du ziehst die Figur von einer Position auf die nächste, wobei du dabei die dir bekannten Fehler hast, oder
b) du sagst ganz einfach, dass sich die Feldnummer ändern soll. Mit Hilfe der Zuordnung Feldnummer -> Position kannst du dann die Position der Figur in Abhängigkeit der Feldnummer errechnen. So ist es dann auch viel einfacher, zu prüfen, wo eine Figur gerade ist und wie sie ziehen kann. Mal von Haus und Ziel abgesehen.

So jetzt du den Würfelversuchen: Du definierst eine globale Variable (das ist böse, aber erst einmal notwendig. Die kann am Ende immer noch weichen). Die nennst du z.B. "AnzahlWuerfe" (Integer). Dann kannst du noch eine weitere globale Variable definieren (noch böser), der du dann zuordnest, dass wenn diese Variable gesetzt ist, der Spieler 3x würfeln darf (Du musst das dann nicht immer wieder abfragen). Vor dem Zug prüfst du, ob der Spieler 3x würfeln darf und setzt dementsprechend "Darf3xWuerfeln" auf TRUE (da Boolean). Wenn diese Variable true ist, schaust du in AnzahlWuerfe nach, wie viele Würfe der Spieler schon durchgeführt hat und entscheidest dementsprechend, ob er weitere Würfe durchführen darf oder nicht.

Bernhard

DeddyH 14. Jan 2011 07:22

AW: Programmieren von "Mensch ärgere Dich nicht"
 
Wenn man das schön OOP programmiert, dann weiß die Figur, ob sie im Haus steht, und der Spieler weiß, wie oft er schon gewürfelt hat :zwinker:

Sani93 14. Jan 2011 09:36

AW: Programmieren von "Mensch ärgere Dich nicht"
 
ok das mit dem felder zuordnen hab ich auch schon gemacht, halt ohne array. jede figur hat ein editfeld. in einem anderen editfeld steht die würfelzahl und die wird dann zu dem editfeld der figur addiert.

kannst du mir vlt mal das mit der globalen variable, bzw die abfrage schreiben?
wäre nett, danke :)

Sir Rufo 14. Jan 2011 13:26

AW: Programmieren von "Mensch ärgere Dich nicht"
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe da mal (als Fingerübung) einen OOP-Ansatz geschrieben.

Fertig ist der nicht ... aber um das Konzept von OOP zu verstehen.
Gerade so etwas schreit förmlich nach OOP

Der Quelltext ist teilweise mit Kommentaren versehen ... sollte aber (hoffe ich :stupid: ) verständlich sein

MrSpock 14. Jan 2011 16:43

AW: Programmieren von "Mensch ärgere Dich nicht"
 
Zitat:

Zitat von Sani93 (Beitrag 1074655)
ok das mit dem felder zuordnen hab ich auch schon gemacht, halt ohne array. jede figur hat ein editfeld. in einem anderen editfeld steht die würfelzahl und die wird dann zu dem editfeld der figur addiert.

kannst du mir vlt mal das mit der globalen variable, bzw die abfrage schreiben?
wäre nett, danke :)

Hallo Sani93,

benutze bitte Groß-/Kleinschreibung.

Sani93 14. Jan 2011 19:42

AW: Programmieren von "Mensch ärgere Dich nicht"
 
@ MrSpock: Werde ich tun...

Zum OOP, das lernen wir erst nächstes Jahr, das heißt ich habe da leider noch keine Ahnung von :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:15 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz