- PVSM.RU - https://www.pvsm.ru -
В продолжение недели ненормального программирования (как заметил [1] phpcmsdev [2]) решил написать игру в 30 строк кода. Так как тетрис, змейка и арканоид уже были сделаны, выбор пал на гоночки, которые входили в стандартный набор портативной игры [3].
.png)
Ссылка на fiddle [4].
(function(elid, width, height, speed, strength){
var canvas = document.querySelector(elid),
ctx = canvas.getContext("2d"),
pos = 0, blocks = [];
canvas.width = width; canvas.height = height;
ctx.fillStyle = "black";
var game = setInterval(function(){
if( Math.random() < strength) blocks.push([Math.random()*(width-10),-10]);
ctx.clearRect(0,0,width,height);
ctx.fillRect(pos,height-50,10,40);
for(var i = 0; i < blocks.length; i++){
ctx.fillRect(blocks[i][0],blocks[i][1],10,10);
if( blocks[i][1] > height - 60 && blocks[i][1] < height - 10 && Math.abs( pos - blocks[i][0]) < 10 ){
clearInterval(game);
alert("Game over. You have " + Math.floor(1000 * strength) + " points.");
}
if( blocks[i][1] > height - 5 ){
blocks.splice( i, 1);
i--;
} else {
blocks[i][1] += 5;
}
}
strength += 0.001;
},speed);
document.addEventListener('mousemove', function (e) {
pos = (e.pageX > 0) ? ((e.pageX < width) ? e.pageX : width-10) : 0;
}, false);
})("#canvas",400,300,33,0.05);
<script>, но думаю это допущение не такое страшное :).Спасибо jeston [5] за информацию [6] о Тетрисе, zag2art [7] за перевод [8] о Excel, DjComandos [9] за Змейку [10] и linoleum [11] за Арканоид [12].
Ребята, занимайтесь нормальным программированием.
Автор: agegorin
Источник [13]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/javascript/48590
Ссылки в тексте:
[1] заметил: http://habrahabr.ru/post/202530/#comment_6993558
[2] phpcmsdev: http://habrahabr.ru/users/phpcmsdev/
[3] портативной игры: http://img02.darudar.org/s600/00/01/49/04/490498eea3d2da11408397e370dfaa29.jpg
[4] fiddle: http://jsfiddle.net/agegorin/kML8G/embedded/result/
[5] jeston: http://habrahabr.ru/users/jeston/
[6] информацию: http://habrahabr.ru/post/138335/
[7] zag2art: http://habrahabr.ru/users/zag2art/
[8] перевод: http://habrahabr.ru/post/202304/
[9] DjComandos: http://habrahabr.ru/users/djcomandos/
[10] Змейку: http://habrahabr.ru/post/202476/
[11] linoleum: http://habrahabr.ru/users/linoleum/
[12] Арканоид: http://habrahabr.ru/post/202530/
[13] Источник: http://habrahabr.ru/post/202556/
Нажмите здесь для печати.