Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Der "Color-Code" (https://www.delphipraxis.net/158059-der-color-code.html)

Dragon93 3. Feb 2011 21:00

Der "Color-Code"
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo meine lieben mit Streiter des Programierfeldes.
Ein Kumpel von mir weis das ich Spiele Programierer werden will und gab mir die klitze kleine aufgabe für ihn ein "Spiel" zu entwerfen. Er nannte es "Color-Code" Und wie der Name schon sagt es geht darum, das man einen Farben Code zusammen bekommt und ihn sich merkt.

Alles funktionier einband frei das programm generiert einband frei und bla bla bla nur! ich müss meinen Abgleich zurück Initalisiren, Mit "Abgleich:=StrToInt('');" gehts nicht wäre Super wenn da jemand was passendes hätte :)
Ich werde das Spiel gleich mal mit Anhängen :)

Eine gute nacht und einen Traum voller Codes Wünscht euch
DragonD93

patti 3. Feb 2011 21:12

AW: Der "Color-Code"
 
Zitat:

Zitat von Dragon93 (Beitrag 1079410)
Alles funktionier einband frei das programm generiert einband frei und bla bla bla nur! ich müss meinen Abgleich zurück Initalisiren, Mit "Abgleich:=StrToInt('');" gehts nicht wäre Super wenn da jemand was passendes hätte :)

Das musst du wohl nochmal genauer erklären, woher sollen wir wissen, was du mit "Abgleich" meinst und was du eigentlich erreichen willst :gruebel:

haentschman 3. Feb 2011 21:17

AW: Der "Color-Code"
 
Guten Abend...

2 Nachfragen:
- Kannst du bitte mal den Ablauf des Spieles näher erklären ?
- wozu dienen die 2 Variablen Abgleich und Abfolge ?

Hinweise:
- Randomize nur einmal im Programm aufrufen. z.B. im OnCreate des Formulars
- DRY Prinzip. Es gibt Möglichkeiten doppelten Code zu vermeiden. Aber erst mal muß es funktionieren...:zwinker:

Bummi 3. Feb 2011 21:36

AW: Der "Color-Code"
 
Liste der Anhänge anzeigen (Anzahl: 1)
Eigentlich funktionierte bis bis auf das einmalige Setzen der Farben gar nichts...ich weiß nicht ob ich den Sinn des Spieles wirklich verstanden haben...

Jumpy 4. Feb 2011 07:24

AW: Der "Color-Code"
 
Zitat:

Zitat von haentschman (Beitrag 1079418)
- Randomize nur einmal im Programm aufrufen. z.B. im OnCreate des Formulars

OT:
Das hab ich schon öfter im Forum gelesen und wollte mal fragen, was dahinter steckt. Auch 'nur' DRY oder nochwas anderes?

himitsu 4. Feb 2011 08:00

AW: Der "Color-Code"
 
Nein, kein DRY.

Der Zufallsgenerator liefert über die Zeit eine "gleichverteilte" Zahlenmenge.
Initialisierst du ihn ständig neu (Randomize ist ja dafür da), dann kann die Verteilung ungünstig beeinflußt werden, wobei dann einige Werte viel öfters vorkommen, als Andere.
Es könnte sogar passieren, daß sich Zahlengruppen in kurzer Zeit wiederholen.

Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  i1, i2, i3, i4: Integer;
  i5, i6, i7, i8: Integer;

begin
  try
    RandSeed := 123456789; //Randomize;
    i1 := Random(100);
    i2 := Random(100);
    i3 := Random(100);
    i4 := Random(100);
    RandSeed := 123456789; //Randomize;
    i5 := Random(100);
    i6 := Random(100);
    i7 := Random(100);
    i8 := Random(100);
    WriteLn(Format('%d %d %d %d', [i1, i2, i3, i4]));
    WriteLn(Format('%d %d %d %d', [i5, i6, i7, i8]));
    ReadLn;
  except
    on E: Exception do begin
      WriteLn(E.ClassName, ': ', E.Message);
      ReadLn;
    end;
  end;
end.
Delphi-Referenz durchsuchenRandomize Delphi-Referenz durchsuchenRandSeed

Jumpy 4. Feb 2011 11:15

AW: Der "Color-Code"
 
Verstehe, danke.
RandSeed nutzt man also (wie in deinem Beispiel), wenn man Zufallszahlen reproduzieren oder einen "ganz bestimmten Zufall" haben will? Macht wahrsch. nur zu Testzwecken Sinn, da ja in den Links bzw. der Hilfe steht, dass man es keinesfalls zur Verschlüsselung verwenden soll.

gammatester 4. Feb 2011 11:49

AW: Der "Color-Code"
 
Man sollte besser von Pseudozufall (engl. pseudo random) sprechen. Der eigentliche Generator liefert immer eine feste Folge von 32-Bit Werten, insgesamt 2^32 = 4294967296. Das einzige was man mit Randseed (oder Randomize) wählt, ist die Startposition innerhalb dieser Folge.

Man sollte den Generator u.a. deshalb nicht für ernsthafte kryptographische Zwecke benutzen, weil die 2^32-Zustände einfach viel zu wenig sind (und damit in vielen Fällen dann Bruteforce-Attacken möglich sind).

Fussel9 4. Feb 2011 12:39

AW: Der "Color-Code"
 
Zeichnet sich ein ''Zufall'' nicht dadurch aus, das jede option bei jeder ziehung die selbe wahrscheinlichkeit hat und das es eben auch möglich ist immer die selbe sache zu ziehen?
(Möglich nur eben gering wahrscheinlich..)
Daher müsste doch Randomize genau das gewünschte ergebeniss bringen oder ? einen reellen zufall

jfheins 4. Feb 2011 12:48

AW: Der "Color-Code"
 
Zitat:

Zitat von Fussel9 (Beitrag 1079534)
Zeichnet sich ein ''Zufall'' nicht dadurch aus, das jede option bei jeder ziehung die selbe wahrscheinlichkeit hat und das es eben auch möglich ist immer die selbe sache zu ziehen?
(Möglich nur eben gering wahrscheinlich..)
Daher müsste doch Randomize genau das gewünschte ergebeniss bringen oder ? einen reellen zufall

Ein realer Zufall ist aber insbesondere auch nicht vorhersagbar. Das was Random() produziert ist aber vorhersagbar und deshalb nennt man das auch Pseudozufallsgenerator (PRNG)


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:57 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