Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 需要帮助来限制这个游戏中有多少瓷砖和目标产生_Javascript_Html_Css - Fatal编程技术网

Javascript 需要帮助来限制这个游戏中有多少瓷砖和目标产生

Javascript 需要帮助来限制这个游戏中有多少瓷砖和目标产生,javascript,html,css,Javascript,Html,Css,我从代码笔中得到了一些简单的轰炸机游戏。为了我的研究,我需要限制有多少个瓷砖和目标。对于瓷砖最大32和目标7(瓷砖灰色和目标红色)。 来源:codepen.io/Digiben/pen/oGYGrx 我不明白脚本如何使用随机算法创建目标和平铺 感谢所有看过这条线的人 window.onload=function(){ //卡拉斯地图 类图{ 构造函数(nbX、nbY、tileSize){ 这个.nbX=nbX; 这个.nbY=nbY; this.mapArray=新数组(this.nbX);

我从代码笔中得到了一些简单的轰炸机游戏。为了我的研究,我需要限制有多少个瓷砖和目标。对于瓷砖最大32和目标7(瓷砖灰色和目标红色)。 来源:codepen.io/Digiben/pen/oGYGrx

我不明白脚本如何使用随机算法创建目标和平铺

感谢所有看过这条线的人

window.onload=function(){
//卡拉斯地图
类图{
构造函数(nbX、nbY、tileSize){
这个.nbX=nbX;
这个.nbY=nbY;
this.mapArray=新数组(this.nbX);
this.tileSize=tileSize;
this.map=document.getElementById('map');
}
init(){
log('Map size:'+this.nbX*this.nbY);
设i=0;
设j=0;
设bool=null;
this.map.style.width=(this.tileSize*this.nbX)+'px';
this.map.style.height=this.tileSize*this.nbY+'px';
对于(i=0;i=0.7?真:假;
如果(bool){
for(var z=Things.length-1;i>=0;i-){
事物[i]
}
}否则如果(!bool){
这个.mapArray[i][j]=1;
}
}
}
}
附录(i,j){
让tile=document.createElement('div');
this.map.appendChild(平铺);
tile.style.width=this.tileSize+'px';
tile.style.height=this.tileSize+'px';
tile.classList.add('tile');
tile.style.left=(i*this.tileSize)+'px';
tile.style.top=(j*this.tileSize)+'px';
}
getMapArray(){
返回此.mapArray;
}
getMapSize(){
返回{sizeX:this.nbX,sizeY:this.nbY}
}
}
//创建目标
阶级目标{
构造函数(映射、平铺){
this.mapArray=map.getMapArray();
this.playerSpace=map.getMapSize();
this.targetsArray=新数组();
this.possiblePositionStartx=新数组();
this.possiblePositionStarty=新数组();
this.tileSize=tileSize;
this.map=document.getElementById('map');
此值为0.totalTargets=0;
}
getTotalTargets(){
返回此项。totalTargets;
}
//显示总目标
showtottaltargets(){
让totalDiv=document.querySelector(“#score strong”);
totalDiv.innerHTML='/'+this.totalTargets;
}
showTargets(i,j){
让tile=document.createElement('div');
this.map.appendChild(平铺);
tile.classList.add('target');
tile.style.width=this.tileSize+'px';
tile.style.height=this.tileSize+'px';
//设置属性以在需要删除目标时识别目标
tile.setAttribute('data-pos',i+':'+j);
//定位和造型
tile.style.left=(i*this.tileSize)+'px';
tile.style.top=(j*this.tileSize)+'px';
tile.style.backgroundColor='红色';
tile.style.opacity=0.5;
}
createTargets(){
//目标循环
for(var i=1;ithis.playerSpace.sizeX-2)返回false;
if(this.positionArray[this.position.x+1][this.position.y]!=0){
这个.position.x++;
设nb=this.playerDiv.style.left.split('px');
this.playerDiv.style.left=(parseInt(nb[0])+this.tileSize)+'px';
console.log('Droite | X:'+this.playerDiv.style.left);
log(this.position.x+':'+this.position.y);
}否则{
console.log('notok');
}
}
向下移动(){
如果(this.position.y>this.playerSpace.sizeY-2)返回false;
if(this.positionArray[this.position.x][this.position.y+1]!=0){
这个.position.y++;
设nb=this.playerDiv.style.top.split('px');
this.playerDiv.style.top=(parseInt(nb[0])+this.tileSize)+'px';
console.log('Bas | Y:'+this.playerD