Delphi-PRAXiS

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)

gammatester 4. Feb 2011 12:54

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..)

Verstehe den Zusammenhang nicht. Was willst Du hier ziehen? In der Randomfolge kommt jede Zahl zwischen 0 und 2^32-1 genau einmal vor.
Zitat:

Zitat von Fussel9
Daher müsste doch Randomize genau das gewünschte ergebeniss bringen oder ? einen reellen zufall

Randomize verwurschelt die aktuelle Zeit zu einem Randseed. Genau deshalb soll man es ja auch nicht in einer Schleife aufrufen (wenn die Zeitauflösung 1 ms ist, gibt's halt eine 1 ms lang in einer Schleife immer das gleiche Randseed)!

Dragon93 4. Feb 2011 15:05

AW: Der "Color-Code"
 
oh oh oh,
genau das habe ich mir schon gedacht das der sinn des spiel und die funktions weise nicht ganz klar ist ;)
also fangen wir am besten einfach mal von forne an :)

der sinn des spiels liegt darin das der spieler auf den obrigen button "Aögorythmus berechnen" drückt und eine farbe als hintergrund bekommt die er au drücken muss (button mit der dazugehörigen farbe). beim erssten mal ist es eine frabe beim 2. mal 2 farben aber mit der 1. farbe + eine zufälleige und so weiter ich denke das sollte wohl geklärt sein

und wozu mach ich das? er wollte das spiel einfach mal haben und bisschen euch beschäftigen :)

und das es weit bessere methoden gibt für den gleichen code etc war mir irgend wie schon klar nur man muss ja erst mal wissen wie und ein funktionirendes programm haben :)

hoffe das beantwortet alles

Gruß
DragonD93

Edit:

Die Variablen haben noch gefehlt es tut mir leid :) also

Die variable Abfolge steht für Die Kombination die der Spieler Drücken muss
Die Variable Abgleich steht für die Kombination die der Spieler eingibt

PS: Bummi danke für den hinweis mit Case of aber den hätte ich höchstwahrscheinlich später selbst noch eingefügt ;)

Dragon93 5. Feb 2011 11:18

AW: Der "Color-Code"
 
Liste der Anhänge anzeigen (Anzahl: 1)
Mahlzeit ihr lieben ^.^

vorweg: Ich hoffe ich verstoße nicht gegen die foren regeln verstoße mit einem doppel post.
Nun zum eigentlichen post ich wollte einfach nur mal durch geben das ich das Spiel soweit funktions tüchtig gemacht habe, sprich wenn man die richtige Kombination eingegeben hat dann kommt ne meldung das es die richtige kombination war. wenn man jetzt aber eine faschle kombination eingibt kommt kein error. wenn mir da jemand etwas nützliches geben könnte wäre es sehr nett.

ich hänge einfach noch mal das funktionirende Spiel an und hoffe auf hilfe :)

bisdahin

DragonD93

Mike_ 6. Feb 2011 01:28

AW: Der "Color-Code"
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Dragon93 (Beitrag 1079671)
ich hänge einfach noch mal das funktionirende Spiel an

Damit hast du mich zum Lachen gebracht.
Ab Level2 geht es nämlich bei mir nicht mehr wie es sollte.

Dieser 'Lacher' & der die Tatsache, dass ich bisher noch nie ein "Spiel" entwickelt habe waren der Grund genug weshalb ich mich ebend hingesetzt habe um es zu programmieren.

Es war von der Logik doch etwas umfangreicher als zu erst angenommen.
(Ca. 1:00 Std)


Tipp für das nächste Mal:
Konkretisier deine Frage so gut es geht WAS genau WO (sofern bekannt) nicht geht.

Niemand hat i.d.R. Lust dir dein Programm zu schreiben :thumb:

Liebe Grüße,

Mike


P.S.:
Solltest du Probleme haben es zu öffnen mit Delphi6 (Da mit Delphi2007 geschrieben),
dann öffne dir die Unit2.pas im Editor und kopiere den Quellcode manuell.

Dragon93 6. Feb 2011 10:36

AW: Der "Color-Code"
 
Hey Mike,
danke das du dir die Zeit genommen hast :)
Dein Programm ist nicht schlecht :)
Es stellt sich mir nun die frage, wenn ich immer nur auf die neue farbe drücken muss wo bleibt dann die herausforderung?
Die schwirigkeit die ich mir vorgestellt habe war wie gesagt das man sich die vorherigen farben merken musste.

Beispiel:
Generierte farben in den ersten 3 fällen: {Generiert mit der variable X}
-Blau
-Grün
-Gelb

{Die kombination der farben ist bei mir die Variable "Abfolge"
Die "Abfolge" muss erreicht werden um ein level auf zusteigen.
Neben bei wird eine Zähler Variable "Zahlenlaenge" hoch gezählt für die Level bedingungen.}



Erster zug:
Das Programm sagt das der Spieler blau drücken soll
- Spieler drückt Blau um in level 2 zu gelangen

{Die Eingabe ist der "Abgleich" wie der name schon sagt gleicht die variable
ab und wenn Abfolge und Abgleich gleich sind steigt der Spieler ein Level auf.
Neben bei wird hier auch eine Zähler Variable "Knopfdrucks" mit gezählt für die bedingung des verliehrens.}

Zweiter Zug:
Das Programm sagt das der Spieler Grün drücken soll
- Spieler muss Blau + Grün drücken um in Level 3 zu gelangen

Dritter Zug:
Das Programm sagt das der Spieler Gelb drücken soll
- Spieler muss Blau + Grün + Gelb drücken um in Level 4 zu gelangen



das ist die schwirigkeit die sich mir gegenüber stellt das die kombination eingeben muss und bei einer fehl eingabe das spiel neugestartet wird.
ich hoffe anhand meines beispieles wird das sichtbar ich brauche nur eine abbruch bedingung, imoment sieht die so aus
If(Abgleich <> Abfolge) and (Zahlenlaenge = Knopfdrucks) then
aber da bekomme ich immer einen fehler, das Programm/Spiel was auch immer ist ja 2 beiträger vorher wenn jemand mal darauf gucken mag und vielleicht eine idee hat wäre das sehr schön :) weil ein Programm/Spiel das nicht sagt wenn man falsch liegt ist doch doof oder? ;)

und um Mikes tipp gleich direkt mal an zu wenden Das Dick makierte 5 Zeilen weiter oben ist die abbruch bedingung die mir exteme kopfschmerzen bereitet da bräuchte ich hilfe :)

Mike_ 6. Feb 2011 12:59

AW: Der "Color-Code"
 
Zitat:

Zitat von Dragon93 (Beitrag 1079806)
Hey Mike,
danke das du dir die Zeit genommen hast :)
Dein Programm ist nicht schlecht :)
Es stellt sich mir nun die frage, wenn ich immer nur auf die neue farbe drücken muss wo bleibt dann die herausforderung?
Die schwirigkeit die ich mir vorgestellt habe war wie gesagt das man sich die vorherigen farben merken musste.

Beispiel:
Generierte farben in den ersten 3 fällen: {Generiert mit der variable X}
-Blau
-Grün
-Gelb

{Die kombination der farben ist bei mir die Variable "Abfolge"
Die "Abfolge" muss erreicht werden um ein level auf zusteigen.
Neben bei wird eine Zähler Variable "Zahlenlaenge" hoch gezählt für die Level bedingungen.}



Erster zug:
Das Programm sagt das der Spieler blau drücken soll
- Spieler drückt Blau um in level 2 zu gelangen

{Die Eingabe ist der "Abgleich" wie der name schon sagt gleicht die variable
ab und wenn Abfolge und Abgleich gleich sind steigt der Spieler ein Level auf.
Neben bei wird hier auch eine Zähler Variable "Knopfdrucks" mit gezählt für die bedingung des verliehrens.}

Zweiter Zug:
Das Programm sagt das der Spieler Grün drücken soll
- Spieler muss Blau + Grün drücken um in Level 3 zu gelangen

Dritter Zug:
Das Programm sagt das der Spieler Gelb drücken soll
- Spieler muss Blau + Grün + Gelb drücken um in Level 4 zu gelangen



das ist die schwirigkeit die sich mir gegenüber stellt das die kombination eingeben muss und bei einer fehl eingabe das spiel neugestartet wird.
ich hoffe anhand meines beispieles wird das sichtbar ich brauche nur eine abbruch bedingung, imoment sieht die so aus
If(Abgleich <> Abfolge) and (Zahlenlaenge = Knopfdrucks) then
aber da bekomme ich immer einen fehler, das Programm/Spiel was auch immer ist ja 2 beiträger vorher wenn jemand mal darauf gucken mag und vielleicht eine idee hat wäre das sehr schön :) weil ein Programm/Spiel das nicht sagt wenn man falsch liegt ist doch doof oder? ;)

und um Mikes tipp gleich direkt mal an zu wenden Das Dick makierte 5 Zeilen weiter oben ist die abbruch bedingung die mir exteme kopfschmerzen bereitet da bräuchte ich hilfe :)

Sehr gut veranschaulicht :thumb:

Ist simpel in mein gepostetest Programm integrierbar.

Du machst dir eine weitere Hilfsvariable herein vom Typ TColor welche du anstelle der Form2.Color mit dem aktuellen Farblevel (Bei dir hieß es Abfolge) füllst.

Dann haust du noch eine if Abfrage in die entsprechende Prozedur/en, dass wenn Farblevel...

[Gedankenblitz]

Ich erinnere mich gerad welches Spiel du meinst und programmier das mal so um dass es auch "hübsch" aussieht.

lbccaleb 6. Feb 2011 14:23

AW: Der "Color-Code"
 
Zitat:

Zitat von Mike_ (Beitrag 1079777)
Zitat:

Zitat von Dragon93 (Beitrag 1079671)
ich hänge einfach noch mal das funktionirende Spiel an

Damit hast du mich zum Lachen gebracht.
Ab Level2 geht es nämlich bei mir nicht mehr wie es sollte.

Dieser 'Lacher' & der die Tatsache, dass ich bisher noch nie ein "Spiel" entwickelt habe waren der Grund genug weshalb ich mich ebend hingesetzt habe um es zu programmieren.

Wieso machst du es dann??
Und wieso hat er dich damit zum lachen gebracht? Jeder fängt mal klein an, und lieber sowas programmieren als irgendein komplexes Programm, was heute die Neulinge andauernd herstellen wollen, wieso auch immer.

Und deine 1h arbeit hat wohl auch net ausgereicht, denn bis Level 10 (hab ich getestet) geht bei dir außer Rot und Blau auch nichts....

Sir Rufo 6. Feb 2011 14:39

AW: Der "Color-Code"
 
Scheint sich hier wohl um ein Nachbau von "Senso" zu handeln.

Werden vermutlich die älteren hier noch kennen :stupid:

Mike_ 6. Feb 2011 15:54

AW: Der "Color-Code"
 
Liste der Anhänge anzeigen (Anzahl: 2)
Lieber lbccaleb,

als ich heute früh auf den Post geantwortet hatte, kam es mir ebenfalls überheblich vor.

So wurde er aber nicht verfasst wie du dir die Zitate herausgepickt hast, siehe :
Zitat:

Es war von der Logik doch etwas umfangreicher als zu erst angenommen.
Meine Motivation weshalb ich es mache schrieb ich bereits oben, du musst nur hochscrollen :thumb:

Abgesehen davon habe ich selbst 3 neue Dinge aus diesem Projekt gelernt und möchte das Wissen, was mir Delphi Praxis bringt auch in einer Form zurückgeben.

Denn so funktioniert eine gute Community.

Zitat:

Zitat von lbccaleb (Beitrag 1079842)
Und deine 1h arbeit hat wohl auch net ausgereicht, denn bis Level 10 (hab ich getestet) geht bei dir außer Rot und Blau auch nichts....

