AGB  ·  Datenschutz  ·  Impressum  







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

15 Variablen auf Ungleichheit prüfen

Ein Thema von Skritek · begonnen am 22. Apr 2013 · letzter Beitrag vom 29. Apr 2013
Antwort Antwort
Skritek

Registriert seit: 22. Apr 2013
6 Beiträge
 
#1

15 Variablen auf Ungleichheit prüfen

  Alt 22. Apr 2013, 17:57
Delphi-Version: 7
Hallo,

habe da ein kleines Problem. Ich schreibe zur Zeit für den Unterricht an einem kleinen Black Jack (17&4) Programm und es klappt auch alles, bis auf die Überprüfung, dass auf dem Tsch verschiedene Karten liegen.
Also möchte ich die 15 Variablen "Karte1...Karte15" auf ihre Ungleichheit prüfen.

Diese sind vorher durch die Funktion:
Code:
function Zufallskarte(Von, Bis: Integer): Integer;
begin
  Result := Random(Succ(Bis - Von)) + Von;
end;
ermittelt worden.

Wie kann ich das hinbekommen ohne jede Variable einzeln auf Karte1<>Karte2 usw. zu überprüfen? Und danach, falls eine gleiche dabei ist, eine neue Auswählen, die nochmal darauf geprüft wird?

Danke schonmal Tom
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: 15 Variablen auf Ungleichheit prüfen

  Alt 22. Apr 2013, 17:58
Du solltest die Karten am besten in einem Array oder in einer Liste verwalten.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Skritek

Registriert seit: 22. Apr 2013
6 Beiträge
 
#3

AW: 15 Variablen auf Ungleichheit prüfen

  Alt 22. Apr 2013, 18:00
Okay,
und wie genau ?
Sorry, Arrays hatten wir noch nicht ...
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: 15 Variablen auf Ungleichheit prüfen

  Alt 22. Apr 2013, 18:04
Dann speichere doch die Information als String oder in den Bits eines Integerwerts.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Skritek

Registriert seit: 22. Apr 2013
6 Beiträge
 
#5

AW: 15 Variablen auf Ungleichheit prüfen

  Alt 22. Apr 2013, 18:11
Wie kann ich denn eine Variable, die zZ. noch keinen Wert hat in einen String umwandeln, der in einem Array verwendet werden kann ?
Kannst du mir das nicht eventuell am Quellcode zeigen?

Könnte das nicht eventuell so aussehen ?

Code:
function Zufallskarte(Von, Bis: Integer): Integer;
var
  i,i2: byte;
  variabelspeicher: array [1...15] of string;
begin
  Result := Random(Succ(Bis - Von)) + Von;


  variabelspeicher[1]:= '<Karte1>';
  variabelspeicher[2]:= '<Karte2>';
  variabelspeicher[3]:= '<Karte3>';
  variabelspeicher[4]:= '<Karte4>';
  variabelspeicher[5]:= '<Karte5>';
  variabelspeicher[6]:= '<Karte6>';
  variabelspeicher[7]:= '<Karte7>';
  variabelspeicher[8]:= '<Karte8>';
  variabelspeicher[9]:= '<Karte9>';
  variabelspeicher[10]:= '<Karte10>';
  variabelspeicher[11]:= '<Karte11>';
  variabelspeicher[12]:= '<Karte12>';
  variabelspeicher[13]:= '<Karte13>';
  variabelspeicher[14]:= '<Karte14>';
  variabelspeicher[15]:= '<Karte15>';

  for i:=1 to 10 do
    for i2:=1 to 10 do
      if i2<>i then
          if variabelspeicher[i] = variabelspeicher[i2] then
             Result := Random(Succ(Bis - Von)) + Von;
end;
LG
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#6

AW: 15 Variablen auf Ungleichheit prüfen

  Alt 22. Apr 2013, 18:19
Anstatt 15 Variablen zu verwenden, solltest du eine Variable verwenden~
Also anstatt:
Karte1, Karte2, ...., Karte15: Integer;

Das hier:
Karten: Array[1..15] of Integer;

Dann ermittelst du wie gewohnt die Karten eben per Zufallskarte
Also:
Karten[1] := Zufallskarte(...);
Karten[2] := Zufallskarte(...);
..

Dann kannste nämlich schön mit Schleifen durch und kucken, ob ne Karte doppelt oder mehrfach vorkommt!
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Antwort Antwort


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:17 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