game of life von ???
eine weitere version des programms:

[code:1:5fc67a82d3]
Const wd=1024
Const ht=768
Graphics wd,ht,16,1
SetBuffer BackBuffer()

Global x0=wd/4
Global y0=ht/4

Dim feld1(x0-1,y0-1)
Dim feld2(x0-1,y0-1)
Global b = 0
Global mode = 0

Function edit()
cx=MouseX()
cy=MouseY()
i1=cx*x0/wd
i2=cy*y0/ht
mdownl=MouseDown(1)
mdownr=MouseDown(2)
Color 0,0,255
Rect i1*wd/x0,i2*ht/y0,wd/x0,ht/y0
Color 255,0,0
Line cx-2,cy,cx+3,cy
Line cx,cy-2,cx,cy+3
If mdownl Then
If b = 0 Then feld1(i1,i2)=1 Else feld2(i1,i2)=1
End If
If mdownr Then
If b = 0 Then feld1(i1,i2)=0 Else feld2(i1,i2)=0
End If
End Function

Function draw()
Color 0,255,0
For i2=0 To y0-1
For i1=0 To x0-1
If b = 0 Then p = feld1(i1,i2) Else p=feld2(i1,i2)
If p = 1 Then Rect i1*wd/x0,i2*ht/y0,wd/x0,ht/y0
Next
Next
End Function

Function count(i1,i2)
c=0
If (i1-1)>=0 And (i2-1)>=0 Then
If b = 0 Then c = c + feld1(i1-1,i2-1)
If b = 1 Then c = c + feld2(i1-1,i2-1)
End If
If (i2-1) >= 0 Then
If b = 0 Then c = c + feld1(i1,i2-1)
If b = 1 Then c = c + feld2(i1,i2-1)
End If
If (i1+1)<=x0-1 And (i2-1)>=0 Then
If b = 0 Then c = c + feld1(i1+1,i2-1)
If b = 1 Then c = c + feld2(i1+1,i2-1)
End If
If (i1+1)<=x0-1 Then
If b = 0 Then c = c + feld1(i1+1,i2)
If b = 1 Then c = c + feld2(i1+1,i2)
End If
If (i1+1)<=x0-1 And (i2+1)<=y0-1 Then
If b = 0 Then c = c + feld1(i1+1,i2+1)
If b = 1 Then c = c + feld2(i1+1,i2+1)
End If
If (i2+1)<=y0-1 Then
If b = 0 Then c = c + feld1(i1,i2+1)
If b = 1 Then c = c + feld2(i1,i2+1)
End If
If (i1-1)>=0 And (i2+1)<=y0-1 Then
If b = 0 Then c = c + feld1(i1-1,i2+1)
If b = 1 Then c = c + feld2(i1-1,i2+1)
End If
If (i1-1)>=0 Then
If b = 0 Then c = c + feld1(i1-1,i2)
If b = 1 Then c = c + feld2(i1-1,i2)
End If
Return c
End Function

Function reset()
For i2=0 To y0-1
For i1=0 To x0-1
feld1(i1,i2)=0
feld2(i1,i2)=0
Next
Next
End Function

While Not KeyHit(1)
draw()
If KeyHit(57) Then mode = 1 - mode
If KeyHit(60) Then
reset()
mode=0
End If
If mode = 0 Then edit()
If mode = 1 Then
For i2 = 0 To y0-1
For i1 = 0 To x0-1
cc=count(i1,i2)
If cc=3 Then
If b = 0 Then feld2(i1,i2)=1 Else feld1(i1,i2)=1
End If
If cc=2 Then
If b = 0 Then feld2(i1,i2)=feld1(i1,i2) Else feld1(i1,i2)=feld2(i1,i2)
End If
If cc<2 Or cc>3 Then
If b = 0 Then feld2(i1,i2)=0 Else feld1(i1,i2)=0
End If
Next
Next
b=1-b
End If
Color 128,128,128
Text 1,1,"Space - start/stop"
Text 1,15, "F2 - reset"
Text 1,30, "ESC - exit"
Flip
Cls
Wend
[/code:1:5fc67a82d3]
===
von ???
ich will ja nicht sagen das das nicht geht, aber wieso hat das so wenig fps?
[url=http://www.blitzforum.de/viewtopic.php?t=283]guck dier mal Robs an das ist "etwas" schneller[/url] (oder war das beabsichtigt?)
===
von ???
hmm, bei mir geht überhaupt nix,
erst recht nix wenn ich die punkte
gesetzt hab und auf start mache..
ich denk ma 10 fp!m!
===
von ???
ebenso!

Wird wohl 9 Monate dauern bis Leben entsteht.
;-)

ciao,
===
von
Ich kapier garnicht, was dabei rauskommen soll.
Bei mir zeichnet es grüne Punkte und mehr nicht.

Welcher Effekt soll denn dabei rauskommen??

Mfg Skateboarder
===
von ???
Hi!
zeichne mal eine wagerechte gerade linie hinein, und drücke
anschließend auf spacetaste.
mfg olli
===
von ???
keine sorge, ich versteh das ding auch net.....
===
von ???
Schön, jetzt verändert sich was.
Aber den Zweck darin kapier ich noch immer nicht!!!!!
(Wenigstens bin ich nicht der einzige :D )
===
von ???
"conways game of life"
das gabs auch mal hier im Forum. Oder gibts das noch?
Naja, die die noch nie davon gehört haben sollten einfach mal danach googeln, es gibt eine grosse community dazu.
Es ist vergleichbar mit z.B. einer Reaktion zwischen Atomen. Ein Vergleich, wie Leben entsteht. Leben entsteht aus bestimmten Gesetzen und es ist meist Zufall, dass an bestimmten Stellen Kettenraktionen entstehen.
So ähnlich wie in Conways Game of Life.
Für ein Spiel kann man es gut für symmetrische Pixeleffekte verwenden.



Suche:
(unterstützt mySQL Wildcards ala %)
Titel:
Text:
Autor: