-
Forum: Sonstige Fragen zu Delphi
Delphi
by fabiO,
13. Dez 2005
hi...
ich hab mich doch nochma rangesetzt, und mir is ne ziemlich einfache lösung für das Problem des umlaufenden Feldes eingefallen, die ich jetzt einfach ma poste:
function nachbarn(x,y : Integer):Integer;
var a,a1,b,b1,c : Integer;
begin
c := 0;
for a:=x-1 to x+1 do
-
Forum: Sonstige Fragen zu Delphi
Delphi
by fabiO,
12. Dez 2005
hab einfach ma zum Abschluss mein fertiges ( :hello: :party: :hello: ) programm drangehangen...
Falls also jemand mal die selbe Aufgabe bekommen sollte, kann er sich ja gern bedienen. :cheers:
gruß fabiO
-
Forum: Sonstige Fragen zu Delphi
Delphi
by fabiO,
12. Dez 2005
yo logisch, sorry stand bissl auf der leitung :)
kannte nur mod, wusste nich, dass es modulo heisst ;)
Naja ich habe das mal in den Code eingesetzt, es funktioniert wie mit meinem code, also keine veränderung...
Aber ich denke, da in den anderen Life-Programmen es genauso gemacht wird, werde ich es einfach so lassen...
Danke für die Tipps!
-
Forum: Sonstige Fragen zu Delphi
Delphi
by fabiO,
12. Dez 2005
Erhm also so ganz hab ich dein modulo nich gerafft :)
Und dazu sagt mir Delphi, dass es weder N, noch M kennt ( Unit1.pas(30): Undeclared identifier: 'N') :)
Kannst du nochma schaun, warum das nicht ganz funktionieren könnte?
Danke schonmal für die Idee
gruß fabiO
-
Forum: Sonstige Fragen zu Delphi
Delphi
by fabiO,
12. Dez 2005
Ich hab das mal überdacht, wobei mir etwas aufgefallen ist.
Wenn ich das Feld größer mache und hierbei die randfelder Leer lassen, also somit eine umrandung schaffe, funktioniert das programm ja auch nicht.
aber wenn ich mir andere, z.B. Java-Applets, anschaue, dann verhalten die sich genau wie mein programm,
also wirds wohl doch irgendwo richtig sein :?:
gibts ansonsten keine andere...
-
Forum: Sonstige Fragen zu Delphi
Delphi
by fabiO,
12. Dez 2005
Danke für deine Antwort!
Es funktioniert nun, jedoch musste ich noch 2 extra if-Anweisungen mit einbinden, weil es nur mit deinem code immernoch das falsche ergebniss lieferte!
Ich habe nun folgendes stehen:
procedure TForm1.Button1Click(Sender: TObject);
var i,k,n : Integer;
begin
for i := 1 to high(alt) do
for k := 1 to length(alt) do begin
n := Nachbarn (i,k);
-
Forum: Sonstige Fragen zu Delphi
Delphi
by fabiO,
11. Dez 2005
Mhh dein Code, mit der überlebenden Zelle, leuchtet nich so ganz ein!
if (alt = 0) AND (nachbarn(i,k) = 2)
then alt := 1;
Dass würde ja beudeten, dass ein Feld, das vorher tot war und 2 lebende Nachbarn besitzt, nun lebendig ist, und das wäre ja gegen die Spielregeln.
Das mit den überlebenden habe ich mal so eingearbeitet:
-
Forum: Sonstige Fragen zu Delphi
Delphi
by fabiO,
11. Dez 2005
Hallo,
Danke für den Tipp mit dem 2ten Feld.
Ich hab das mal so realisiert:
(neu ist wie alt ein Array of Integer)
procedure Tform1.ausgeben;
var i,k : Integer;
begin
-
Forum: Sonstige Fragen zu Delphi
Delphi
by fabiO,
11. Dez 2005
Hallo,
Ich bin zur Zeit dabei, mir mal das allseits beliebte Game of Life anzuschauen.
Ich weiß, dass es schon eine Menge Algorithmen gibt, doch hat mir keiner von denen, die ich bisher gesehen habe geholfen.
Mein Problem ist simpel: Die Anzahl der lebenden Nachbarfelder wird richtig ermittelt, doch erfolgt die berechnung des neuen Spielfeldes fehlerhaft.
Hier einmal mein Code:
( alt...