AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Wieso funktioniert das mit dem Zufall nicht?
Thema durchsuchen
Ansicht
Themen-Optionen

Wieso funktioniert das mit dem Zufall nicht?

Ein Thema von fabgo · begonnen am 1. Nov 2005 · letzter Beitrag vom 2. Nov 2005
Antwort Antwort
Seite 1 von 2  1 2      
fabgo
(Gast)

n/a Beiträge
 
#1

Wieso funktioniert das mit dem Zufall nicht?

  Alt 1. Nov 2005, 16:23
Hallo,

Wieso funktioniert das mit dem Zufall nicht? Es wird immer der 2. Wert ausgeführt!!!



Delphi-Quellcode:
procedure TAmpel2.Timer1Timer(Sender: TObject);
begin
  if ImAuto1.Left <= 620
    then begin
      ImAuto1.Left := ImAuto1.Left +2;
      Timer1.Interval := 10;
    end;
  if ImAuto1.Left >= 620
    then begin
      ImAuto1.Left := -20;
      Timer1.Interval := 10;
    end
      else if (ImAuto1.Left > 88) and (ImAuto1.Left < 174) and (Imgelblinks.Visible = True)
        then begin
          if random(2) >= 1
            then begin
              Timer1.Interval := 10;
            end
              else begin
                Timer1.Interval := 1000;
              end; end
          else if (ImAuto1.Left > 124) and (ImAuto1.Left < 174)and (Imrotlinks.Visible)
            then begin
              Timer1.Interval := 30;
            end;
end;

habe zusätzlich noch folgendes:

Delphi-Quellcode:
procedure TAmpel2.FormCreate(Sender: TObject);
begin
  randomize;
end;

Wieso funzt das nicht.
Bitte helft mir.
Bastel schon den ganzen Tag!!!

Danke

fabgo
  Mit Zitat antworten Zitat
ripper8472

Registriert seit: 17. Aug 2003
275 Beiträge
 
#2

Re: Wieso funktioniert das mit dem Zufall nicht?

  Alt 1. Nov 2005, 16:24
und wo zum geier soll da zufall herkommen, wenn ich mal so fragen darf?

ah ich sehs. random(2) >= 1
nun, das kann 0 oder 1 sein, also solltest du bei 100 versuchen etwa 50 treffer je moeglichkeit haben.
Christoph
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#3

Re: Wieso funktioniert das mit dem Zufall nicht?

  Alt 1. Nov 2005, 16:27
[delphi]if random(2) >= 1 [delphi]

da.
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
fabgo
(Gast)

n/a Beiträge
 
#4

Re: Wieso funktioniert das mit dem Zufall nicht?

  Alt 1. Nov 2005, 16:32
wenn ich es gleich setze, also

if random(2) = 1

funktioniert es auch nicht.

Was ist also falsch???
  Mit Zitat antworten Zitat
ripper8472

Registriert seit: 17. Aug 2003
275 Beiträge
 
#5

Re: Wieso funktioniert das mit dem Zufall nicht?

  Alt 1. Nov 2005, 16:39
geh mit dem debugger rein, dann siehst du es vielleicht.

keiner wird sich die muehe machen, deinen code auseinanderzunehmen. da stecken sicher einfache logikfehler drin, die du selbst loesen musst. ich denke, im programmablauf kommts garnicht erst in die naehe des random() aufrufes.
Christoph
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Wieso funktioniert das mit dem Zufall nicht?

  Alt 1. Nov 2005, 16:45
du kannst ja mit showmessage abtesten, wo du dich gerade befindest und Variablenwerte ausgeben.
Michael Enßlin
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Wieso funktioniert das mit dem Zufall nicht?

  Alt 1. Nov 2005, 16:45
Zitat von ripper8472:
und wo zum geier soll da zufall herkommen, wenn ich mal so fragen darf? ...
Hai ripper8472,

ich denke das kann man auch wesentlich freundlicher sagen!.

Zitat von ripper8472:
.... keiner wird sich die muehe machen, deinen code auseinanderzunehmen. da stecken sicher einfache logikfehler drin, die du selbst loesen musst. ich denke, im programmablauf kommts garnicht erst in die naehe des random() aufrufes.
Ich glaube schon das die User der DP sich "die mühe machen". Wenn Du einen Fehler in dem Code von fabgo siehst dann sage bitte wo der Fehler ist. Alles andere ist unnötig.

Danke.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#8

Re: Wieso funktioniert das mit dem Zufall nicht?

  Alt 1. Nov 2005, 16:50
if (Odd(Random(100))) then ... würde ich stattdessen probieren.

Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#9

Re: Wieso funktioniert das mit dem Zufall nicht?

  Alt 1. Nov 2005, 16:58
ManuMFs idee ist schon gut weil dir Random Funktion auf der Systemzeit beruht (sowiet das noch so ist) könnte es sein das dein Prog so lange braucht das Random immer den gleichen Wert ausgibt.

Lösung erhöhe den Wert von Random z.b. If Random(1000)>500 then xxxx else xxxx
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
fabgo
(Gast)

n/a Beiträge
 
#10

Re: Wieso funktioniert das mit dem Zufall nicht?

  Alt 1. Nov 2005, 16:59
Ich glaub ich weiß jetzt worin der Fehler besteht.

Ich möchte ja, das Random mir nur einmal eine zahl rauswirft und das nicht wiederholt.

Wis kann man das aufhalten???
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 19:29 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