Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace StreamGraphics
- {
- public class Eletjatek : GraphicsWorker
- {
- Random rnd = new Random();
- public void run()
- {
- // Beállítjuk a grafikus pufferméret, hogy körübelül
- // akkora legyen, mint a mező mérete.
- StreamGraphics.setBufferSize(3000);
- // Ilyen sűrűn frissüljön a képernyő.
- // (Ez a körök közti várakozási idő.)
- StreamGraphics.setStepDelayMs(1000);
- // Feltöltünk egy tárolót véletlenszerű értékekkel
- // A tároló azt tartalmazza, hogy az adott helyen
- // van-e élet. (igaz vagy hamis)
- bool[] mezo = new bool[30*40]; // A tároló 1200 elemű
- // Végigmegyünk a tároló összes elemén.
- for (int i=0; i<30*40; i++)
- {
- // Generálunk egy számot, ami 0, 1, 2, 3, 4 lehet.
- int r = rnd.Next(5);
- // A tároló 'i' helyére berakunk egy értéket.
- if (r == 0)
- {
- // Ha véletlenszerű szám ebben az esetben pont nulla,
- // akkor erre a helyre "igaz" kerül.
- mezo[i] = true;
- }
- else
- {
- // Ha véletlenszerű szám nem nulla,
- // akkor erre a helyre "hamis" kerül.
- mezo[i] = false;
- }
- // A fenti blokk leírva tömörebben.
- // field[i] = rnd.Next(5) == 0;
- }
- // Végtelenségig ismételjük a köröket.
- while (true)
- {
- // Kirajzoljuk a mezőt.
- rajzoldAMezot(mezo);
- // Frissítjük a képernyőt.
- StreamGraphics.step();
- // Egy új mezőt hozunk letre a játékszabályok alapján.
- // A régi mező felülírásra kerül a létrehozott új mezővel.
- mezo = ujMezo(mezo);
- }
- }
- private bool[] ujMezo(bool[] mezo)
- {
- // Létrehozunk egy tárolót a következő kör eltárolására.
- bool[] ujMezo = new bool[30*40];
- // ... szabályok leprogramozása.
- return ujMezo;
- }
- void rajzoldAMezot(bool[] mezo)
- {
- // Letörli a képernyőt.
- StreamGraphics.clear();
- for (int y = 0; y < 30; y += 1)
- {
- // Soronként megismételjük az alábbiakat
- for (int x = 0; x < 40; x += 1)
- {
- // Oszloponként megismételjük az alábbiakat
- // Ez a sor és oszlop melyik helyet jelenti a tárolóban?
- int index = y*40 + x;
- bool vanElet = mezo[index];
- if (vanElet)
- {
- StreamGraphics.drawRect(x*20, y*20, 19, 19, Color.RED);
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement