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
"PIXELART" - Processing
ID
Autor
Duplicat din
Ultima modificare
#6220
6B - Dumitrache Nicolae (Nicky_Dumitrache)
-
Vineri, 20 sep 2024, 17:58
var particles = []; var mREADY = 1; var mSET = 2; var mGO = 3; var mGAME = 4; var mGAMEOVER = 5; var mYOUWIN = 6; var mode = mGAME; var score = 0; var enemy = { xPos: 550, yPos: 150, xSpeed: 3.5, ySpeed: 0 }; var s1x = 0; // square position (move with mouse) var s1y = 0; var s1w = 20; // and dimensions var s1h = 20; var s2x = 550; // same for second square var s2y = 150; var s2w = 20; var s2h = 20; var greenpowerup; var s3x = 300; var s3y = 300; var s3w = 10; var s3h = 10; var bluepowerup; var s4x = 300; var s4y = 100; var s4w = 10; var s4h = 10; var shield; var s5x = 50; var s5y = 50; var s5w = -5; var s5h = -5; function setup() { createCanvas(600, 400); fill(0, 255, 0); noStroke(); } function draw() { background(0, 100); //score counter score = 0; textSize(20); fill(255); stroke(255); strokeWeight(0); textFont("Monaco"); text(score, 20, 30); fill(232, 37, 23); var index = 0; while (index < particles.length) { updateAndDrawParticle(particles[index]); index++; } particles.push({ x: mouseX, y: mouseY, xSpeed: 10, ySpeed: 0 }); if (mode == mREADY) { ready(); } if (mode == mSET) { set(); } if (mode == mGO) { go(); } if (mode == mGAME) { game(); } if (mode == mGAMEOVER) { gameover(); } if (mode == mYOUWIN) { youwin(); } } function mousePressed() { /*/ TODO if (hit5) { score = score + 25; } // */ } function game() { if (frameCount % 40 == 0) { particles.push({ x: enemy.xPos, y: enemy.yPos, xSpeed: -10, ySpeed: 0 }); } s1x = mouseX - s1w / 2; s1y = mouseY - s1h / 2; var hit = rectRect(s1x, s1y, s1w, s1h, enemy.xPos, enemy.yPos, 20, 20); if (hit) { mode = mGAMEOVER; noLoop(); return; } //greenpowerup var hit2 = rectRect(s1x, s1y, s1w, s1h, s3x, s3y, s3w, s3h); if (hit2) { //player turns green score = score + 100; fill(0); rect(s3x, s3y, s3w, s3h); fill(0, 255, 0); rect(s1x, s1y, s1w, s1h); // return; } //bluepowerup var hit3 = rectRect(s1x, s1y, s1w, s1h, s4x, s4y, s4w, s4h); if (hit3) { //shield fill(0); rect(s4x, s4y, s4w, s4h); push(); fill(117, 222, 255); noStroke(); translate(mouseX, mouseY); rotate(frameCount / 20); rect(s5x, s5y, s5w, s5h); pop(); } else { fill(117, 222, 225); } //player fill(255); rect(s1x, s1y, s1w, s1h); } function rectRect(r1x, r1y, r1w, r1h, r2x, r2y, r2w, r2h) { // are the sides of one rectangle touching the other? if ( r1x + r1w >= r2x && // r1 right edge past r2 left r1x <= r2x + r2w && // r1 left edge past r2 right r1y + r1h >= r2y && // r1 top edge past r2 bottom r1y <= r2y + r2h // r1 bottom edge past r2 top ) { return true; } return false; } function updateAndDrawParticle(part) { if (part.life <= 0) { return; } part.x += part.xSpeed; part.y += part.ySpeed; // Enemy shots if (part.xSpeed < 0) { // particle hit player var hit4 = rectRect(part.x, part.y, 10, 10, s1x, s1y, s1w, s1h); if (hit4) { mode = mGAMEOVER; noLoop(); } fill(255, 0, 0); } else { // Player particle fill(255); } rect(part.x, part.y, 10, 10); } function makeFirework(x, y) { var num = 200; for (var c = 0; c < num; c++) { var a = random(TWO_PI); var s = random(0.1, 2); particles.push({ x: x, y: y, xSpeed: 10, ySpeed: random(-1, 1) }); } }
Duplicare
Executare
Cod
Cod HTML
<iframe sandbox="allow-scripts" src="/p5js/index.php?id=6220" style="width:408px; height:408px;border:solid 1px gray; overflow: scroll;"></iframe>
Duplicare script
Denumirea noului script
Du-te sus!