first commit

main
Luna 2021-08-01 17:26:39 -07:00
parent 06ebb91fe0
commit dd7415da12
6 changed files with 184 additions and 0 deletions

18
index.html Normal file
View File

@ -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>

7
jsconfig.json Normal file
View File

@ -0,0 +1,7 @@
{
"include": [
"*.js",
"libraries/*.js",
"/home/luna/.vscode-oss/extensions/samplavigne.p5-vscode-1.2.7/p5types/global.d.ts"
]
}

3
libraries/p5.min.js vendored Normal file

File diff suppressed because one or more lines are too long

3
libraries/p5.sound.min.js vendored Normal file

File diff suppressed because one or more lines are too long

145
sketch.js Normal file
View File

@ -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)
};

8
style.css Normal file
View File

@ -0,0 +1,8 @@
html, body {
margin: 0;
padding: 0;
}
canvas {
display: block;
}