近況 + JavaScript - 聖殿英雄傳說 MUD
By Agnes
at 2019-03-06T08:49
at 2019-03-06T08:49
Table of Contents
今天給自己的功課是複習 javascript,主要看隨機地圖產生器
的原始碼,然後順便產生幾張我想要的地圖。
因為我已經快一個月沒碰 javascript 了,這是我的習慣,剛好
先前工作也告一段落。一段時間沒碰,會很快忘記之前寫的東西
,但只要有適度的複習,就會再想起來,剛好明天起也要再繼續
寫 code。
(目前最感遺憾的仍是當年忘記複習 matlab 及類神經網路)
拿乾坤大挪移來舉例的話,javascript+jQuery+JSON+.... 就像
需要練七層的乾坤大挪移一樣,越往上練,需要越多的時間以及
越深的底子。但是,以我目前的工作為例,則比較像是我只需要
練第一二層的東西即可,然後就可以往聖火令的方向發展,然後
也不需要練到很深大概就妙風三使的實力就差不多。
這部份我是有自知之明的。
var starts=[]; mixed starts=({});
function run_map()
{
// 地圖長寬
x=document.getElementById("map_x").value;
y=document.getElementById("map_y").value;
p1=[0,0]; p1=({0,0});
starts.push(p1); starts+=({p1}); // ({ ({0,0}), })
if(parseInt(2*Math.random())==1) if(random(2)==1)
s=starts.length-1; s=sizeof(starts)-1;
str=JSON.stringify(starts[s]); str=identify(starts[s]);
alert("error!");
tmp2=tmp1.replace("["+nx+","+ny+"]",""); tmp2=substr(tmp1,...);
if(paths[ps].substring(1)=="e") if(paths[ps][1..1]=="e")
// 將陣列的每一列 implode 出來最後再 tmp+="\n";
tmp+=tmps[j].join(""); tmp+=implode(tmps[j],"");
// 變更 show_map1 的顯示內容
document.getElementById("show_map1").innerHTML="<pre>....</pre>";
tmp=tmp.replace(/x/gi,"█"); tmp=substr(tmp,"x","█");
tmp=tmp.replace(/\|/gi,"█"); tmp=substr(tmp,"|","█");
print_str="<table style='font-size:20px'>";
/*
用這個來顯示各段的結果,以確定我需要的是哪一種
由下面的顯示結果可知它不太直覺
大抵上,單一數字代表從該位置開始,所以 0 就是 0..strlen(xxx)-1
兩個數字的話,0,1 也很直覺就是從 0 這個位置開始長度取 1
但是 1,0 就不直覺,同樣的 1,1 也不直覺. 不直覺的東西我就會很少用
而不會花時間去想 why
xxx="xyz";
document.write("1."+xxx.substring(0)+"<BR>"+ // xyz
"2."+xxx.substring(1)+"<BR>"+ // yz
"3."+xxx.substring(0,1)+"<BR>"+ // x
// 以上符合直覺
"4."+xxx.substring(1,0)+"<BR>"+ // x
"5."+xxx.substring(1,1)+"<BR>"); // ""
*/
(果然都忘光了,看來今天也不能單看這個 code,要多看幾個)
大概會上面的東西,加上 mudlib coding 的基礎,以及一些數學上
的計算,html的語法,還有過往在 sanc 寫 code、debug 的經驗,
就可以寫出隨機地圖產生器。主要是 javascript 的語法與 mudlib
有極高相同性,關鍵差異記一下語法就可以了剩下靠經驗。
再加上其實不太會忘記的 jQuery,則可以應付工作上大部份的需求
,我的工作比較要求要會很多東西,而不太會要求某個東西要很行
很精很專,當然本格的工作內容除外(如設備操作及維護)。
================
鐘塔每一層大概 13 x 9 差不多。
https://sites.google.com/view/randomapv1
東南方的鐘塔第一層
https://imgur.com/ITOFgha.jpg
x x-x x-x-x-x x x-x-x
| | | | | | | | |
x-x x-x-x-x-x x-x-x-x-x-x
| | | | |
x-x x-x x-x-x-x-x-x-x
| | | | | | |
x-x-x-x-x x-x-x x x-x
| | | | | | | |
x-x x x-x x-x-x-x x-x-x
| | | | | | | | | |
x-x-x x-x-x-x-x-x-x-x-x-x
| | | | | | | | | | |
x-x-x-x-x-x x x-x-x-x-x-x
| | | | | | | | |
x x x-x-x-x x-x-x-x-x-x
| | | | | |
x-x-x-x x-x-x x
東南方的鐘塔第二層
https://imgur.com/GKa97If.jpg
x-x-x-x-x-x-x-x-x-x-x-x-x
| | | | | | | | |
x-x-x-x-x x x-x x x-x
| | | | | |
x-x x x x-x-x-x-x-x
| | | | | | | |
x-x-x-x-x x-x x x-x
| | | | | | | |
x-x-x-x-x-x-x-x x-x-x x-x
| | | | | | |
x-x-x-x-x-x-x-x x-x-x
| | | | | | | |
x-x-x-x-x-x-x x-x x-x-x-x
| | | | | | |
x-x-x x-x-x-x-x-x-x-x-x-x
| | | | | | | | | | |
x x x-x-x x-x-x-x-x x-x
東南方的鐘塔第三層
https://imgur.com/cLSLlKT.jpg
x x-x x-x-x-x x-x-x x-x
| | | | | | | | |
x-x-x x x-x-x x-x-x-x-x x
| | | | | | | |
x-x x-x-x-x x-x-x-x x
| | | | | | | |
x-x-x x x-x-x x x-x-x-x-x
| | | | | | | | |
x-x-x-x x-x x-x-x-x x-x x
| | | | | | | | |
x x x-x-x-x-x-x-x x-x-x x
| | | | | | | | | | | |
x x x-x x x-x-x x x-x-x
| | | | | | |
x-x-x-x-x-x-x-x x x-x-x-x
| | | | | | | | | | |
x-x-x-x x-x-x x-x-x-x x-x
鐘塔內的怪物大致參考 RO 的設定,我預設四個塔全破並符合
條件的人,可以拿到與時間有關的道具,也會入手卡片。
時間有很多種應用方式,例如造物者之鑰就是與時間(及空間)
有關的應用之一,例如所拿到的道具可使用造物者之鑰的時間
方面的能力。
類似這類的,然後關於時間的應用。舉誇張一點的例子,例如
約會大作戰裡頭狂三的能力刻刻帝,也算是時間方面的應用。
Laechan
--
的原始碼,然後順便產生幾張我想要的地圖。
因為我已經快一個月沒碰 javascript 了,這是我的習慣,剛好
先前工作也告一段落。一段時間沒碰,會很快忘記之前寫的東西
,但只要有適度的複習,就會再想起來,剛好明天起也要再繼續
寫 code。
(目前最感遺憾的仍是當年忘記複習 matlab 及類神經網路)
拿乾坤大挪移來舉例的話,javascript+jQuery+JSON+.... 就像
需要練七層的乾坤大挪移一樣,越往上練,需要越多的時間以及
越深的底子。但是,以我目前的工作為例,則比較像是我只需要
練第一二層的東西即可,然後就可以往聖火令的方向發展,然後
也不需要練到很深大概就妙風三使的實力就差不多。
這部份我是有自知之明的。
var starts=[]; mixed starts=({});
function run_map()
{
// 地圖長寬
x=document.getElementById("map_x").value;
y=document.getElementById("map_y").value;
p1=[0,0]; p1=({0,0});
starts.push(p1); starts+=({p1}); // ({ ({0,0}), })
if(parseInt(2*Math.random())==1) if(random(2)==1)
s=starts.length-1; s=sizeof(starts)-1;
str=JSON.stringify(starts[s]); str=identify(starts[s]);
alert("error!");
tmp2=tmp1.replace("["+nx+","+ny+"]",""); tmp2=substr(tmp1,...);
if(paths[ps].substring(1)=="e") if(paths[ps][1..1]=="e")
// 將陣列的每一列 implode 出來最後再 tmp+="\n";
tmp+=tmps[j].join(""); tmp+=implode(tmps[j],"");
// 變更 show_map1 的顯示內容
document.getElementById("show_map1").innerHTML="<pre>....</pre>";
tmp=tmp.replace(/x/gi,"█"); tmp=substr(tmp,"x","█");
tmp=tmp.replace(/\|/gi,"█"); tmp=substr(tmp,"|","█");
print_str="<table style='font-size:20px'>";
/*
用這個來顯示各段的結果,以確定我需要的是哪一種
由下面的顯示結果可知它不太直覺
大抵上,單一數字代表從該位置開始,所以 0 就是 0..strlen(xxx)-1
兩個數字的話,0,1 也很直覺就是從 0 這個位置開始長度取 1
但是 1,0 就不直覺,同樣的 1,1 也不直覺. 不直覺的東西我就會很少用
而不會花時間去想 why
xxx="xyz";
document.write("1."+xxx.substring(0)+"<BR>"+ // xyz
"2."+xxx.substring(1)+"<BR>"+ // yz
"3."+xxx.substring(0,1)+"<BR>"+ // x
// 以上符合直覺
"4."+xxx.substring(1,0)+"<BR>"+ // x
"5."+xxx.substring(1,1)+"<BR>"); // ""
*/
(果然都忘光了,看來今天也不能單看這個 code,要多看幾個)
大概會上面的東西,加上 mudlib coding 的基礎,以及一些數學上
的計算,html的語法,還有過往在 sanc 寫 code、debug 的經驗,
就可以寫出隨機地圖產生器。主要是 javascript 的語法與 mudlib
有極高相同性,關鍵差異記一下語法就可以了剩下靠經驗。
再加上其實不太會忘記的 jQuery,則可以應付工作上大部份的需求
,我的工作比較要求要會很多東西,而不太會要求某個東西要很行
很精很專,當然本格的工作內容除外(如設備操作及維護)。
================
鐘塔每一層大概 13 x 9 差不多。
https://sites.google.com/view/randomapv1
東南方的鐘塔第一層
https://imgur.com/ITOFgha.jpg
x x-x x-x-x-x x x-x-x
| | | | | | | | |
x-x x-x-x-x-x x-x-x-x-x-x
| | | | |
x-x x-x x-x-x-x-x-x-x
| | | | | | |
x-x-x-x-x x-x-x x x-x
| | | | | | | |
x-x x x-x x-x-x-x x-x-x
| | | | | | | | | |
x-x-x x-x-x-x-x-x-x-x-x-x
| | | | | | | | | | |
x-x-x-x-x-x x x-x-x-x-x-x
| | | | | | | | |
x x x-x-x-x x-x-x-x-x-x
| | | | | |
x-x-x-x x-x-x x
東南方的鐘塔第二層
https://imgur.com/GKa97If.jpg
x-x-x-x-x-x-x-x-x-x-x-x-x
| | | | | | | | |
x-x-x-x-x x x-x x x-x
| | | | | |
x-x x x x-x-x-x-x-x
| | | | | | | |
x-x-x-x-x x-x x x-x
| | | | | | | |
x-x-x-x-x-x-x-x x-x-x x-x
| | | | | | |
x-x-x-x-x-x-x-x x-x-x
| | | | | | | |
x-x-x-x-x-x-x x-x x-x-x-x
| | | | | | |
x-x-x x-x-x-x-x-x-x-x-x-x
| | | | | | | | | | |
x x x-x-x x-x-x-x-x x-x
東南方的鐘塔第三層
https://imgur.com/cLSLlKT.jpg
x x-x x-x-x-x x-x-x x-x
| | | | | | | | |
x-x-x x x-x-x x-x-x-x-x x
| | | | | | | |
x-x x-x-x-x x-x-x-x x
| | | | | | | |
x-x-x x x-x-x x x-x-x-x-x
| | | | | | | | |
x-x-x-x x-x x-x-x-x x-x x
| | | | | | | | |
x x x-x-x-x-x-x-x x-x-x x
| | | | | | | | | | | |
x x x-x x x-x-x x x-x-x
| | | | | | |
x-x-x-x-x-x-x-x x x-x-x-x
| | | | | | | | | | |
x-x-x-x x-x-x x-x-x-x x-x
鐘塔內的怪物大致參考 RO 的設定,我預設四個塔全破並符合
條件的人,可以拿到與時間有關的道具,也會入手卡片。
時間有很多種應用方式,例如造物者之鑰就是與時間(及空間)
有關的應用之一,例如所拿到的道具可使用造物者之鑰的時間
方面的能力。
類似這類的,然後關於時間的應用。舉誇張一點的例子,例如
約會大作戰裡頭狂三的能力刻刻帝,也算是時間方面的應用。
Laechan
--
Tags:
線上
All Comments
By Yedda
at 2019-03-10T18:00
at 2019-03-10T18:00
Related Posts
巴黎上RK + 巴帝斯特Q&A
By Erin
at 2019-03-06T03:57
at 2019-03-06T03:57
一年多沒玩 有些問題請教
By Kelly
at 2019-03-06T00:45
at 2019-03-06T00:45
99鯨組隊方向請益
By Sandy
at 2019-03-05T23:08
at 2019-03-05T23:08
【例行維護公告】03/06(三) 08:00~13:00
By Zora
at 2019-03-05T18:38
at 2019-03-05T18:38
OWL第三週後 輸出統計per 10min
By Heather
at 2019-03-05T18:32
at 2019-03-05T18:32