Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Roulette (https://www.delphipraxis.net/174187-roulette.html)

galoru 8. Apr 2013 18:01

Roulette
 
Servus Leute,

ich programmiere derzeit das Roulette und möchte nun eine zufällige Zahl würfeln lassen. Der Zahlenbereich ist z.B 1,3,9,12,17
Wie kann ich eine Zahl dieses Bereiches erzeugen ?

Bummi 8. Apr 2013 18:08

AW: Roulette
 
Was meinst Du mit Bereich, nur die Zahlen (1,3,9,12,17) sind ein gültiges Ergebnis?

galoru 8. Apr 2013 18:10

AW: Roulette
 
Ich möchte eine generierte Zahl zwischen den Zahlen 1,3,9,12,17 haben. Also nur eine dieser 5 Zahlen.

Bummi 8. Apr 2013 18:15

AW: Roulette
 
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
const
   C_NUM: Array[0..4] of integer =(1,3,9,12,17);
begin
   Caption := IntToStr(C_NUM[Random(5)]);
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
  Randomize;
end;

galoru 8. Apr 2013 18:18

AW: Roulette
 
Vielen Dank, hilft mir wirklich sehr!:-D

galoru 8. Apr 2013 20:32

AW: Roulette
 
Ich hätte noch eine Frage; wenn ich z.B auf Rot setze und die zufällige Zahl liegt auf Rot, dann gewinne ich ja. Diesen Gewinn gebe ich in einem Editfenster aus. Wenn ich nun nochmal würfle mit einem anderen Einsatz und nochmal gewinne, bleibt das Editfenster so wie es ist. Es ändert sich praktisch nichts am Gewinn obwohl ich ja gewonnen habe. Wie kann ich nun nach jedem Würfeln alles "resetten" um mit einem neuen Einsatz zu spielen?

Sir Rufo 8. Apr 2013 20:45

AW: Roulette
 
Indem du überall - vor dem nächsten Ziehen - alles auf die Werte stellst, die du haben möchtest?

galoru 8. Apr 2013 20:49

AW: Roulette
 
Ich habe sie im Editfenster geändert aber es tut sich nichts.
Vielleicht findet jemand meinen Fehler. Wir programmieren seit 1 Jahr in der Schule, also bitte nicht an der Fachtermini wundern.
Edit1 zeigt den Einsatz, Edit2 das aktuelle Konto und Edit3 die zufällige Zahl.
Code:
IF Edit1.text= '' then showmessage ('Einsatz ungültig')else begin

x:= strtoint(Edit1.text);
randomize;
Edit3.text:=IntToStr(random(37));

If Edit3.text=IntTostr(1 or 3 or 5 or 7 or 9 or 12 or 14 or
16 or 18 or 19 or 21 or 23 or 25 or 27 or 30 or 32 or 34 or 36) then

Edit2.Text:=inttostr(x+x)else
Edit2.text:=inttostr(0);


If Edit3.text=IntTostr(0) then
Edit2.Text:=inttostr(x div 2);
end;
end;

galoru 8. Apr 2013 21:06

AW: Roulette
 
Ich fange an eine Zahl zwischen 0 und 36 zu würfeln. Ist es eine 1,3,5,7 etc., also alle Zahlen die auf Rot liegen, setzt sich das Konto aus dem doppeltem des Einsatzes zusammen. Wenn eine Zahl gewürfelt wird, die nicht auf Rot liegt, so setzt sich das Konto aus der Differenz des aktuellen Kontos und des Einsatzes zusammen. Wird eine 0 gewürfelt dann halbiert sich das Konto. Egal ob ich gewinne oder verliere, es wird immer nur eine 0 beim Konto angezeigt und nach nochmaligem Würfeln passiert nichts.

Bjoerk 8. Apr 2013 21:15

AW: Roulette
 
Wenn ich richtig aufgedröselt hab?
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var
  A, B, C: integer;
begin
  if not TryStrToInt(Edit1.Text, A) then
    ShowMessage('Einsatz ungültig')
  else
  begin
    B := Random(37);
    Edit3.Text := IntToStr(B);
    If B in [1, 3, 5, 7, 9, 12, 14, 16, 18, 19, 21, 23, 25, 27, 30, 32, 34, 36] then
      C := A + A
    else
      C := 0;
    If B = 0 then
      Edit2.Text := IntToStr(A div 2)
    else
      Edit2.Text := IntToStr(C);
  end;
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
  Randomize;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:51 Uhr.
Seite 1 von 3  1 23      

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