AGB  ·  Datenschutz  ·  Impressum  







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

Roulette-Strategie-Simulator

Offene Frage von "Der Siedler"
Ein Thema von Der Siedler · begonnen am 1. Jul 2013 · letzter Beitrag vom 3. Jul 2013
 
Der Siedler

Registriert seit: 1. Jul 2013
9 Beiträge
 
#1

Roulette-Strategie-Simulator

  Alt 1. Jul 2013, 00:39
Hallo zusammen,

ich bin ganz neu hier und deshalb bitte ich darüber hinwegzusehen, wenn ich hier im falschen Teil des Forums gepostet habe. Ich habe heute Abend ein paar Zeilen geschrieben, die die sog. "Masse egale"-Strategie beim Roulette auf Herz und Nieren überprüfen soll.

Im Grunde ist das Programm aber auch unabhängig vom Roulette betrachtbar. Vereinfacht könnte man sagen, ich zähle Münzwürfe, bis ein bestimmtes Verhältnis von Kopf zu Zahl gefallen ist. Das kann natürlich lange dauern, wie man sich vorstellen kann. Jedenfalls läuft das Programm irgendwann ohne Fehlermeldung einfach nicht mehr weiter. Ich würde mich sehr freuen, wenn mir jemand einen Tipp geben kann.

Anbei der Code. Auch hier weiß ich nicht, inwiefern es üblich ist, hier den Code einfach als bedrohliche Wall of Text zu posten, aber ich wusste mir nicht anders zu helfen.

Gute Nacht,

Der Siedler

Code:
unit MasseEgale;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TfMasseEgale = class(TForm)
    btStart: TButton;
    edAnzahl: TEdit;
    lbGewinn: TLabel;
    procedure btStartClick(Sender: TObject);
  private
    i,a : integer;
    aManque,aPasse,aZero,aGewinn,aMinus : real;
    procedure Wurf (pWette : string);
    procedure StueckGewinn;
    procedure Manquespiel;
    procedure Passespiel;
  public
    { Public declarations }
  end;

var
  fMasseEgale: TfMasseEgale;

implementation

{$R *.dfm}

procedure TfMasseEgale.btStartClick(Sender: TObject);
begin
  i := 0;
  aManque := 0;
  aPasse := 0;
  aZero := 0;
  aGewinn := 0;
  aMinus := 0;
  Randomize;
  Stueckgewinn;
end;

procedure TfMasseEgale.Stueckgewinn;
begin
  if i < strtoint(edAnzahl.Text)
    then
    begin
      while ((aManque - aPasse) < 5) and ((aPasse - aManque) < 5) do
      begin
        Wurf('Keine Wette');
      end;
      if aManque - aPasse = 5
        then Passespiel
        else Manquespiel;
      Stueckgewinn;
    end;
  lbGewinn.Caption := floattostr(aGewinn) + ' Gewinn, Rückhalt: ' + floattostr(-aMinus);
  edAnzahl.Text := inttostr(i);
end;

procedure TfMasseEgale.Manquespiel;
var aGewinnziel : real;
begin
  aGewinnziel := aGewinn + 1;
  while aGewinn < aGewinnziel do
  begin
    Wurf('Manque');
  end;
end;

procedure TfMasseEgale.Passespiel;
var aGewinnziel : real;
begin
  aGewinnziel := aGewinn + 1;
  while aGewinn < aGewinnziel do
  begin
    Wurf('Passe');
  end;
end;

procedure TfMasseEgale.Wurf (pWette : string);
begin
  a := Random(37);
  case a of
    0      : begin
               aZero := aZero + 1;
               if pWette <> 'Keine Wette'
                 then aGewinn := aGewinn - 0.5;
             end;
    1..18  : begin
               aManque := aManque + 1;
               if pWette <> 'Keine Wette'
                 then aGewinn := aGewinn -1;
               if pWette = 'Manque'
                 then aGewinn := aGewinn + 2;
             end;
    19..36 : begin
               aPasse := aPasse + 1;
               if pWette <> 'Keine Wette'
                 then aGewinn := aGewinn -1;
               if pWette = 'Passe'
                 then aGewinn := aGewinn + 2;
             end;
  end;
  i := i + 1;
  if aGewinn < aMinus
    then aMinus := aGewinn;
end;

end.
  Mit Zitat antworten Zitat
 


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 09:14 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