Re: [wizs] 隨機地圖的生成

看板mud_sanc (Sanctuary - 聖殿)作者 (揮淚斬馬雲)時間6年前 (2018/11/24 19:45), 6年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/6 (看更多)
改寫 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://www.ptt.cc/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
文章代碼(AID): #1R-JdOF4 (mud_sanc)
文章代碼(AID): #1R-JdOF4 (mud_sanc)