![]() |
Re: Tastendruck abfrage
Kann das sein, dass da diverse begins und ends fehlen?
|
Re: Tastendruck abfrage
Warum nutzt Du eig. keine bool'schen Variablen bzw. eine Enumration für die Richtung?
|
Re: Tastendruck abfrage
Das sollte ja eigentlich der Sinn des Typs sein ;)
|
Re: Tastendruck abfrage
Nein, dass würde mir Delphi sagen.
Man braucht bei einer If-Bedinung kein begin und end zu benutzen; wenn man nur einen Befehl dahinter schreibt falls du dass meinst. Es fehlt höchstens ein End; durchs kürzen EDIT:Wenn ich etwas nicht benutze, dann bin ich mir damit unsicher oder kann es nicht =) Könnts mir ja gerne Versuchen zu erklären |
Re: Tastendruck abfrage
Zitat:
|
Re: Tastendruck abfrage
HI,
Zitat:
Zitat:
Ich glaub, du weist nicht wirklich viel mit type TTaste = (ttNone,ttLeft,ttRight,ttDown,ttTurn); anzufangen, oder? Ftaste kannst du im Timer-Event wie eine normale Variable auswerten. Die einzige Einschränkungbesteht lediglich darin, dass du die definierten Werte (ttNone, ttLeft, ...) verwenden musst. Das ganze geht auch mit Case. Beispiel:
Delphi-Quellcode:
Es wäre zu empfehlen, wenn du jede Steinbewegung in eine extra Prozedur auslagerst, um den Code übersichtlich zu halten. Dort kannst du dann auch die Gültigkeitsabfrage deines Zuges machen (und Zeichnen)
procedure TForm1.Timer1Timer(Sender: Tobject);
begin case FTaste of ttNone: ; // nix (lass dir was einfallen oder lass es weg) ttLeft: Stein_nach_links; ttRight: Stein_nach_rechts; ttDown: Stein_nach_unten; ttUp: Stein_drehen; end; fTaste := ttNone; end; rollstuhlfahrer Hoffe doch mal, dass es verständlich ist. Nachtrag: Zitat:
|
Re: Tastendruck abfrage
Da ich merke, dass du gerne dazu lernst, lege ich dir den Ungleich-Operator ans Herz ( :mrgreen: ), denn dadurch wird der Code ein klein wenig übersichtlicher.
Zitat:
Delphi-Quellcode:
if runter <> 1 then
rectangle(x,y,x1,y2); Zitat:
Delphi-Quellcode:
Da ich den Code aber nicht ganz nachvollziehen kann, weiß ich nicht, ob du das so haben möchtest, denn du schreibst explizit, dass dann nur eine Zeile ausgeführt werden soll. Es wäre sinnvoll, wenn du den Code dann entsprechend einrücken würdest:
if runter <> 1 then
begin Rectangle(x, y, x1, y2); Brush.Color := clMaroon; Rectangle(x, y1, x1, y3); end;
Delphi-Quellcode:
Übrigens schadet es nicht, ein paar "begin" und "end" mehr zu setzen. Je nach Komplexität kann dir das sogar anstrengende Fehlersuchen ersparen, denn du siehst sofort, was wann ausgeführt wird. bei deiner Formatierung siehst du das nicht.
if runter <> 1 then
Rectangle(x, y, x1, y2); Brush.Color := clMaroon; Rectangle(x, y1, x1, y3); Zitat:
Grüße Edit: Da tippe ich mich dämlich und nun kamen in der Zwischenzeit ähnliche Antworten und nicht mal ein roter Kasten. |
Re: Tastendruck abfrage
na dann mach ich mich mal ans Werk... (wobei ich schon fast glaube, dass ich die Nacht durchmache, weil morgen muss der Spaß fertig sein :? )
Nunja falls mir noch jemand nützliche Tips geben will dann immer her damit :) ich meld mich, falls etwas nicht geht. Achso und ein dickes Danke an die fleißigen da oben :hello: Grüße ... |
Re: Tastendruck abfrage
Der Rollstuhlfahrer hat genau das erklärt, was ich versucht habe, Dir klarzumachen :thumb: . Besser hätte ich es auch nicht sagen können.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 Uhr. |
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 by Thomas Breitkreuz