![]() |
Re: Kartenspiel
Vorschlag. Lege im Oncreate alle Karten in ein Array, also jede Karte einmal. Und dann mischt du einfach immer bevor du ziehst, indem du zB 1000mal zufällige Karten vertauscht ;-)
|
Re: Kartenspiel
Ich hab gerade ein Problem!!
Also ich berechne in einer Function den Gewinn! Nun möchte ich diesen Gewinn in einer anderen Unit(Hauptunit) nutzen! Die Hauptunit hat Zugriff auf alle anderen Units, jedoch hat die Unit in der die Funktion ist, die den Gewinn beinhaltet keinen Zugriff auf andere Units!!! Wie bekomme ich jetzt den Wert des Gewinns in die Hauptunit??? INFO::: Die Function die den Gewinn beinhaltet liefert keinen integer zurrück, also muss ich mir ja höchst wahrscheinlich eine HilfsFunktion schreiben, aber das Funktioniert dann nicht wirklich!!! BEISPIEL:::: HIER WIRD DER GEWINN BERECHNET
Code:
Wie bekomme ich jetzt diesen Gewinn in die Hauptunit???
FUNCTION BLAHBLAHBLAH : boolean;
{GewinnÜberprüfung} Gewinn := 0; {Paar1} if ((Karten[0] in OwnDeck) or (Karten[1] in OwnDeck)) then Gewinn := (Gewinn+(CWinFactors[0] * (Maechtigkeit * UConst.cCardCost))); {Paar2} if ((Karten[2] in OwnDeck) or (Karten[3] in OwnDeck)) then Gewinn := (Gewinn+(CWinFactors[1] * (Maechtigkeit * UConst.cCardCost))); {Paar3} if ((Karten[4] in OwnDeck) or (Karten[5] in OwnDeck)) then Gewinn := (Gewinn+(CWinFactors[2] * (Maechtigkeit * UConst.cCardCost))); {Paar4} if ((Karten[6] in OwnDeck) or (Karten[7] in OwnDeck)) then Gewinn := (Gewinn+(CWinFactors[3] * (Maechtigkeit * UConst.cCardCost))); {GroßesLos} if (Karten[8] in OwnDeck) then Gewinn := (Gewinn+(CWinFactors[4] * (Maechtigkeit * UConst.cCardCost))); |
Re: Kartenspiel
Du kannst deine Funktion so deklarieren: FUNCTION BLAHBLAHBLAH(out gewinn:integer) : boolean;
Das heißt, dass du beim Funktionsaufruf eine Variable mit angeben musst, in die dann der Gewinn reingeschrieben wird. Du musst im Funktionsrumpf einfach Gewinn auf einen bestimmten Wert setzen. |
Re: Kartenspiel
Ich darf die Funktion nicht verändern!!!
Kann man das nicht mit ner getFunktion machen??? Ich probiere es aber es klappt nicht!! |
Re: Kartenspiel
@Stillmatic
Wie meinst du das mit der "getFunktion". Der vernünftigste Weg wäre wie @Apollonius schon meinte über einen Out-Parameter. Wenn dies bei dir nicht möglich sein sollte, dann kannst du zb. auch den Gewinn in einer globalen Variable im Interface-Abschnitt speichern und vom Hauptprogramm darauf zugreifen, ist aber wohl der schlechteste Weg. |
Re: Kartenspiel
Das ist schlecht!!
Ich darf keine globalen Variablen anlegen und die Funktionen nicht verändern!! mit getGewinn meine ich..... Das einer Funktion den Wert des Gewinnes übergeben wird??? |
Re: Kartenspiel
Hab ich mir gedacht, aber wenn du nichts ändern darfst, wie
kannst du dann ein lokale Variable innerhalb einer Funktion zurückgeben. Was darfst du denn jetzt wirklich ändern? |
Re: Kartenspiel
Ich darf alles ändern ausser die vorgegebenen Funktionen und ich darf keine globalen Variablen anlegen!!!
|
Re: Kartenspiel
:o und Gewinn ist eine Variable innerhalb der Funktion getGewinn oder ist die eventuell
woanders deklariert. Wäre es möglich die komplette Funktion anzusehen, denn ich kann mir nicht vorstellen, das eine Funktion zur Gewinnermittlung den Gewinn nicht zurückgeben kann :-D |
Re: Kartenspiel
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Leutz!!
Ich hab das Programm (als .exe) mal hochgeladen!! Wenn sich ein paar freiwillige mal zum testen opfern könnten, wäre dies sehr nett!! Über Meinungen würd ich mich freuen! :lol: Falls wer die Spielregeln nicht kennt..... ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz