28. februar 2005 - 19:09Der er
8 kommentarer og 1 løsning
Simple hjælp til Mastermind!
Hej, jeg kan lidt Delphi programmering, men dog ikke ret meget. Jeg skal lave et mastermind spil, og jeg har lavet lidt af den. Jeg har lavet 4 x 8 cirkler af formen TShape. Jeg har en anden felt hvor der er 8 TShape firkanter med farve. Jeg har skrevet en lille kode (vha. dragDrop) hvor jeg kan trække en af de otte farver i den første cirkel og ændre dens farve (dvs. cirklens farve bliver lige med den farve der bliver flyttet oven på den). Nu ønsker jeg at gøre det samme med de resten 31 cirkler. Jeg kan naturligvis kopiere den samme kode til alle 32 cirkler, men det er spild af tid of programmet vil fylde en del. Findes der derfor ikke en simpel måde, hvorpå man kan flytte en af de farver til den cirkel man ønsker og dermed ændre cirklens farve??
Hvis I vil hjælpe, kan jeg godt sende jer mit lille program så i bedre kan forstå hvad jeg mener :D. Skriv venligst jeres e-mail.
du må kunne lave en funktion, hvor cirklens navn indgår i kaldet, så det er den samme funktion du bruger til alle cirkler. Noget i stil med: function SkiftFarve(Cirkelnavn,NyFarve; .. ..
Ja, men problemet er at jeg har lavet 32 cirkler. dvs. at hver cirkel hedder Shape1, Shape2, Shape3 ... Shape32. Jeg ville også gerne vide hvordan man kan lave en funktion så alle 32 cirkler indgår i et navn :D....Har du et bud??
Hvad med i stedet, at lave en bitmap af knapperne; en for hver farve. Så kan du lave pæne bitmapper med skygger og alt det andet gejl der fylder en bondegård at skrive.
private { Private declarations } public { Public declarations } myshapes: array [1..8, 1..4] of Tshape; end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); var Row, Col: Integer; begin for Row := 1 to 8 do for Col := 1 to 4 do begin myshapes[Row, Col] := Tshape.Create(Self); myshapes[Row, Col].Parent := Self; myshapes[Row, Col].Shape := stCircle; myshapes[Row, Col].Brush.Color := clwhite; myshapes[Row, Col].Height := 49; myshapes[Row, Col].Width := 49;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.