Breakout (itch) (Frenchyboy)
Исходный код:
var кирпичи = [];
for(var c=0; c
}
document.addEventListener("keydown", keyDownHandler, false);
document.addEventListener("keyup", keyUpHandler, false);
document.addEventListener("mousemove", mouseMoveHandler, false);
function mouseMoveHandler(e) {
var relativeX = e.clientX - canvas.offsetLeft
if(relativeX > 0 && relativeX < canvas.width) {
paddleX = relativeX - paddleWidth/ 2;
}
function keyDownHandler(e) {
if(e.key == "Right" || e.key == "ArrowRight") {
rightPressed = true;
}
else if(e.key == "left" || e.key == "ArrowLeft") {
leftPressed = true;
}
function keyUpHandler(e) {
if(e.key == "Right" || e.key == "ArrowRight") {
rightPressed = false;
}
else if(e.key == "left" || e.key == "ArrowLeft") {
leftPressed = false;
}
}
function collisionDetection() {
for(var c=0; c
if(b.status == 1) {
if(x > b.x && x < b.x+brickWidth && y > b.y && y < b.y+brickHeight) {
dy = -dy;
b.status = 0;
оценка++;
если (score == brickRowCount*brickColumnCount) {
alert("ВЫ ПОБЕДИЛИ, ПОЗДРАВЛЯЕМ!");
document.location.reload();
}
}
}
}
}
}
function drawScore() {
ctx.font = "16px Arial";
ctx.fillStyle = "#0095DD"
ctx.fillText("Score: "+score, 8, 20);
}
function drawLives() {
ctx.font = "16px Arial";
ctx.fillStyle = "#0095DD";
ctx.fillText("Жизни: "+lives, canvas.width-65, 20);
}
function drawBall() {
/> ctx.beginPath();
ctx.arc(x, y, ballRadius, 0, Math.PI*2);
ctx.fillStyle = "#0095DD";
ctx. fill();
ctx.closePath();
function drawPaddle() {
ctx.beginPath();
ctx.rect(paddleX, canvas.height-paddleHeight, paddleWidth, paddleHeight);
ctx.fillStyle = "#0095DD ";
ctx.fill();
ctx.closePath();
function drawBricks() {
for(var c=0; c
var brickX = (c*(brickWidth+brickPadding)) +brickOffsetLeft;
var brickY = (r*(brickHeight+brickPadding))+brickOffsetTop;
кирпичи[c][r].x = кирпичX;
кирпичи[c][r].y = кирпичY;
ctx.beginPath();< br/> ctx.rect(brickX, кирпичY, кирпичная ширина, кирпичная высота)
ctx.fillStyle = "#0095DD";
ctx.fill();
ctx.closePath();
}
}
}
}
function draw() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
drawBricks();
drawBall();
drawPaddle();
drawScore();
drawLives();
CollisionDetection();
if(x + dx > canvas.width-ballRadius || x + dx < ballRadius) {
dx = -dx;
}
if(y + dy < ballRadius) {
dy = -dy;
} else if(y + dy > canvas.height-ballRadius) {
if(x > paddleX && x < paddleX + paddleWidth) {
dy = -dy;
}
else {
lives--;
if(!lives) {
alert("GAME OVER");
документ .location.reload();
}
else {
x = canvas.width/2;
y = canvas.height-30;
dx - 3;
dy = -3;
paddleX = (canvas.width-paddleWidth)/2;
}
}
if(rightPressed && paddleX < canvas.width-paddleWidth) {
paddleX += 7;
else if(leftPressed && paddleX > 0) {
paddleX -= 7;
x += dx;
y += dy;
var interval = setInterval(draw, 10);
var кирпичи = [];
for(var c=0; c
}
document.addEventListener("keydown", keyDownHandler, false);
document.addEventListener("keyup", keyUpHandler, false);
document.addEventListener("mousemove", mouseMoveHandler, false);
function mouseMoveHandler(e) {
var relativeX = e.clientX - canvas.offsetLeft
if(relativeX > 0 && relativeX < canvas.width) {
paddleX = relativeX - paddleWidth/ 2;
}
function keyDownHandler(e) {
if(e.key == "Right" || e.key == "ArrowRight") {
rightPressed = true;
}
else if(e.key == "left" || e.key == "ArrowLeft") {
leftPressed = true;
}
function keyUpHandler(e) {
if(e.key == "Right" || e.key == "ArrowRight") {
rightPressed = false;
}
else if(e.key == "left" || e.key == "ArrowLeft") {
leftPressed = false;
}
}
function CollisionDetection( ) {
for(var c=0; c
if(b.status == 1) {
if(x > b.x && x < b.x+brickWidth && y > b.y && y < b.y+brickHeight) {
dy = -dy;
b.status = 0;
score++;
if(score == brickRowCount*brickColumnCount) {
alert("ВЫ ПОБЕДИЛИ, ПОЗДРАВЛЯЕМ!");
document.location.reload();
}
}
}
}
}
}
function drawScore() {
ctx.font = "16px Arial";
ctx .fillStyle = "#0095DD"
ctx.fillText("Оценка: "+score, 8, 20);
}
function drawLives() {
ctx.font = " 16px Arial";
ctx.fillStyle = "#0095DD";
ctx.fillText("Жизни: "+lives, canvas.width-65, 20);
}
function drawBall() {
ctx.beginPath();
ctx.arc(x, y, ballRadius, 0, Math.PI*2);
ctx.fillStyle = "#0095DD" ;
ctx.fill();
ctx.closePath();
function drawPaddle() {
ctx.beginPath();
ctx.rect(paddleX, canvas.height-paddleHeight, paddleWidth, paddleHeight);
ctx.fillStyle = "#0095DD ";
ctx.fill();
ctx.closePath();
function drawBricks() {
for(var c=0; c
var brickX = (c*(brickWidth+brickPadding)) +brickOffsetLeft;
var brickY = (r*(brickHeight+brickPadding))+brickOffsetTop;
кирпичи[c][r].x = кирпич X;
кирпичи[c][r]. y = кирпичY;
ctx.beginPath();
ctx.rect(кирпичX, кирпичY, кирпичная ширина, кирпичная высота)
ctx.fillStyle = "#0095DD";
ctx.fill();
ctx.closePath();
}
}
}
}
function draw() {
ctx .clearRect(0, 0, canvas.width, canvas.height);
drawBricks();
drawBall();
drawPaddle();
drawScore();
drawLives();
CollisionDetection();
if(x + dx > canvas.width-ballRadius || x + dx < ballRadius) {
dx = -dx;
}
if(y + dy < ballRadius) {
dy = -dy;
} else if(y + dy > canvas.height-ballRadius) {
if(x > paddleX && x < paddleX + paddleWidth) {
dy = -dy;
}
else {
lives--;
if(!lives) {
alert("GAME OVER");
документ .location.reload();
}
else {
x = canvas.width/2;
y = canvas.height-30;
dx - 3;
dy = -3;
paddleX = (canvas.width-paddleWidth)/2;
}
}
if(rightPressed && paddleX < canvas.width-paddleWidth) {
paddleX += 7;
else if(leftPressed && paddleX > 0) {
paddleX -= 7;
x += dx;
y += dy;
var interval = setInterval(draw, 10);
var кирпичи = [];
for(var c=0; c
for(var r=0; r
}
document.addEventListener("keydown", keyDownHandler, false);
document.addEventListener("keyup", keyUpHandler, false);
document.addEventListener("mousemove", mouseMoveHandler, false);
function mouseMoveHandler(e) {
var relativeX = e.clientX - canvas.offsetLeft
if(relativeX > 0 && relativeX < canvas.width) {
paddleX = relativeX - paddleWidth/ 2;
}
function keyDownHandler(e) {
if(e.key == "Right" || e.key == "ArrowRight") {
rightPressed = true;
}
else if(e.key == "left" || e.key == "ArrowLeft") {
leftPressed = true;
}
function keyUpHandler(e) {
if(e.key == "Right" || e.key == "ArrowRight") {
rightPressed = false;
}
else if(e.key == "left" || e.key == "ArrowLeft") {
leftPressed = false;
}
}
function CollisionDetection( ) {
for(var c=0; c
if(b.status == 1) {
if(x > b.x && x < b .x+brickWidth && y > b.y && y < b.y+brickHeight) {
dy = -dy;
b.status = 0;
score++;
if(score == brickRowCount*brickColumnCount) {
alert("ВЫ ПОБЕДИЛИ, ПОЗДРАВЛЯЕМ!");
document.location.reload();
}
}
}
}
}
}
function drawScore() {
ctx.font = "16px Arial";
ctx.fillStyle = "#0095DD"
ctx.fillText("Оценка: "+score, 8, 20);
}
function drawLives() {
ctx.font = "16px Arial";
ctx.fillStyle = "#0095DD";< br/> ctx.fillText("Жизни: "+lives, canvas.width-65, 20);
}
function drawBall() {
ctx.beginPath();
ctx.arc(x, y, ballRadius, 0, Math.PI*2);
ctx.fillStyle = "#0095DD";
ctx.fill();
ctx.closePath ();
function drawPaddle() {
ctx.beginPath();
ctx.rect(paddleX, canvas.height-paddleHeight, paddleWidth, paddleHeight);
ctx.fillStyle = "#0095DD ";
ctx.fill();
ctx.closePath();
function drawBricks() {
for(var c=0; c
var brickX = (c*(brickWidth+brickPadding)) +brickOffsetLeft;
var brickY = (r*(brickHeight+brickPadding))+brickOffsetTop;
кирпичи[c][r].x = кирпич X;
кирпичи[c][r]. y = кирпичY;
ctx.beginPath();
ctx.rect(кирпичX, кирпичY, кирпичная ширина, кирпичная высота)
ctx.fillStyle = "#0095DD";
ctx.fill ();
ctx.closePath();
}
}
}
}
function draw() {
ctx.clearRect( 0, 0, canvas.width, canvas.height);
drawBricks();
drawBall();
drawPaddle();
drawScore();
drawLives();
CollisionDetection();
if(x + dx > canvas.width-ballRadius || x + dx < ballRadius) {
dx = -dx;
}
if(y + dy < ballRadius) {
dy = -dy;
} else if(y + dy > canvas.height-ballRadius) {
if(x > paddleX && x < paddleX + paddleWidth) {
dy = -dy;
}
else {
lives--;
if(!lives) {
alert("GAME OVER");
документ .location.reload();
}
else {
x = canvas.width/2;
y = canvas.height-30;
dx - 3;
dy = -3;
paddleX = (canvas.width-paddleWidth)/2;
}
}
if(rightPressed && paddleX < canvas.width-paddleWidth) {
paddleX += 7;
else if(leftPressed && paddleX > 0) {
paddleX -= 7;
x += dx;
y += dy;
var interval = setInterval(draw, 10);
var кирпичи = [];
for(var c=0; c
}
document.addEventListener("keydown", keyDownHandler, false);
document.addEventListener("keyup", keyUpHandler, false);
document.addEventListener("mousemove", mouseMoveHandler, false);
function mouseMoveHandler(e) {
var relativeX = e.clientX - canvas.offsetLeft
if(relativeX > 0 && relativeX < canvas.width) {
paddleX = relativeX - paddleWidth/ 2;
}
function keyDownHandler(e) {
if(e.key == "Right" || e.key == "ArrowRight") {
rightPressed = true;
}
else if(e.key == "left" || e.key == "ArrowLeft") {
leftPressed = true;
}
function keyUpHandler(e) {
if(e.key == "Right" || e.key == "ArrowRight") {
rightPressed = false;
}
else if(e.key == "left" || e.key == "ArrowLeft") {
leftPressed = false;
}
}
function CollisionDetection( ) {
for(var c=0; c
if(b.status == 1) {
if(x > b.x && x < b .x+brickWidth && y > b.y && y < b.y+brickHeight) {
dy = -dy;
b.status = 0;
score++;
if(score == brickRowCount*brickColumnCount) {
alert("ВЫ ПОБЕДИЛИ, ПОЗДРАВЛЯЕМ!");
document.location.reload();
}
}
}< br/> }
}
}
function drawScore() {
ctx.font = "16px Arial";
ctx.fillStyle = "#0095DD"
сtx.fillText("Оценка: "+score, 8, 20);
}
function drawLives() {
ctx.font = "16px Arial";
ctx.fillStyle = "#0095DD";
ctx.fillText("Жизни: "+lives, canvas.width-65, 20);
}
function drawBall() {
ctx. beginPath();
ctx.arc(x, y, ballRadius, 0, Math.PI*2);
ctx.fillStyle = "#0095DD";
ctx.fill();
ctx.closePath();
function drawPaddle() {
ctx.beginPath();
ctx.rect(paddleX, canvas.height-paddleHeight, paddleWidth, paddleHeight);
ctx.fillStyle = "#0095DD ";
ctx.fill();
ctx.closePath();
function drawBricks() {
for(var c=0; c
var brickX = (c*(brickWidth+brickPadding)) +brickOffsetLeft;
var brickY = (r*(brickHeight+brickPadding))+brickOffsetTop;
кирпичи[c][r].x = кирпич X;
кирпичи[c][r]. y = кирпичY;
ctx.beginPath();
ctx.rect(кирпичX, кирпичY, кирпичная ширина, кирпичная высота)
ctx.fillStyle = "#0095DD";
ctx.fill ();
ctx.closePath();
}
}
}
}
function draw() {
ctx.clearRect( 0, 0, canvas.width, canvas.height);
drawBricks();
drawBall();
drawPaddle();
drawScore();
drawLives ();
Обнаружение коллизий();
if(x + dx > canvas.width-ballRadius || x + dx < ballRadius) {
dx = -dx;
}
if(y + dy < ballRadius) {
dy = -dy;
} else if(y + dy > canvas.height-ballRadius) {
if(x > paddleX && x < paddleX + paddleWidth) {
dy = -dy;
}
else {
lives--;
if(!lives) {
alert("GAME OVER");
document.location.reload();
}
else {
x = canvas.width/2;
y = canvas.height-30;
dx - 3;
dy = -3;
paddleX = (canvas.width-paddleWidth)/2;
}
}
if(rightPressed && paddleX < canvas.width-paddleWidth) {
paddleX += 7;
else if(leftPressed && paddleX > 0) {
paddleX -= 7;
x += dx;
y += dy;
var interval = setInterval(draw, 10);
Как скачать Breakout (itch) (Frenchyboy) через торрент
Всего несколько простых шагов:
- Устанавливаем программу μTorrent, через которую мы будем скачивать торренты
- Выбираем и скачиваем подходящий торрент-файл репака Breakout (itch) (Frenchyboy)
- Двойным кликом открываем скаченный файл, программа μTorrent запустится автоматически и предложит выбрать место для сохранения дистрибутива.
- После того как репак скачается, запускайте его. Начнется установка и... это все, приятной игры!