Registriert seit: 29. Okt 2011
55 Beiträge
Delphi 7 Enterprise
|
AW: Tetris erstellen - wie ?
3. Nov 2011, 14:14
Sollen die For-Schleifen dann etwa so aussehen (um das Aussehen direkt zu übergeben):
Delphi-Quellcode:
For i1 := 0 to 3 do // Block aussehen angeben
For i2 := 0 to 3 do
If ObjType[FallingObject.aType].VMatrix[i1][i2] then
FormBlocks
[Round(FallingObject.pX+i1)]
[Round(FallingObject.pY+i2)]
:= 1;
€dit: Ich habs jeze so aber es klappt nur bei der Linie:
Delphi-Quellcode:
// Block-Daten einstellen
// -- Type 1 -- //
ObjType[1].cRGB := GetRGB(0, 1, 0); // Farbe
ObjType[1].ALengthX := 4;
ObjType[1].VMAtrix[0,0] := Bool(1); // Aussehen
ObjType[1].VMAtrix[1,0] := Bool(1);
ObjType[1].VMAtrix[2,0] := Bool(1);
ObjType[1].VMAtrix[3,0] := Bool(1); // Einfach ein Balken der Länge 4
// -- Type 2 -- //
ObjType[2].cRGB := GetRGB(1, 1, 0); // Farbe
ObjType[2].ALengthX := 3;
ObjType[2].VMAtrix[0,0] := Bool(1); // Aussehen
ObjType[2].VMAtrix[1,0] := Bool(1);
ObjType[2].VMAtrix[2,0] := Bool(1);
ObjType[2].VMAtrix[2,1] := Bool(1); // Das typische Tetris L
// Block erstellen
FallingObject.aType := 2;
FallingObject.pX := (SizeX/2-BlockSizeX*ObjType[FallingObject.aType].ALengthX/2)/BlockSizeX;
FallingObject.pY := (SizeY-50)/BlockSizeY;
For i1 := 0 to 3 do // Block aussehen angeben
For i2 := 0 to 3 do
If ObjType[FallingObject.aType].VMatrix[i1][i2] then
FormBlocks
[Round(FallingObject.pX+i1)]
[Round(FallingObject.pY+i2)]
:= 1;
end;
procedure TForm1.FormResize(Sender: TObject);
begin
// Viewport und Größe der map einstellen
SetSizeOptions;
end;
end.
Mfg, Destroxi
Geändert von Destroxi ( 3. Nov 2011 um 14:21 Uhr)
|
|
Zitat
|