Einzelnen Beitrag anzeigen

Destroxi

Registriert seit: 29. Okt 2011
55 Beiträge
 
Delphi 7 Enterprise
 
#15

AW: Tetris erstellen - wie ?

  Alt 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)
  Mit Zitat antworten Zitat