Pentru a-l vedea, apasa butonul “Reseteaza afisajul” si apoi butonul “Executa programul” in caseta de mai jos.
// Salut! :-)
//
// Vreau sa iti urez
// "La multi ani!"
// intr-un mod specific igotopic
// :-)
// Voi face ca pe ecranul din
// dreapta sa se plimbe
// mesajul "La multi ani!"
// Esti gata sa incepem?
// ...
// OK! :-)
// 1) Hai sa vedem mai intai
// cum facem sa plimbam un punct
// negru de la stanga la dreapta...
// Iau o variabila in care sa
// memorez pozitia punctului
// pe axa x
var poz_x = 11;
// Am initializat-o cu 11
// (adica in afara ecranului, in dreapta; n-o voi afisa)
// Si fac ca la fiecare apasare
// a tastei 'P' sa se deplaseze
// la stanga cu o pozitie
// Buuun! :-)
// Dar cum fac ca punctul verde
// sa se deplaseze singur, fara
// sa fie nevoie sa apas tasta
// 'p' ?...
// Simplu: folosesc animatia!
// OK! :-) Frumos, nu?
// Hai sa vedem cum am putea
// acum ca in loc de un singur punct
// sa afisam litera L
// Construiesc o matrice in
// care il "desenez" pe "L"
var M = Matrice(4, 48);
M[0] = [0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
M[1] = [0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
M[2] = [0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
M[3] = [0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
// Hocus-pocus!! Iata matricea!
// :-)
// Si inca un hocus-pocus si...
// ... iata L-ul deplasandu-se!
// Mai ajustam putin...
// ... si iata rezultatul! :-)
function FunctieDesenare()
{
var timp = TimpScurs(1000/5);
if (timp != 0)
{
if ((poz_x>-38) && (poz_x<11))
{
// sterg toata fasia
// din centru...
var l = 0;
while (l<4)
{
var c = 0;
while (c<10)
{
Aprinde(1+c, 7-l, ALB);
c = c+1;
}
l = l+1;
}
}
poz_x = poz_x-1;
if ((poz_x>-38) && (poz_x<11))
{
// aprind fasia
// din centru conform
// continutului matricii
// M, incepand cu
// pozitia poz_x ...
var l = 0;
while (l<4)
{
var c = 0;
while (c<49)
{
if (poz_x+c <= 10)
if (poz_x+c >= 1)
if (M[l][c] == 1)
Aprinde(poz_x+c, 7-l, VERDE);
c = c+1;
}
l = l+1;
}
}
if (poz_x == -38)
poz_x = 11;
}
Animeaza(FunctieDesenare);
}
StartAnimatie(FunctieDesenare);
Vrei sa vezi cum l-am facut? Urmareste video-ul de mai jos.
Ce-ar fi sa modifici programul astfel incat mesajul afisat sa fie altul? Incearca si spune-mi intr-un comentariu daca ai reusit.