Comutare navigație
pbInfo.ro
Probleme
Probleme - clasa a IX-a
Probleme - clasa a X-a
Probleme - clasa a XI-a
Probleme din concursuri
Căutare problemă
Exerciții
Programează cu Blockly
Desenează cu Processing
Exersează SQL
Soluţii
Resurse
Resurse pentru clasa a IX-a
Resurse pentru clasa a X-a
Resurse pentru clasa a XI-a
Subiecte bacalaureat
Ajutor
Autentificare
Înregistrare
×
Autentificare
Utilizator sau email
Parola
Acest site foloseşte cookies. Navigând în continuare, vă exprimaţi acordul asupra folosirii cookie-urilor.
Îti place pbInfo? Atunci acceptă-l cu totul! Dezactivează modulul de blocare a reclamelor!
×
Lista scripturi
Script Nou
Ajutor
"Snake" - Processing
ID
Autor
Duplicat din
Ultima modificare
#2459
Cîrstoiu Andra - Gabriela (ANDRA_gabriela)
-
Joi, 31 dec 2020, 15:47
var scor=0,scormax=0,d=5,df,standby,meniu=0,cnt_background=0; var n,m,A=new Array(183),marX,marY; var cntkey=new Array(7),cntkeymin=2; function setup() { createCanvas(400,400); angleMode(DEGREES); for(var i=0; i<=182; i++) { A[i]=new Array(2); A[i][0]=A[i][1]=0; } for(var i=0; i<=6; i++) cntkey[i]=0; setup_sarpe(); } function draw() { if(meniu) { AFISARE(); Menu(); } else { if(cnt_background>0) cnt_background--; citire(); if(!standby) { miscare(); verif_viata(); } AFISARE() } } function Menu() { if(cnt_background<=10) cnt_background++; for(var i=1; i<=cnt_background; i++) background('rgba(0,0,0,0.1)'); if(meniu==1) { fill('rgba(0,0,0,0.4)'); rect(150,175,100,50); rect(25,175,100,50); rect(275,175,100,50); noFill(); stroke("green"); rect(150,175,100,50); rect(25,175,100,50); rect(275,175,100,50); noStroke(); fill("green"); text("PLAY",175,207); text("Dificultate",32,206); text("Setări",299,207); if(mouseIsPressed) { if(cntkey[6]==0) { if(mouseX>=150&&mouseX<250 && mouseY>=175&&mouseY<225) meniu=0; if(mouseX>=25&&mouseX<125 && mouseY>=175&&mouseY<225) meniu=2; if(mouseX>=275&&mouseX<375 && mouseY>=175&&mouseY<225) meniu=3; } cntkey[6]++; } else cntkey[6]=0; if(keyIsDown(27)||keyIsDown(80)) { if(cntkey[5]===0) meniu=0; cntkey[5]++; } else cntkey[5]=0; } if(meniu==2) { if(keyIsDown(27)||keyIsDown(80)) { if(cntkey[5]===0) meniu=1; cntkey[5]++; } else cntkey[5]=0; } if(meniu==3) { if(keyIsDown(27)||keyIsDown(80)) { if(cntkey[5]===0) meniu=1; cntkey[5]++; } else cntkey[5]=0; } } function citire() { if(keyIsDown(38)||keyIsDown(87)) cntkey[1]++; else cntkey[1]=0; if(keyIsDown(40)||keyIsDown(83)) cntkey[2]++; else cntkey[2]=0; if(keyIsDown(37)||keyIsDown(65)) cntkey[3]++; else cntkey[3]=0; if(keyIsDown(39)||keyIsDown(68)) cntkey[4]++; else cntkey[4]=0; if(keyIsDown(38)||keyIsDown(87) || keyIsDown(40)||keyIsDown(83) || keyIsDown(39)||keyIsDown(68)) standby=0; for(var i=1; i<=4; i++) { if(cntkey[i]!=0&&(cntkey[i]
14||A[1][1]<1||A[1][1]>13) adv_viata=0; else { for(var i=5; i<=n&&d!=5; i++) { if(A[1][0]==A[i][0]&&A[1][1]==A[i][1]) adv_viata=0; } } if(!adv_viata) setup_sarpe(); } function verif_mar() { if(A[1][0]==marX&&A[1][1]==marY) { scor++; scormax=max(scor,scormax); n++; A[n+1][0]=A[n][0],A[n+1][1]=A[n][1]; var p=int(random(1,13*14-n+0.99999999)); for(var i=1; i<=14&&p; i++) { for(var j=1; j<=13&&p; j++) { var adv=1; for(var k=1; k<=n&&adv; k++) { if(A[k][0]==i&&A[k][1]==j) adv=0; } if(adv) { p--; if(p==0) { marX=i; marY=j; } } } } } } function AFISARE() { Afisare_fundal(); Afisare_sarpe(); Afisare_mar(marX,marY); } function Afisare_fundal() { ///Fundal background("#578b34"); for(var i=25; i<=374; i+=25) { for(var j=50; j<=374; j+=25) { noStroke(); if((i+j)%2) fill("#a8d751"); else fill("#a1d149"); rect(i,j,25,25); } } ///Scor Afisare_mar(0.8,-0.5); fill("white"); textSize(20); text(scor,50,33); fill("#ffc107"); ellipse(150,26.5,22,22); fill("white"); text(scormax,167.5,33); } function Afisare_sarpe() { var xc,yc; for(var i=1; i<=n; i++) { var X1,Y1,X2,Y2; var x1,x2,x3,x4,y1,y2,y3,y4; var scale=(182-i+1)/182; X1=A[i][0],Y1=A[i][1]; X2=A[i+1][0],Y2=A[i+1][1]; if(i==1) X1=(X1*(25-m)+X2*m)/25,Y1=(Y1*(25-m)+Y2*m)/25; if(i==n) X2=(X1*(25-m)+X2*m)/25,Y2=(Y1*(25-m)+Y2*m)/25; {/// x1=(X1-1)*25+25,y1=(Y1-1)*25+50; fill(67*scale,113*scale,288*scale); ellipse(x1+12.5,y1+12.5,20*scale,20*scale); if(i==1) xc=x1,yc=y1; }/// if(A[i][0]!=A[i+1][0]) { x1=X1+0.5; x2=X2+0.5; x3=X2+0.5; x4=X1+0.5; y1=Y1+0.5-0.4*scale; y2=Y2+0.5-0.4*(scale-1/182); y3=Y2+0.5+0.4*(scale-1/182); y4=Y1+0.5+0.4*scale; } else { y1=Y1+0.5; y2=Y2+0.5; y3=Y2+0.5; y4=Y1+0.5; x1=X1+0.5-0.4*scale; x2=X2+0.5-0.4*(scale-1/182); x3=X2+0.5+0.4*(scale-1/182); x4=X1+0.5+0.4*scale; } {/// x1=(x1-1)*25+25; x2=(x2-1)*25+25; x3=(x3-1)*25+25; x4=(x4-1)*25+25; y1=(y1-1)*25+50; y2=(y2-1)*25+50; y3=(y3-1)*25+50; y4=(y4-1)*25+50; beginShape(); vertex(x1,y1); vertex(x2,y2); vertex(x3,y3); vertex(x4,y4); endShape(CLOSE); }/// if(i==n) { x2=(X2-1)*25+25,y2=(Y2-1)*25+50; ellipse(x2+12.5,y2+12.5,20*(scale-1/182),20*(scale-1/182)); } } { var v1=1,v2=0; if(df>=3) v1=0,v2=1; fill("#4371e4"); ellipse(xc+v1*5+v2*12.5,yc+v1*12.5+v2*5,12,12);///zona ochilor ellipse(xc+v1*20+v2*12.5,yc+v1*12.5+v2*20,12,12); fill("white"); ellipse(xc+v1*5+v2*12.5,yc+v1*12.5+v2*5,8,8);///ochii ellipse(xc+v1*20+v2*12.5,yc+v1*12.5+v2*20,8,8); fill("#1c479d"); var alfa;///pupilele var X=(xc-25)/25+1,Y=(yc-50)/25+1; X=marX-X,Y=marY-Y; if(Y>0) alfa=atan(X/Y); if(Y==0) { if(X>0) alfa=90; else alfa=-90; } if(Y<0) { if(X>0) alfa=180-atan(X/-Y); else alfa=-180-atan(X/-Y); } X=sin(alfa)*1.75; Y=cos(alfa)*1.75; ellipse(xc+v1*5+v2*12.5+X,yc+v1*12.5+v2*5+Y,4.5,4.5); ellipse(xc+v1*20+v2*12.5+X,yc+v1*12.5+v2*20+Y,4.5,4.5); } } function Afisare_mar(x,y) { x=(x-1)*25+25; y=(y-1)*25+50; fill("#e8501d"); ellipse(x+12.5,y+14,22,22); }
Duplicare
Executare
Cod
×
Cod HTML
<iframe sandbox="allow-scripts" src="/p5js/index.php?id=2459" style="width:408px; height:408px;border:solid 1px gray; overflow: scroll;"></iframe>
×
Duplicare script
Denumirea noului script
Du-te sus!