Bei mir kamen bis level 6 alle 4 Farben.
Das liegt einfach an Randomize.
(Siehe dieser Thread, hast du bestimmt gelesen.)

Kann dir auch passieren, dass eine Farbe bis Level 20 kommt. :lol:

Ich schließe mit dem tollen Zitat von mkinzler ab :)

Zitat:

Geistig schwache Zeitgenossen mit fragilem Pseudo-Halbwissen wie ich, denken und entscheiden nun mal so.
(so etwas zu sagen)

Sollte ich dich bei einem Delphi-Praxis Treffen mal treffen, lachen wir bei einem Bier hierüber :-D

Zitat:

Zitat von Sir Rufo (Beitrag 1079845)
Scheint sich hier wohl um ein Nachbau von "Senso" zu handeln.

Werden vermutlich die älteren hier noch kennen :stupid:

Genau, so hieß das :thumb:

Spiel ist im Anhang.

Herzliche Grüße,

Mike

Dragon93 6. Feb 2011 18:53

AW: Der "Color-Code"
 
hey mike,

danke für dein programm im anhang,
leider funktioniert es bei mir nicht richtig und es gibt einen deplhi praxis treffen? o.O wann isn das?

Mike_ 6. Feb 2011 19:17

AW: Der "Color-Code"
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von Dragon93 (Beitrag 1079886)
hey mike,

danke für dein programm im anhang,
leider funktioniert es bei mir nicht richtig und es gibt einen deplhi praxis treffen? o.O wann isn das?

Was funktioniert nicht, wo kommt ein Fehler (Gibt es überhaupt einen) ?

Ich gehe eher davon aus dass du es nicht "einfach importieren" kannst, du du eine andere Delphi Version verwendest.

Daher ist folgendes angesagt :

1.) Neue VCL Form erstellen in deiner IDE. [Neues Projekt]
2.) Ziehe dir 1 Button und 5 Panels auf die Form.
3.) Füge auf Panel1 folgendes hinzu
1 x TLabel -> Name: Label_Level
1 x TLabel -> Name: Label1
4.) Benenne die Panels2-5 um in:
Panel2 -> Panel_Col0
Panel3 -> Panel_Col1
Panel4 -> Panel_Col2
Panel5 -> Panel_Col3

Dann muss deine Struktur so aussehen wie im Anhang.

5.) Kopiere dir den relevanten Teil aus dem Quellcode:
(Bei dir wird die Form ggf. anders heißen, daher nicht einfach Str+c und Str+v einfügen und dann sagen "geht nicht".

Kopiere sinnvoll !


Delphi-Quellcode:
////
//Created on 06.02.11 by Mike_
////

unit Unit2;

interface

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


type
  TForm2 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Label_Level: TLabel;
    Panel1: TPanel;
    Panel_Col0: TPanel;
    Panel_Col1: TPanel;
    Panel_Col2: TPanel;
    Panel_Col3: TPanel;
    procedure FormCreate(Sender: TObject);
    procedure mixColors();
    procedure NextColor();
    procedure NextLevel ();
    procedure FirstStart();
    procedure ShowColorSqeuence();
    procedure CheckAnswer(ColorOfButton: TColor);
    procedure Button1Click(Sender: TObject);
    procedure Panel2Clck(Sender: TObject);
    procedure Panel_Col2Click(Sender: TObject);
    procedure Panel_Col1Click(Sender: TObject);
    procedure Panel_Col3Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations}

  end;

var
  Form2: TForm2;
  FarbListe: TStringList;
  Level, DerzeitigesFarbLevel: Integer;

implementation

{$R *.dfm}

procedure Delay(time:Integer);
var
  i: integer;
begin
  for i := 0 to time do
  begin
    Sleep(10);
    Application.ProcessMessages;
  end;
end;

