Gra w życie – Kod / linki / omówienie – Symulacja życia na stronie www

Szczegółowe omówienie tworzenia symulacju Gra w życie – część 1:

Link do powyższego omówienia tworzenia symulacji Gry w życie – część 1: https://youtu.be/fnWsk3hFWWU?t=639

Szczegółowe omówienie tworzenia symulacju Gra w życie – część 2:

Link do powyższego omówienia tworzenia symulacji Gry w życie – część 2:
https://youtu.be/pcWWngfY_LQ?t=458

Kody / Omówienia poszczególnych części:


Kod wersji ostatecznej "Gra w życie"!

<!DOCTYPE html>
<html>
<head>
<title>Gra w życie v 1.6 - Soft Max</title>
<meta charset="utf-8" />
</head>
<body>
<h1>Gra w życie - wersja 1.6</h1>    
<canvas id="plansza_canvas" width="400px" height="200px">
</canvas>
<script>
let plansza, rysowanie;
plansza = document.getElementById("plansza_canvas");
rysowanie = plansza.getContext("2d");  
let rozmiar_planszy_x = plansza.width,     rozmiar_planszy_y = plansza.height;
let ile_komorek_x = 10,             ile_komorek_y = 5;
ile_komorek_x += 2; ile_komorek_y += 2;
let rozmiar_komorki_x = rozmiar_planszy_x / (ile_komorek_x-2);
let rozmiar_komorki_y = rozmiar_planszy_y / (ile_komorek_y-2);
let x, y;
let STAN_MARTWA_KOMORKA = 0, STAN_ZYWA_KOMORKA = 1;
let KOLOR_MARTWA_KOMORKA = "rgb(0,255,255)", KOLOR_ZYWA_KOMORKA = "rgb(255,0,255)";
let tablica_zyc = [];
for (x=0; x<ile_komorek_x; ++x)
tablica_zyc[x] = [];
function UstawTlo() {
rysowanie.fillStyle = KOLOR_MARTWA_KOMORKA; 
rysowanie.fillRect(0,0, rozmiar_planszy_x,rozmiar_planszy_y); 
}
function RysujKomorke(x,y,czy_zywa) {
if (czy_zywa == STAN_MARTWA_KOMORKA)
rysowanie.fillStyle = KOLOR_MARTWA_KOMORKA;
else
rysowanie.fillStyle = KOLOR_ZYWA_KOMORKA;
let lewy_gorny_x = rozmiar_komorki_x * x;
let lewy_gorny_y = rozmiar_komorki_y * y;
rysowanie.fillRect(lewy_gorny_x, lewy_gorny_y, rozmiar_komorki_x,rozmiar_komorki_y); 
}
function LosujKomorki() {
for (x=1; x <= ile_komorek_x-2; ++x) 
for (y=1; y<=ile_komorek_y-2; ++y) 
tablica_zyc[x][y] = Math.round(Math.random());
}
function RysujKomorki() {
for (x=1; x<=(ile_komorek_x-2); ++x) 
for (y=1; y<=(ile_komorek_y-2); ++y) 
RysujKomorke( x-1, y-1, tablica_zyc[x][y] );
}
UstawTlo();
LosujKomorki()
RysujKomorki()
</script>
</body> 
</html>
Kod wersji ostatecznej "Gra w życie"!

 

Nie dodano jeszcze komentarza, rozpocznij dyskusję pierwszy.

Dodaj komentarz