Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Facharbeit: Vereinfachtes, Listenbasiertes Tetris (https://www.delphipraxis.net/149316-facharbeit-vereinfachtes-listenbasiertes-tetris.html)

Luckie 20. Mär 2010 14:32

Re: Facharbeit: Vereinfachtes, Listenbasiertes Tetris
 
Das musst du doch wissen. Du hast den Code doch geschrieben.

Maximus 20. Mär 2010 15:53

Re: Facharbeit: Vereinfachtes, Listenbasiertes Tetris
 
Dann frag doch einfach ab, ob:
k.copy <> nil
und führ deine weitere Abfrage erst anschließend durch ...

mimi 20. Mär 2010 19:54

Re: Facharbeit: Vereinfachtes, Listenbasiertes Tetris
 
Erstens:
Delphi-Quellcode:
function TStein.compare(tb:TBase):integer;
begin
  If x < TStein(tb).x Then result:=-1;
  If x > TStein(tb).x Then result:=+1;
  If y < TStein(tb).y Then result:=-1;
  If y > TStein(tb).y Then result:=+1;
  If (x = TStein(tb).x) AND (y = TStein(tb).y) Then result:=0;
end;
Die letzte If Anweisung kannst du dir sparen, wenn du vorher result auf 0 setzt.

zweitens:
Du verwendest diese Methode überhaupt nicht.

Drittes: Ist immer gewährleitest das der richtige Datentyp in tb drin ist ?
du castest "hard" ändere da mal in (tb as TStein).x um.
Du kannst auch mit tb.classname schauen ob die richtige Klasse drin ist.

Viertens: Du kannst mit Assigned prüfen ob tb einen Wer hat.

Fünftens: Deine Art und weise wie du den Code geschrieben hast, ist nicht gerade "Praktisch", wenn du mehr Zeit hättest, würde ich dir noch weitere Vorschläge machen. Aber das würde ein kompletten Neu Anfang bedeuten.

Sechstens:
Es gibt eine Praktische Funktion die sich ptInPoint nennt. Schau sie dir mal an.

edit01: Danke an "fkerber". Ist mir beim Schreiben Gar nicht aufgefallen. *G*

fkerber 20. Mär 2010 20:08

Re: Facharbeit: Vereinfachtes, Listenbasiertes Tetris
 
Hi!

@mimi:
Eine kleine Anmerkung:
http://www.if-schleife.de/

:cheers:


Grüße, Frederic

wicht 20. Mär 2010 20:09

Re: Facharbeit: Vereinfachtes, Listenbasiertes Tetris
 
Hi,

es schmiert in TListe.getElem() ab. Und zwar hier:

Delphi-Quellcode:
  IF NOT endpos
  THEN result := current.next.value // Bumm
  ELSE result := NIL
Vermutlich setzt du next in den anderen Funktionen nicht richtig. Ausserdem ist mir aufgefallen, dass du bei TBlock.draw den Speicher nicht wieder freigibst, der von "k.copy" reserviert wird. Leider muss ich mich auf "fünftens" von mimi anschließen, das ist alles nicht gerade schön oder optimal, aber das hilft dir wohl jetzt nicht besonders weiter, weil die Zeit so knapp ist :( ...

mimi 20. Mär 2010 20:25

Re: Facharbeit: Vereinfachtes, Listenbasiertes Tetris
 
Mir ist noch was aufgefallen:
in der Procedure TBlock.right; verwendest du eine Variable b, ich finde nicht die stelle wo du diese Variable Erstellst bzw. Zuweist.
und in den anderen Methoden wie left und soweit ist das der gleiche Fall.

Warum machst du das Eigentlich so Kompliziert über "Verkette" listen ? Es gibt TObjectList oder dient das jetzt nur zu Schluschen Zwecken ?

PS:
Gehört Eigentlich nicht herein, aber: Ich frage mich: Wie bringt eurer Lehrer euch Informatik bei ? Gut, dass man es nicht lieben muss ist eine Sache. Aber dem Lehrer würde ich eine Glatte Sechs geben, wenn es darum geht Informatik zu Unterrichten, oder Täuscht das ?

Luckie 20. Mär 2010 20:27

Re: Facharbeit: Vereinfachtes, Listenbasiertes Tetris
 
Also mich wundert überhaupt, dass sich das kompilieren lässt. Zumindest muss es Warnungen geben.

wicht 20. Mär 2010 20:29

Re: Facharbeit: Vereinfachtes, Listenbasiertes Tetris
 
Mit ein paar Eingriffen lässt es sich kompilieren.
Wenn das auf dem Mist des Lehrers gewachsen ist... schließe ich mich mimi noch einmal an...

mimi 20. Mär 2010 20:37

Re: Facharbeit: Vereinfachtes, Listenbasiertes Tetris
 
Ich glaube da fällt uns noch die Hälfte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr.
Seite 2 von 2     12   

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