作者laechan (挥泪斩马云)
看板mud_sanc
标题Re: [wizs] 随机地图的生成
时间Sat Nov 24 19:45:23 2018
改写 javascript 的过程中有三个难题要克服
1.原排版输出 x-x 图(这个已解决)
2.random 的使用
3.阵列的初始化以及累加
首先是 random 的部份,刚 try 了一下:
<script type="text/javascript">
document.write(""+Math.random()+"<BR>");
for(i=0;i<10;i++)
document.write(""+parseInt(10*Math.random())+"<BR>");
</script>
输出结果:
0.6443187190798478
5
9
9
0
9
4
6
4
2
6
也就是说,如果我要 0~9,过往就是 random(10),改写成
javascript 时就是 parseInt(10*Math.random())。
======
再来是阵列的初始化及累加的部份,刚搜到了以下这篇
http://sweeteason.pixnet.net/blog/post/41263148
它有提到一个东西
JSON.stringify(arr);
我刚 try 了一下:
<script type="text/javascript">
tmps=[];
tmps.push(1);
tmps.push([2,3]);
document.write("sizeof(tmps)="+tmps.length+"<BR>"+
"tmps="+JSON.stringify(tmps)+"<BR>"+
"tmps[1]="+JSON.stringify(tmps[1]));
</script>
输出结果:
sizeof(tmps)=2
tmps=[1,[2,3]]
tmps[1]=[2,3]
阵列累加单元素、阵列累加阵列都是顺利的,阵列的列印也
很顺利。
运气不错,应该可以玩改写了。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.117.106.224
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1543059928.A.3C4.html
今晚的最後一项研究是 tmps-=({xxx}); 以及 tmps1+=({tmps2}) 的
javascript 用法,tmps+= 用的是 push,两阵列相加用的是 concat
,不过,没有明显的 tmps-=({xxx}); 用法。
不过有个东西:
filter : 阵列过滤,透过 filter 的过滤条件返回一个新阵列 (非常好用)
var arr = ["jack", "john", "may", "su", "Ada"];
var arr2 = arr.filter(function (value) {
return value.length > 3; // 这里可当成 if ... 为 true
});
arr2.join("、");
ANS:
jack、john
模仿上面
tmps = [[1,2],[3,4],[5,6],[3,4]];
假设要把上述阵列的 [3,4] 拿掉,可以这样写:
tmps2 = tmps.filter(function(value){
return value!=[3,4];
});
tmps=tmps2;
document.write(JSON.stringify(tmps));
网页执行结果:
[[1,2],[5,6]]
这样就没问题了。
Laechan
※ 编辑: laechan (122.117.106.224), 11/25/2018 22:46:34