// Joc SNAKE 1.0 // 1. Date: // --> sarpele: // coordonatele elementelor var sarpeX = Vector(64); var sarpeY = Vector(64); // lungimea sarpelui (adica numarul de elemente) var sarpeN; // directia de mers var directie; // 0-Est, 1-Nord, 2-Vest, 3-Sud // --> marul: // coordonatele marului var marX; var marY; // 2. Functii: function AfiseazaBordura() { var i = 1; while (i<=10) { Aprinde(i, 1, GRI); Aprinde(i, 10, GRI); Aprinde(1, i, GRI); Aprinde(10, i, GRI); i = i+1; } } function AfiseazaSarpe() { var i; Aprinde(sarpeX[0], sarpeY[0], GRI); i = 1; while (i < sarpeN) { Aprinde(sarpeX[i], sarpeY[i], NEGRU); i = i+1; } } function AfiseazaMarNou() { var nrAleator; nrAleator = 1+ ( ((sarpeX[0]+sarpeY[0])*7)% (8*8 - sarpeN) ); var contor = 1; var x; var y; y = 2; while (y<=9) { x = 2; while (x<=9) { var e_sarpe = 0; // fals var i = 0; while (i=1) { sarpeX[i] = sarpeX[i-1]; sarpeY[i] = sarpeY[i-1]; i = i-1; } sarpeX[0] = nouX; sarpeY[0] = nouY; Aprinde(sarpeX[1], sarpeY[1], NEGRU); Aprinde(sarpeX[0], sarpeY[0], GRI); if ((sarpeX[0]==marX)&& (sarpeY[0]==marY)) AfiseazaMarNou(); var jocTerminat = 0; //fals if ((sarpeX[0]==1)|| (sarpeX[0]==10)|| (sarpeY[0]==1)|| (sarpeY[0]==10)) jocTerminat = 1; //adevarat i = 1; while (i <= sarpeN-1) { if ((sarpeX[0]==sarpeX[i])&& (sarpeY[0]==sarpeY[i])) jocTerminat = 1; //adevarat i = i+1; } if (jocTerminat == 1) { Aprinde(marX, marY, ROSU); AscultaTaste(); } } } // 3. Program: // --> bordura AfiseazaBordura(); // --> initializeaza sarpele sarpeN = 3; sarpeX[0]= 5; sarpeX[1]= 4; sarpeX[2]= 3; sarpeY[0]= 5; sarpeY[1]= 5; sarpeY[2]= 5; directie = 0; AfiseazaSarpe(); // --> initializeaza marul AfiseazaMarNou(); // --> tastatura AscultaTaste(FunctieTaste);