Conways game of life on a Lcd

Toon hier Uw afgeronde projecten aan anderen.
Gebruikers-avatar
Berichten: 188
Geregistreerd: 23 Dec 2011, 00:12

Conways game of life on a Lcd

Berichtdoor Duality » 01 Jun 2012, 13:48

Hi,
laatst heb ik ook een project afgrond,
Ik had een kleine sketch gemaakt, die conways game of live draaide op een 20x4 lcd.
http://tkkrlab.nl/wiki/Game_of_Lifeish,_on_a_lcd
is the project page,
Het grappige is dat hackaday er ook over geschreven heeft,
en daar ben ik zeer trots op :)!

http://hackaday.com/2012/05/26/small-li ... acter-lcd/

Groet,
Duality

Advertisement

Gebruikers-avatar
Berichten: 700
Geregistreerd: 05 Mrt 2012, 21:56
Woonplaats: Appingedam

Re: Conways game of life on a Lcd

Berichtdoor pjh » 07 Jun 2012, 22:46

Dat is inderdaad wel een compliment waard!
Het is wel toevallig dat ik gisteren zelf ook de life game van Conway geprogrammeerd heb. Ik had nog zo'n olimex boardje liggen, waar ik nog niet naar gekeken had. Heeft een BASIC interpreter aan boord. Het eerste dat ik deed was... juist: conway programmeren. Deed ik vroeger ook op de commodore 64. Lekker retro.

Slechte programmeertaal, onnodig lange code, maar voor de lering ende vermaeck mijn basic programma hieronder geplakt. Heb het op een micro-SD gezet en in de DuinoBite gestopt. Op http://huinink.info/olimex/ een kort verslag.


Code: Alles selecteren
10 CLS
20 hmax = INT(MM.HRES/2)-1
30 vmax = MM.VRES-1
40 LINE(0,0)-(2 * hmax + 1, vmax),1,b
42 links = 1
42 rechts = 0
50 GOSUB 1000
60 GOSUB 2000
62 GOSUB 3000
64 GOTO 60
70 END
1000 FOR x = 0 TO hmax
1010 FOR y = 0 TO vmax
1020 IF RND(1) > 0.5 THEN PIXEL(x,y) = 1
1030 NEXT y, x
1040 RETURN
2000 FOR x = 2 TO hmax-2
2010 FOR y = 2 TO vmax-2
2020 FOR xx = -1 TO 1
2030 FOR yy = -1 TO 1
2040 totaal = totaal + PIXEL(x+xx, y+yy)
2050 NEXT yy,xx
2060 totaal = totaal - PIXEL(x,y)
2070 IF (totaal > 3) OR (totaal < 2) THEN nieuw = 0
2080 IF totaal = 3 THEN nieuw = 1
2090 IF totaal = 2 THEN nieuw = PIXEL(x,y)
2095 PIXEL(hmax+1+x,y) = nieuw
2100 totaal = 0
2110 NEXT y,x
2120 RETURN
1000 FOR x = 0 TO hmax
1010 FOR y = 0 TO vmax
1020 IF RND(1) > 0.5 THEN PIXEL(x,y) = 1
1030 NEXT y, x
1040 RETURN
3000 FOR x = 2 TO hmax-2
3010 FOR y = 2 TO vmax-2
3020 FOR xx = -1 TO 1
3030 FOR yy = -1 TO 1
3040 totaal = totaal + PIXEL(hmax + 1 + x + xx, y + yy)
3050 NEXT yy,xx
3060 totaal = totaal - PIXEL(x,y)
3070 IF (totaal > 3) OR (totaal < 2) THEN nieuw = 0
3080 IF totaal = 3 THEN nieuw = 1
3090 IF totaal = 2 THEN nieuw = PIXEL(x,y)
3095 PIXEL(x,y) = nieuw
3100 totaal = 0
3110 NEXT y,x
3120 RETURN

Gebruikers-avatar
Berichten: 188
Geregistreerd: 23 Dec 2011, 00:12

Re: Conways game of life on a Lcd

Berichtdoor Duality » 09 Jun 2012, 01:24

nice!
maar hoe snel draait jou game :)?

Gebruikers-avatar
Berichten: 700
Geregistreerd: 05 Mrt 2012, 21:56
Woonplaats: Appingedam

Re: Conways game of life on a Lcd

Berichtdoor pjh » 09 Jun 2012, 16:46

Het gaat vrij traag. Maar dat komt omdat die basic-interpreter alleen floating point variabelen heeft. Het kan vele malen sneller. In de link boven kom je een filmpje tegen waarin je een indruk krijgt van de snelheid.

Terug naar Afgeronde projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 6 gasten