好像又越級打怪,想做一個可以決定地圖大小的遊戲,這樣之後要做類似遊戲就可以引用。
這邊程式切成三段,
分別是設定、建立陣列、輸出地圖。
設定
<!-- index -->
var map= document.getElementById("map");
var mapSize =5;
var mapData={
empty:0,
red:3,
white:3,
hole:3
};
var mapLen= mapSize*2-1;
var mapArr= new Array(mapLen);
mapData.empty= (9/5)*(3**mapSize)+-(4/5)*((-2)**mapSize);
initMap();
drawMap();
建立陣列
這邊有一個FIXME,
感覺還有更漂亮寫法。
//initMap
function initMap(){
map.innerHTML="";
let copyArr=[];
for(let row= 0; row<mapLen; ++row){
copyArr.push("em");
}
for(let col=0; col<mapLen; ++col){
<!-- FIXME:can be good -->
let now= mapSize-1;
if(col<mapSize){
now= now- col;
}
else{
now= col-4;
}
mapArr[col]= copyArr.slice(now);
console.log(col,mapArr[col]);
}
}
輸出地圖
地圖是以行為主,
第一次碰到有點不知所措。
打算用包裝成一行一行,
再來做位移。
不過這樣串接是錯的,
還在搶修中。
//view
function drawMap(){
for(let col=0; col<mapLen; ++col){
map.innerHTML+="<div class=col>"
for(let row=0; row< mapArr[row].length; ++row){
map.innerHTML+=
`<div class="poly">
</div>`;
}
map.innerHTML+="<div>";
}
}