Thema: Delphi Spiel des Lebens

Einzelnen Beitrag anzeigen

Stillmatic

Registriert seit: 25. Apr 2007
110 Beiträge
 
#8

Re: Spiel des Lebens

  Alt 7. Mai 2007, 20:29
Das hab ich so umgesetzt

Delphi-Quellcode:
Function FnkNachbarn(i,j:integer):integer;
var Nachbarn :integer;
Begin
Nachbarn:= 0;
  if curGen[i,j+1] = True then //unten
  Nachbarn:= Nachbarn + 1;
  if curGen[i,j-1] = True then //oben
  Nachbarn:= Nachbarn + 1;
  if curGen[i-1,j-1] = True then //links
  Nachbarn:= Nachbarn + 1;
  if curGen[i-1,j] = True then //links
  Nachbarn:= Nachbarn + 1;
  if curGen[i-1,j+1] = True then //links
  Nachbarn:= Nachbarn + 1;
  if curGen[i+1,j-1] = True then //rechts
  Nachbarn:= Nachbarn + 1;
  if curGen[i+1,j] = True then //rechts
  Nachbarn:= Nachbarn + 1;
  if curGen[i+1,j+1] = True then //rechts
  Nachbarn:= Nachbarn + 1;

  FnkNachbarn:=Nachbarn;


end;
Doch dabei tritt ja das Problem auf das wenn z.B. das Spielfeld auf die Größe 1x1 geändert wird das es ein Range Check Error gibt!
Doch ich wüßte jetzt nicht wie man das anders Programmieren könnte, vielleicht mit einer Bedingung die per getHoehe oder getBreite herausfindet wie groß das Spielfeld ist somit auch nur die wirklich existierenden Nachbarn überprüft(aber wie)???
  Mit Zitat antworten Zitat