AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kartenspiel

Ein Thema von Stillmatic · begonnen am 20. Mai 2007 · letzter Beitrag vom 23. Mai 2007
Antwort Antwort
Seite 2 von 3     12 3      
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#11

Re: Kartenspiel

  Alt 21. Mai 2007, 13:00
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
  Mit Zitat antworten Zitat
Stillmatic

Registriert seit: 25. Apr 2007
110 Beiträge
 
#12

Re: Kartenspiel

  Alt 21. Mai 2007, 17:14
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:
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)));
Wie bekomme ich jetzt diesen Gewinn in die Hauptunit???
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: Kartenspiel

  Alt 21. Mai 2007, 17:33
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.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Stillmatic

Registriert seit: 25. Apr 2007
110 Beiträge
 
#14

Re: Kartenspiel

  Alt 21. Mai 2007, 17:35
Ich darf die Funktion nicht verändern!!!
Kann man das nicht mit ner getFunktion machen???
Ich probiere es aber es klappt nicht!!
  Mit Zitat antworten Zitat
Gremlin

Registriert seit: 18. Apr 2006
Ort: Im Süden
177 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Kartenspiel

  Alt 21. Mai 2007, 17:52
@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.
Gruss Gremlin
  Mit Zitat antworten Zitat
Stillmatic

Registriert seit: 25. Apr 2007
110 Beiträge
 
#16

Re: Kartenspiel

  Alt 21. Mai 2007, 17:54
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???
  Mit Zitat antworten Zitat
Gremlin

Registriert seit: 18. Apr 2006
Ort: Im Süden
177 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: Kartenspiel

  Alt 21. Mai 2007, 18:44
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?
Gruss Gremlin
  Mit Zitat antworten Zitat
Stillmatic

Registriert seit: 25. Apr 2007
110 Beiträge
 
#18

Re: Kartenspiel

  Alt 21. Mai 2007, 18:46
Ich darf alles ändern ausser die vorgegebenen Funktionen und ich darf keine globalen Variablen anlegen!!!
  Mit Zitat antworten Zitat
Gremlin

Registriert seit: 18. Apr 2006
Ort: Im Süden
177 Beiträge
 
Delphi 7 Enterprise
 
#19

Re: Kartenspiel

  Alt 21. Mai 2007, 18:55
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
Gruss Gremlin
  Mit Zitat antworten Zitat
Stillmatic

Registriert seit: 25. Apr 2007
110 Beiträge
 
#20

Re: Kartenspiel

  Alt 22. Mai 2007, 13:43
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!

Falls wer die Spielregeln nicht kennt.....

http://de.wikipedia.org/wiki/Schlesische_Lotterie
Angehängte Dateien
Dateityp: exe schlesischelotterie_131.exe (434,0 KB, 24x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:47 Uhr.
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