Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Quelltext Verständniss (https://www.delphipraxis.net/69784-quelltext-verstaendniss.html)

netscanner 19. Mai 2006 21:30


Quelltext Verständniss
 
Hallo,
ich habe folgenden QT gefunden:
Delphi-Quellcode:
procedure TForm1.calc_snake;
var
  i, j: Integer;
begin
  for i := 0 to breite do
    for j := 0 to hoehe do
      if map[i, j]>0 then
        Dec(map[i, j]);
  Inc(kopf.X, richtung.X);
  Inc(kopf.Y, richtung.Y);
  if (kopf.X<0) or (kopf.X>breite) or (kopf.Y<0) or (kopf.Y>hoehe) then
  begin
    spiel_ende;
    ShowMessage('Sie haben den Rand berührt!');
  end;
  if (map[kopf.X, kopf.Y]>0) and (not ende) then
  begin
    spiel_ende;
    ShowMessage('Sie haben sich selbst gebissen!');
  end;
  if (kopf.X=futter.X) and (kopf.Y=futter.Y) then
  begin
    Inc(laenge);
    neues_futter;
  end;
  map[kopf.X, kopf.Y] := laenge;
end;
Das ist ein Teil eines Snake spiels.
Leider verstehe ich die vorletzte Codezeile nicht,,,
Erläuterung: laenge wird pro gefressenem Stein um eins erhöht

SirThornberry 19. Mai 2006 21:33

Re: Quelltext Verständniss
 
Delphi-Quellcode:
Inc(laenge);
bedeutet nix anderes als
Delphi-Quellcode:
laenge := laenge + 1;
wenn die Schlange als etwas gefressen hat wird sie um eins länger und in der Folgezeile wird neues Futter bereit gestellt

netscanner 19. Mai 2006 21:34

Re: Quelltext Verständniss
 
ich meinte aber
Delphi-Quellcode:
  map[kopf.X, kopf.Y] := laenge;
:-D

netscanner 19. Mai 2006 21:36

Re: Quelltext Verständniss
 
aua hat sich geklärt ich hätte genauer lesen müssen :)

Daniel G 19. Mai 2006 21:38

Re: Quelltext Verständniss
 
An der Stelle wird die Länge der Schlange an diesen Koordinaten eingetragen. Steht an dieser Stelle dann, wenn die Prozedur nochmal durchlaufen wird, keine 0, dann hat sich das Tierchen selbst gebissen... Außerdem wird so denke ich festgestellt, wie viele Körperteile noch folgen müssen... steht da aber nicht in diesem Code...

//Edit: na dann...


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:20 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