procedure TForm2.ShowColorSqeuence();
var i : Integer;
begin
  for I := 1 to FarbListe.Count - 1 do begin
    case ColorToRGB(StringToColor(FarbListe.ValueFromIndex[I])) of
      32768: RandSeed:=0;    // RGB of clGreen
      255: RandSeed:=1;      // RGB of clRed
      65535: RandSeed:=2;    // RGB of clYellow
      16711680: RandSeed:=3; // RGB of clBlue
    end;

    TPanel(FindComponent('Panel_Col'+IntToStr(RandSeed))).Color := StringToColor(FarbListe.ValueFromIndex[I]);
    Delay(75);
    TPanel(FindComponent('Panel_Col'+IntToStr(RandSeed))).Color := clBtnFace;
    Delay(25);
  end;
end;

procedure TForm2.mixColors();
begin
  Randomize;
  RandSeed := Random(4);
  //ShowMessage(IntToStr(RandSeed));

  case RandSeed of
    0: FarbListe.Add('cclGreen');
    1: FarbListe.Add('cclRed');
    2: FarbListe.Add('cclYellow');
    3: FarbListe.Add('cclBlue');
  end;
end;

//Next Level
procedure TForm2.NextLevel ();
begin
  mixColors();
  Level := Level +1;
  Label_Level.Caption := IntToStr(Level);
  DerzeitigesFarbLevel := 1;
  ShowColorSqeuence();
end;

//Next Color in same level
procedure TForm2.NextColor();
begin
  DerzeitigesFarbLevel := DerzeitigesFarbLevel + 1;
end;

procedure TForm2.CheckAnswer(ColorOfButton: TColor);
begin
  //RIGHT ANSWER
  if FarbListe.ValueFromIndex[DerzeitigesFarbLevel] = ColorToString(ColorOfButton) then begin
    if DerzeitigesFarbLevel = Level then begin
      ShowMessage('Das war korrekt, herzlich willkommen im Level '+IntToStr(Level+1)+' !');
      NextLevel();
    end
    else
    //RIGHT BUT NO NEW LEVEL
    begin
      //ShowMessage('Ihre Antwort ist korrekt!');
      NextColor();
    end;
  end
  //FALSE ANSWER
  else begin
    ShowMessage('Dies war leider verkehrt, das Spiel wird neu gestartet !');
    Button1.Click;
  end;
end;


//First start of game
procedure TForm2.FirstStart();
begin

  FarbListe.Clear;

  (*
  Da TStirngList bei 0 anfängt zu zählen
  wir aber der Übersicht halber bei Level 1 anfangen
  *)
  FarbListe.Insert(0, '');

  mixColors();
  DerzeitigesFarbLevel := 1;
  Level := 1;
  Label_Level.Caption := IntToStr(Level);

  ShowColorSqeuence();
end;


procedure TForm2.Button1Click(Sender: TObject);
begin
  FirstStart();
end;

procedure TForm2.Panel2Clck(Sender: TObject);
begin
  CheckAnswer(clGreen);
end;

procedure TForm2.Panel_Col1Click(Sender: TObject);
begin
  CheckAnswer(clRed);
end;

procedure TForm2.Panel_Col2Click(Sender: TObject);
begin
  CheckAnswer(clYellow);
end;

procedure TForm2.Panel_Col3Click(Sender: TObject);
begin
  CheckAnswer(clBlue);
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
  FarbListe := TStringList.Create;
  Label_Level.Caption := '';
  //ShowMessage(IntToStr(ColorToRGB(clGreen))+' '+IntToStr(ColorToRGB(clRed))+' '+IntToStr(ColorToRGB(clYellow))+' '+IntToStr(ColorToRGB(clBlue)));
end;

end.
Edit://
Im Anhang habe ich dir noch mal den Sourcecode + funktionierende .exe hingepackt.

Dragon93 6. Feb 2011 19:41

AW: Der "Color-Code"
 
danke das du es mir noch einmal erklärt hast :)
aber das meinte ich garnicht nun gut ich wollte damit meinen das deine exe in deinem anhang bei mir nicht funktionierte :D
wenn ich auf new game gedrückt habe leuchtete keine farbe auf hatte ich mal das glück das ich aus zufall den richtigen button gefunden habe sah ich immernoch nicht die farbe :D

