Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   FreePascal Tetris Klassendeklaration (https://www.delphipraxis.net/195551-tetris-klassendeklaration.html)

jan1999 8. Mär 2018 20:43

Delphi-Version: 6

Tetris Klassendeklaration
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo liebe Community,
Ich habe mit paar Klassenkameraden momentan ein Projekt in Informatik am laufen. Unser Ziel ist es das Spiel Tetris zu programmieren. Dabei hängt es bei uns gerade bei der Deklaration der Tetrissteine in einem Array für die zukünftige Löschprozedur usw. Wir haben uns gedacht, jeden Stein an sich in einem Array(4×4) in einem Spielfeldarray zu setzen. Dabei hängt es bei uns die Klassen richtig zu definieren und die Arrays richtig zu bestimmen.
Habt ihr einen Tipp oder einen Ansatzpunkt?
Im Anhang findet ihr einmal ein Bild vom Layout und eine Datei mit dem Quellcode. Wir sind noch nicht die erfahrensten im Thema programmieren, da wir im Unterricht nur bis Schleifen und Bubble-sort gekommen sind. Wir haben mit einer Paintbox gearbeitet und viel mit Koordinaten. Falls Verständnisfragen aufkommen, dann einfach fragen :)

p80286 8. Mär 2018 23:17

AW: Tetris Klassendeklaration
 
Dann frage ich mal:
Delphi-Quellcode:
  type onepiece=record
    p:array[1..4,1..4]of boolean;
  end;
Ist eine recht ungewöhnliche Typ-Definition. Warum ist das Array in einem Record verpackt?

Und den Sourcecode in einem Word-Dokument ist auch nicht alltäglich.
Klick auf das Helm-Icon und kopiere den Sourcecode zwischen [ DELPHI] und [ /DELPHI]

Gruß
K-H

hoika 9. Mär 2018 08:18

AW: Tetris Klassendeklaration
 
Hallo,
Zitat:

Ist eine recht ungewöhnliche Typ-Definition.
Eigentlich nicht.
Es fehlt ja z.B. noch die Farbe.
Das p soll wohl anzeigen, welche Zellen (siehe unten TDrawGrid) von einem Block belegt sind.

Delphi-Quellcode:
const
  C_MIN = 1;
  C_MAX = 4;
type
  TBlock=record
    Belegt:array[C_MIN..C_MAX,C_MIN..C_MAX] of Boolean;
    Farbe: Integer;
  end;

type
  TBloecke = array of TOnePiece;
Statt der PaintBox bietet sich hier ein TDrawGrid an.
http://www.delphipraxis.net/66592-dr...infaerben.html

p80286 9. Mär 2018 23:54

AW: Tetris Klassendeklaration
 
Da ist Deine Glaskugel klar besser als meine!

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:19 Uhr.

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