mirror of https://github.com/sundowndev/Detank.git
233 lines
5.5 KiB
JavaScript
233 lines
5.5 KiB
JavaScript
var player = document.querySelector('#player');
|
|
|
|
var maxX = document.querySelectorAll('.line-1 .col').length;
|
|
var maxY = document.querySelectorAll('.line').length;
|
|
|
|
var x = 1;
|
|
var y = 5;
|
|
var cibleValue = 0;
|
|
var score = 0;
|
|
|
|
var controls = {
|
|
up: 'z',
|
|
down: 's',
|
|
left: 'q',
|
|
right: 'd',
|
|
space: 'spacebar'
|
|
}
|
|
|
|
var rotation = {
|
|
up: '0px -50px',
|
|
down: '-50px -50px',
|
|
left: '-50px 0px',
|
|
right: '0px 0px'
|
|
}
|
|
|
|
var direction = rotation.right;
|
|
|
|
var bulletX = 0;
|
|
var bulletY = 0;
|
|
var bulletDir = direction;
|
|
|
|
function setPosition (posX, posY, dir) {
|
|
gridX = x;
|
|
gridY = y;
|
|
|
|
var grid = document.querySelector('.line-'+posY+' .col-'+posX);
|
|
|
|
if(grid.classList.contains('cible')){
|
|
return;
|
|
}
|
|
|
|
var grids = document.querySelectorAll('.col');
|
|
|
|
grids.forEach(function(e){
|
|
e.style.background = '';
|
|
e.style.backgroundPosition = '';
|
|
});
|
|
|
|
direction = dir;
|
|
|
|
grid.style.background = 'url(./assets/img/tank_bg.png) no-repeat';
|
|
grid.style.backgroundPosition = direction;
|
|
|
|
x = posX;
|
|
y = posY;
|
|
}
|
|
|
|
function getPosition () {
|
|
return [x, y];
|
|
}
|
|
|
|
function tirer () {
|
|
var posX = x;
|
|
var posY = y;
|
|
|
|
switch(direction){
|
|
case rotation.up:
|
|
posY--;
|
|
break
|
|
case rotation.down:
|
|
posY++;
|
|
break
|
|
case rotation.left:
|
|
posX--;
|
|
break
|
|
case rotation.right:
|
|
posX++;
|
|
break
|
|
}
|
|
|
|
if(posX < 1 || posX > maxX || posY < 1 || posY > maxY){
|
|
return;
|
|
}
|
|
|
|
bulletX = posX;
|
|
bulletY = posY;
|
|
bulletDir = direction;
|
|
|
|
var grid = document.querySelector('.line-'+posY+' .col-'+posX);
|
|
|
|
grid.style.background = 'url(./assets/img/bg_bullet.png) no-repeat';
|
|
grid.style.backgroundPosition = bulletDir;
|
|
}
|
|
|
|
function move(event) {
|
|
var k = event.key;
|
|
|
|
if(k == controls.up && y > 1){
|
|
var newY = y-1;
|
|
setPosition(x, newY, rotation.up);
|
|
} else if (k == controls.down && y < maxY){
|
|
var newY = y+1;
|
|
setPosition(x, newY, rotation.down);
|
|
} else if (k == controls.left && x > 1){
|
|
var newX = x-1;
|
|
setPosition(newX, y, rotation.left);
|
|
} else if (k == controls.right && x < maxX){
|
|
var newX = x+1;
|
|
setPosition(newX, y, rotation.right);
|
|
} else if (event.keyCode == 32){
|
|
event.preventDefault();
|
|
tirer();
|
|
}
|
|
}
|
|
|
|
<<<<<<< Updated upstream
|
|
setInterval(function(){
|
|
console.log('test');
|
|
if(bulletX == 0 || bulletY == 0){
|
|
return;
|
|
}
|
|
|
|
var newY = bulletY;
|
|
var newX = bulletX;
|
|
|
|
var bulletDestination = document.querySelector('.line-'+newY+' .col-'+newX);
|
|
|
|
if(bulletDestination.classList.contains('cible')){
|
|
bulletDestination.classList.remove('cible');
|
|
cibleValue = cibleValue - 1;
|
|
score = score + 100 ;
|
|
console.log(score);
|
|
bulletDestination.classList.add('cible-touchee');
|
|
bulletX = 0;
|
|
bulletY = 0;
|
|
setTimeout(function(){
|
|
bulletDestination.classList.remove('cible-touchee');
|
|
}, 1000);
|
|
return;
|
|
}
|
|
|
|
switch(bulletDir){
|
|
case rotation.up:
|
|
newY--;
|
|
break;
|
|
case rotation.down:
|
|
newY++;
|
|
break;
|
|
case rotation.left:
|
|
newX--;
|
|
break;
|
|
case rotation.right:
|
|
newX++;
|
|
break;
|
|
}
|
|
|
|
|
|
if(newY < 1 || newY > maxY || newX < 1 || newX > maxX){
|
|
var grid = document.querySelector('.line-'+bulletY+' .col-'+bulletX);
|
|
|
|
grid.style.background = '';
|
|
grid.style.backgroundPosition = '';
|
|
return;
|
|
}
|
|
|
|
var grid = document.querySelector('.line-'+bulletY+' .col-'+bulletX);
|
|
|
|
grid.style.background = '';
|
|
grid.style.backgroundPosition = '';
|
|
|
|
var bulletDestination = document.querySelector('.line-'+newY+' .col-'+newX);
|
|
|
|
if(bulletDestination.classList.contains('cible')){
|
|
bulletDestination.classList.remove('cible');
|
|
cibleValue = cibleValue - 1;
|
|
score = score + 100 ;
|
|
console.log(score);
|
|
bulletDestination.classList.add('cible-touchee');
|
|
bulletX = 0;
|
|
bulletY = 0;
|
|
setTimeout(function(){
|
|
bulletDestination.classList.remove('cible-touchee');
|
|
}, 1000);
|
|
return;
|
|
}
|
|
|
|
bulletX = newX;
|
|
bulletY = newY;
|
|
|
|
var grid = document.querySelector('.line-'+bulletY+' .col-'+bulletX);
|
|
|
|
grid.style.background = 'url(./assets/img/bg_bullet.png) no-repeat';
|
|
grid.style.backgroundPosition = bulletDir;
|
|
}, 32.12);
|
|
=======
|
|
document.addEventListener('keydown', move, false);
|
|
>>>>>>> Stashed changes
|
|
|
|
var ntm = setInterval(function(){
|
|
x2 = Math.floor(Math.random() * 11);
|
|
if (x2 == x){
|
|
x2 = x+1;
|
|
}
|
|
y2 = Math.floor(Math.random() * 21);
|
|
if (y2 == y){
|
|
y2 = y+1;
|
|
}
|
|
|
|
if(ciblex < maxX && cibley < maxY){
|
|
console.log(ciblex+' pour '+maxX);
|
|
emplacement = document.querySelector(".line-"+ciblex+" .col-"+cibley);
|
|
emplacement.classList.add('cible');
|
|
}
|
|
|
|
var ciblex = x2,
|
|
cibley = y2,
|
|
emplacement = document.querySelector(".line-"+ciblex+" .col-"+cibley);
|
|
emplacement.classList.add('cible');
|
|
cibleValue = cibleValue + 1;
|
|
if (cibleValue>=3){
|
|
alert("TAS PERDU");
|
|
clearInterval(ntm);
|
|
}
|
|
}, 1000);
|
|
|
|
document.addEventListener('keydown', move, false);
|
|
setPosition(x, y, direction);
|
|
=======
|
|
|
|
|
|
}, 3000);
|
|
>>>>>>> Stashed changes
|