Mike_ 6. Feb 2011 19:50

AW: Der "Color-Code"
 
Ich habe es mir ebend selbst heruntergeladen, bei mir funktioniert es.

Die .exe kann sich eigentlich bei dir und mir nicht so unterschiedlich verhalten !?

Dragon93 6. Feb 2011 19:56

AW: Der "Color-Code"
 
ich weis das verhält sich sehr komisch und teilweise sogar unrea und bekloppt aber ich habe einfach mal ein kleines bild gemacht
http://img828.imageshack.us/img828/434/level1oo.jpg
ich kann dazu nur sagen so siehts bei mir aus und das ist kein scherz o.O

Mike_ 6. Feb 2011 20:12

AW: Der "Color-Code"
 
Liste der Anhänge anzeigen (Anzahl: 1)
Sieht so aus als wenn WinVista/7 die Panels transparent setzt.

Ich hab dir mal eine weitere Variante angehangen.

Sag mir bitte welches Panel bei dir angezeigt wird.

Dragon93 6. Feb 2011 20:21

AW: Der "Color-Code"
 
bei mir sind alle panels grau bis auf das unten links

Bummi 6. Feb 2011 20:24

AW: Der "Color-Code"
 
Liste der Anhänge anzeigen (Anzahl: 1)
bei mir (hier D 2010 ) schlägt ValueFromIndex und ColorToString bei der Farbnamesvergabe fehl..., der Anhang funktioniert

patti 6. Feb 2011 20:26

AW: Der "Color-Code"
 
Ich weiß nicht, in wie weit das Problem inzwischen behoben wurde, aber evtl. könnte die Eienschaft "ParentBackground" das Verhalten ändern. Ich kann allerdings im Moment nicht sagen, ab welcher Delphi-Version diese Eigenschaft vorhanden ist.
Generell würde ich aber voschlagen, die graphische Ausgabe selbst zu zeichnen und beispielsweise über eine Paintbox auszugeben. Da kann man sich dann graphisch etwas "austoben", was ja gerade bei Spielen nie verkehrt ist ;-)

Dragon93 6. Feb 2011 20:32

AW: Der "Color-Code"
 
es wurden bei mir eigentlich alle probleme behoben bummi hat eine nette kleine version gepostet die bei mir funktioniert ich müsste mich bei meiner version nur noch der verschönerung widmen und der fehler meldung aber ansonsten sollte alles wohl gesagt sein :)

ich bedanke mich bei allen von ganzenherzen die bei der lösung des problems geholen haben :)

wer mag darf das spiel für seine zwecke ruhig weiter entwickeln/umentwickeln oder einfach als nachguck objekt benutzen :)

noch mal an alle danke und bis demnächst wenn ich wieder einmal ein problem haben sollte^^

Mike_ 6. Feb 2011 20:49

AW: Der "Color-Code"
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Bummi (Beitrag 1079910)
bei mir (hier D 2010 ) schlägt ValueFromIndex und ColorToString bei der Farbnamesvergabe fehl..., der Anhang funktioniert

Dank dir, damit ist es nun auch gleich D2010 kompatibel.

Dadurch ist das unerklärliche Phänomen auch verschwunden, weshalb in der TStringList immer das erste Zeichen verschluckt wurde.

Das ValueFromIndex benötigt man nirgendwo, habe es dank deinem Hinweis an allen 3 Stellen entfernt. :thumb:

Danke dir :thumb:

Zitat:

Zitat von Dragon93 (Beitrag 1079908)
bei mir sind alle panels grau bis auf das unten links

Dann liegt es am ParentBackground, genau wie Patti getippt hatte.

Im Anhang der der "Fix für Win7/Vista".

EDIT:\
Anhang gelöscht, weiteren Bug entdeckt.
Neue Version wird geuploaded.

Edit2:\
Erneuter Bugfix im Anhang


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