I have been frustrated with making a pong game. I have two paddles that I can move separately and freely as required but I miss something and they can't move at the same time as I want, it's a multiplayer game, two opponents press different keyboard keys at the same time, but something's missing in my code!
function leftPaddleMoveUp() {
leftTopLenght = leftPaddle.getBoundingClientRect().top;
if (Math.floor(leftTopLenght) === 100) {
return NaN;
} else {
leftPaddle.style.top = leftPaddleTopUp + leftPaddleTopDown + "px";
leftPaddleTopUp -= 20; // Speed
}
}
function leftPaddleMoveDown() {
leftTopLenght = leftPaddle.getBoundingClientRect().top;
if (Math.floor(leftTopLenght) === 660) {
return NaN;
} else {
leftPaddle.style.top = leftPaddleTopUp + leftPaddleTopDown + "px";
leftPaddleTopDown += 20; // Speed
}
}
function rightPaddleMoveUp() {
rightTopLenght = rightPaddle.getBoundingClientRect().top;
if (Math.floor(rightTopLenght) === 100) {
return NaN;
} else {
rightPaddle.style.top = rightPaddleTopUp + rightPaddleTopDown + "px";
rightPaddleTopUp -= 20; // Speed
}
}
function rightPaddleMoveDown() {
rightTopLenght = rightPaddle.getBoundingClientRect().top;
if (Math.floor(rightTopLenght) === 660) {
return NaN;
} else {
rightPaddle.style.top = rightPaddleTopUp + rightPaddleTopDown + "px";
rightPaddleTopDown += 20; // Speed
}
}
document.addEventListener("keypress", (event) => {
// PlayerOne&LeftSide
if (event.keyCode === 83 /*azerty & qwerty*/) {
leftPaddleMoveUp();
} else if (
event.keyCode === 87 /*azerty*/ ||
event.keyCode === 90 /*qwerty*/
) {
leftPaddleMoveDown();
}
// PlayerTwo&RightSide
else if (event.keyCode === 38 /*UpperArrow*/) {
rightPaddleMoveUp();
} else if (event.keyCode === 40 /*LowerArrow*/) {
rightPaddleMoveDown();
}
});
Is there is any method or function to accomplish this task?