first commit
parent
06ebb91fe0
commit
dd7415da12
|
@ -0,0 +1,18 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
|
<title>Sketch</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="style.css">
|
||||||
|
|
||||||
|
<script src="libraries/p5.min.js"></script>
|
||||||
|
<script src="libraries/p5.sound.min.js"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<script src="sketch.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"include": [
|
||||||
|
"*.js",
|
||||||
|
"libraries/*.js",
|
||||||
|
"/home/luna/.vscode-oss/extensions/samplavigne.p5-vscode-1.2.7/p5types/global.d.ts"
|
||||||
|
]
|
||||||
|
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,145 @@
|
||||||
|
//VARIABLE SETUP
|
||||||
|
|
||||||
|
let x = 0;
|
||||||
|
let y = 0;
|
||||||
|
let x2 = 0;
|
||||||
|
let y2 = 0;
|
||||||
|
let ballX = 0;
|
||||||
|
let ballY = 0;
|
||||||
|
let ballSpeedX = 0;
|
||||||
|
let ballSpeedY = 0;
|
||||||
|
let vec;
|
||||||
|
let ballD = 50;
|
||||||
|
let paddleWidth = 5;
|
||||||
|
let paddleHeight = 150;
|
||||||
|
let button;
|
||||||
|
let score1 = 0;
|
||||||
|
let score2 = 0;
|
||||||
|
//CHANGING THE VARIBLES TO THEIR DEFAULT VALUE AND MAKING A VECTOR FOR THE BALL
|
||||||
|
|
||||||
|
function setup() {
|
||||||
|
createCanvas(windowWidth, windowHeight);
|
||||||
|
resetSketch();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function resetSketch() {
|
||||||
|
frameRate(60)
|
||||||
|
if (!button) {
|
||||||
|
button = createButton('Reset');
|
||||||
|
}
|
||||||
|
button.size(250);
|
||||||
|
button.position(width / 2, height / 2);
|
||||||
|
button.center('horizontal');
|
||||||
|
button.hide()
|
||||||
|
button.mousePressed(resetSketch);
|
||||||
|
x = width / 2 - 900;
|
||||||
|
y = height / 2 - 75;
|
||||||
|
x2 = width / 2 + 900;
|
||||||
|
y2 = height / 2 - 75;
|
||||||
|
ballX = width / 2;
|
||||||
|
ballY = height /2;
|
||||||
|
vec = createVector(random(-1, 1), random(-1, 1));
|
||||||
|
vec.normalize();
|
||||||
|
ballSpeedX = vec.x * 8;
|
||||||
|
ballSpeedY = vec.y * 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
function draw() {
|
||||||
|
background(255);
|
||||||
|
|
||||||
|
|
||||||
|
//CHECKING IF W OR S IS PRESSED DOWN TO MOVE THE LEFT RECTANGLE
|
||||||
|
|
||||||
|
if (keyIsDown(87) && y > 0) {
|
||||||
|
y -= 10
|
||||||
|
};
|
||||||
|
|
||||||
|
if (keyIsDown(83) && y < height - 150) {
|
||||||
|
y += 10
|
||||||
|
};
|
||||||
|
clear();
|
||||||
|
fill(0, 0, 0);
|
||||||
|
rect(x, y, paddleWidth, paddleHeight);
|
||||||
|
|
||||||
|
//CEHCKING IF I OR K IS PRESSED DOWN TO MOVE THE RIGHT RECTANGLE
|
||||||
|
|
||||||
|
if (keyIsDown(73) && y2 > 0) {
|
||||||
|
y2 -= 10
|
||||||
|
};
|
||||||
|
|
||||||
|
if (keyIsDown(75) && y2 < height - 150) {
|
||||||
|
y2 += 10
|
||||||
|
};
|
||||||
|
rect(x2, y2, paddleWidth, paddleHeight);
|
||||||
|
|
||||||
|
//CREATING THE BALL AND GIVING IT SPEED IN A RANDOM DIRECTION
|
||||||
|
|
||||||
|
ellipse(ballX, ballY, ballD);
|
||||||
|
ballX = ballX + ballSpeedX;
|
||||||
|
ballY = ballY + ballSpeedY;
|
||||||
|
|
||||||
|
//IF THE BALL HITS THE TOP OF BOTTOM THEN BOUNCE OFF
|
||||||
|
|
||||||
|
if (ballY < 0 || ballY > height) {
|
||||||
|
ballSpeedY *= -1
|
||||||
|
};
|
||||||
|
|
||||||
|
//CREATES A LINE IN THE MIDDLE
|
||||||
|
|
||||||
|
stroke(0)
|
||||||
|
strokeWeight(1)
|
||||||
|
line(width / 2, height, width / 2, 0)
|
||||||
|
|
||||||
|
//CHECKS THE DISTANCE BETWEEN THE BALL AND THE RECTANGLES SO THE BALL WILL BOUNCE OFF IF THEY ARE TOUCHING.
|
||||||
|
|
||||||
|
if (ballY > y && ballY < y + paddleHeight && ballX < x + paddleWidth + ballD / 2 && ballX > 0 && ballX < width) {
|
||||||
|
vec = createVector(random(-1, 0), random(-1, 1));
|
||||||
|
vec.normalize();
|
||||||
|
ballSpeedX = vec.x * -8;
|
||||||
|
ballSpeedY = vec.y * -8;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ballY > y2 && ballY < y2 + paddleHeight && ballX > x2 + paddleWidth - ballD / 2 && ballX > 0 && ballX < width) {
|
||||||
|
vec = createVector(random(0, 1), random(-1, 1));
|
||||||
|
vec.normalize();
|
||||||
|
ballSpeedX = vec.x * -8;
|
||||||
|
ballSpeedY = vec.y * -8;
|
||||||
|
}
|
||||||
|
|
||||||
|
//CHECKS IF THE PLAYER HAS WON OR LOST
|
||||||
|
|
||||||
|
|
||||||
|
if (ballX > width + 30) {
|
||||||
|
fill(0)
|
||||||
|
textSize(32)
|
||||||
|
text('Player 1 Wins!', width / 3 + 90, height / 2 - 25)
|
||||||
|
score1++
|
||||||
|
button.show()
|
||||||
|
frameRate(0)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ballX < -30) {
|
||||||
|
fill(0)
|
||||||
|
textSize(32)
|
||||||
|
text('Player 2 Wins!', width / 2, height / 2 - 25)
|
||||||
|
score2++
|
||||||
|
button.show()
|
||||||
|
frameRate(0)
|
||||||
|
};
|
||||||
|
|
||||||
|
// SHOWS THE SCORE FOR THE EACH PLAYER
|
||||||
|
textSize(32)
|
||||||
|
text(`Score: ${score1}`, width / 4, height - 25)
|
||||||
|
text(`Score: ${score2}`, width - 500, height - 25)
|
||||||
|
|
||||||
|
//PRINTS WHICH PLAYER IS WHICH
|
||||||
|
|
||||||
|
text('Player 1', width / 4, height - 920)
|
||||||
|
text('Player 2', width - 500, height - 920)
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue