Jæja, vegna þess að ég er orðinn þreittur á því hve óvirkt þetta áhugamál er, hef ég ákveðið að hafa keppni.

Keppnin er afskaplega einföld. Þetta snýst um að gera The Game of Life http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life

Keppnin felst í því að gera þennan leik, og sá sem tekst að láta hann reikna út nýja kynslóð á sem hraðastan hátt vinnur.
Reglur:
1.  Þið verðið að notast við mitt library (linkar neðst) og skrifa út númer kynslóðar. (t.d. printf())
2.  Kóðin má ekki vera lengri en 600 línur.
3.  Forritið þarf að skila út "réttum" kynslóðum, en mitt forrit (life.c eða life.exe, neðst), er notað til viðmiðunar.  Lausnin þarf einnig að geta höndlað grid í hvaða stærð sem er, en þó fer hraðamælingin fram við 300x300 grid.
4.  Öll tungumál, og allar aðferðir eru leyfilegar. (svo framanlega sem þið notist við mitt library).
6.  Lausnin er einungis dæmd á hraða hennar til að reikna út nýja kynslóð, og kemur til með að vera gefin upp sem: kynsl/sec.  Tímin sem forritið eiðir í að teikna á skjáin telst ekki með.
5.  Sendið lausnir á hjortur7 (hjá) hotmail.com, eða á mig hér á hugi.is, fyrir 8.apríl
Ástæðan fyrir því að þið verðið að nota mitt library, er til þess að þið einbeitið ykkur að því mikilvæga, að reikna út nýja kynslóð á sem hagkvæmastan hátt, og einnig hafa sumir ekki áður gert grafískt forrit. Og að hluta til, til þess að tryggja það að ég geti keyrt kóðan ykkar.

Ég kem til með að nota ubuntu 8.10 (intel celeron), SuSe 10(amd) og Windows XP(amd_64 og amd_32). Ykkar kóði þarf einungis að geta keyrt á einhverjum af þessum tölvum.


Leiðbeiningar:

Libraryið er afskaplega einfalt.
Þið kallið fyrst einusinni í:
[b]
Initf(width,height,size)[/b]
eftir það getið þið kallað eins oft og þið viljið í [b]DrawCellf(x,y,status)[/b] og [b]DrawGridf()[/b]
kallið svo á [b]Flushf()[/b] til að teikna breitingarnar á skjáinn.
Og að lokum á[b] CleanUpf()[/b] til að hætta.

Skoðið test.c og life.c sem fylgja með pökkunum, til þess að sjá nánar. Já, og lesið README !!!


Windows:
Þið sækið pc.rar, en það er merkt niðri.
Ég gerði .dll skjal sem að inniheldur mitt library. Til þess að nota það þarf að include frame.h headernum og linka við frame.lib. Hvernig það nákvæmlega er gert, fer eftir compiler. Spyrjið hér fyrir neðan, eða p.m. mið mig ef ykkur vantar hjálp.
Þið þurfið að setja frame.dll og SDL.dll í sömu möppu og forritið er, ef að það á að keyra. Nánari upplýsingar í README.txt

Linux:
Þið sækjið framework.tar, það inniheldur source kóðan fyrir libraryinu, en upplýsingar um hvernig skal nota það,er í README. A.t.h þið þurfið að hafa SDL og SDL-dev uppsett.



Keppninni lýkur svo 8 apríl, og kem ég með að tilkynna sigurvegara hér á huga.is.

Áhugasömum er bent á að skoða source-ið.

Gangi ykkur vel!



Windows: http://rapidshare.de/files/46361580/pc.rar.html
Linux (source): http://rapidshare.de/files/46361579/framework.tar.html

SDL: http://www.libsdl.org/