A. 有沒有專業人士給me制定個訓練計劃,鄙人:168cm,垂直彈跳40cm左右
初級籃球應該先練習投籃姿勢,對,找到感覺很重要
B. 如何設計場景
房間是構成這整個世界的要素之一,在此我們提供了一個房間的標准物件來讓所有的房間繼承。而如同其他的物件一般,你需要寫一個 create() 來設定房間中的敘述、出口、物品、生物等等。這里,我喜歡說你用 create() 這個函式來賦予這個房間的屬性。一般來說,要建造一個簡單的房間,你只要賦予它基本的屬性即可。當然,我們不認為一個區域中幾十個房間沒有任何的機關或秘密,是個會吸引玩家一游的好地方。
下面,提到了一些建造房間所需要留意的事項,也會配合一些例子來說明。
一、基本篇
一個基本的房間,要有 short <短敘述> 、 long <長敘述>、 exits <出口>
1. 當你在寫一個房間的 long <長敘述>時,其格式為:
set("long", @LONG
房間的敘述.......
LONG
);
其中 @LONG 和 LONG 是互相對應的,你可以用任何字接在 @ 後面,但是前後兩個字一定要一樣,這樣系統才能判別,而房間的敘述寫完時,一定要換行後再接第二個 LONG ,且同一行不能再有其他任何的字元,不然系統無法判定敘述是否該結束了,會造成編譯時的錯誤。
而為求區域看起來外觀上整齊、統一,房間的長敘述中每一行的長度必須一樣,而一行的長度建議為 29 到 32 個中文字,約占螢幕的三分之二。並且一個房間的敘述最好不要低於三行,區域各個房間的敘述重復性降到越低越好,這樣你的區域看起來才不會太過陽春。當然,有時候為了某些目的,比如一個迷宮,你可能會相鄰的幾個房間都用到一樣的敘述,那自然不在此限。
2. 一個房間的出口則以下列格式賦予:
set("exits", ([
"方向" : "連接到的房間之檔名",
...........
]);
在這里,為了一個以後區域開放後搬移目錄的便利性,建議採用__DIR__ 這個由系統提供的巨集來寫路徑,比如說:
"west" : __DIR__"path3",
和
"west" : "/u/d/davidoff/goathill/path3",
是完全一樣的。但前者顯然在以後目錄的搬移上方便的多。而在下面會提到設定房間中的物品或生物時,也建議採用這種方式寫作。
3. item_desc 這是用來設定個別景物的描述,當玩家用 look 這個指令時就會作用。其格式為:
set("item_desc", ([
"景物名稱" : "景物敘述",
...........
]);
其中景物敘述可以是字串或是一個 function ,所以你可以利用這個功能加以變化,當玩家 look 一個景物時,可能看到敘述,也可能發生一些特殊的事件,而你就可以在被呼叫的函式中寫下這些事件。
4. objects 可以讓這個房間在每次 reset 時載入某些生物或某些物品:
set("objects", ([
"物品或生物的檔名" : 數量,
...........
]);
如同前面所提到的,建議採用 __DIR__來編寫你的路徑,而數量則要用整數。
5. 要為這個房間添上門戶時,記得前面必須先 #include 。而格式為:
create_door("出口方向", "門的名稱", "進入方向", 預設狀態);
比如說,這里明顯的出口有 west、east 和 up。 而你要讓西邊有一個關上的紅木門,你可以這樣寫:
create_door("west", "紅木門", "east", DOOR_CLOSED);
當玩家進入這個房間時,他會看到:這里明顯的出口有 east 和 up。
而當他 look west 時,會看到:這個紅木門是關上的。
其他的一些屬性,你可以參考 /doc/build/room_prop 或是讀一下標准物件的 room.c。也建議你可以多用 more here來觀看一間特殊的 room。
二、進階篇
要讓你的區域中富有變化,生動有趣,除了文字敘述的豐富度以外,你更可以利用 init() 這個函式為你的房間增加一些「機關」或「秘密」。
這里,先讓我們了解一下 init() 的用途為何,和為什麽要用到它。每一個房間的 create() 只有當 reset 時才會被呼叫到,而 init() 則是在 B 物件進入到 A 物件時都會呼叫到 A物件的 init() 。看到這,你應該可以看出差別了,我們希望當一個物件(此處較多是玩家)進到一個房間時,能夠經由某個動作啟動這個房間的機關的話,自然是利用 init() 來編寫。
一般的使用方式,是在 init() 中利用 add_action() 來呼叫你寫的函式,其格式為:
add_action("function type", "action");
function type 即是被呼叫的函式名 action 是啟動的動作
而你就可以將被 action 啟動後要發生的事,都寫在被呼叫的函式裡面。理論上來說,利用這個方式我們可以做到任何事,當然,能不能達成就看寫程式的功力了。下面舉個簡單的例子:
void init()
{
add_action("do_pick", "pick");
}
int do_pick(string arg)
{
object me;
me = this_player();
if ( !arg || ( arg != "flower" ) ) return notify_fail("你要摘什麽?\n");
else if ( random((int)me->query("kar")) < 7 )
message_vision("$N將花摘了下來,但一不小心被刺了一下。\n", me);
else message_vision("$N摘下一朵美麗的血紅色鮮花。\n", me);
return 1;
}
當玩家利用 pick 這個指令時就會呼叫到 do_pick() 這個 function,而啟動了這個房間的機關。
這里特別提到一點,一個簡單的 room 我們為了使記憶體的使用量降到最低,會在 create() 最後加上一行 replace_program(ROOM); 。這是因為在房間的標准物件中有定義了如 init() 等其他的函式,而一個簡單的房間根本沒有用到,所以我們用 replace_program() 來將原本的被繼承的標准物件「重置」(或說取代)掉,但是一旦房間中用到了 init() 來編寫時,就絕對不可以用 replace_program(),因為系統屆時找不到 init() 便會隨便呼叫一個記憶體中的位址而隨便傳進一些亂七八糟的東西,情況嚴重時,甚至可以讓整個 mud crash。但是,我們自不可因噎廢食,該用的時候還是要用,這些應該是一個好的程式寫作人員自己必須留意的,發生狀況要自己負責。
三、建議
如果你玩過 mud 的話,應該對 mud 組成一個世界的方式相當熟悉,沒錯,我們就是用一個個的房間(room)來構成這個虛擬的世界,這里我們稱「房間」只是傳統的 mud 的稱呼,因為早期的 mud 全名是 Multi-User Dungeon,Dungeon 就是「地牢」的意思,因此用房間來稱呼地牢的最小單位而沿用至今。
當然,我們現在的 mud 早已脫離地牢的時代,而是一個沒有限制的創作空間,如何將你想像中的人、事、地規劃成以房間為單位的舞台,就看你的經驗和功力了, 通常 mud 並不硬性規定一個房間跟另一個房間的距離、位置等關系,而是根據實際需要而決定房間的連結方式。不可否認的,大多數巫師在從事區域的創作時都會或多或少加上距離跟位置的考量,但是在此仍然要提醒一下,為了位置跟距離的關系而製作的房間是不具意義的。
建造房間,首先你必須先自己規劃一個「區域」的構想,我們通常把一個村莊、洞穴、城鎮等地理上能夠明確區隔其范圍的單位稱為一個區域(area),理想的區域設計,是將所有該區域用到的程式放在同一個目錄,並且和其絕對路徑無關,可以隨時掛上或搬移到其他的目錄下,因為區域是一個獨立的地理單位,具有一致的風格跟設定,對於大多數 mud 的管理者而言都希望萬一因為區域的擴展而有需要移動或整理現有區域時,能不必一個個地去修改檔案,能夠配合管理者要求的巫師,自然就會受到歡迎。
當你有了構想之後,相信很多巫師會用「畫地圖」當成第二步,根據我的觀察,一個用這種方法寫出來的區域通常會有太多不必要的房間,因為畫地圖時往往會不自覺地將房間想像成「具有相同面積的方塊」,因而大量增加了房間的個數,你如果不信,可以試著比較接下來我所建議的方法,看看哪一種方法會有比較多的房間。
我所建議的方法是「身歷其境」的創作方式,當你構想好一個區域大致的內容之後,可以先寫出這個區域的入口,想像你是第一個「發現」這個地方的探險者,然後跟著你的想像力所至,開一個出口到下一個房間,繼續探險,千萬要注意的是:
不要畫地圖,甚至想像中也不要用「空中俯瞰」區域的方式去設計你的區域,因為一個探險者是很難有機會俯瞰他發現的區域的,mud 在空間概念上較傾向於冒險游戲而非角色扮演/模擬游戲。
寫完一個房間的敘述再寫下一個,不要用 roommaker造出空房間之後就急著連接出口到下一個房間,因為這樣到最後往往你會需要苦思半天才能想出一些無聊的敘述填滿你用 roommaker 造出來的一堆多餘房間,當你發現不知道要在一個房間的敘述里寫什麼的時候,就表示這個房間其實是多餘的。
讓你的想像力引導你的創造力,不要因為覺得一座城堡「應該」有四座塔樓,而寫出你的故事中根本不必出現的場景,或者是因為一條長廊「應該」比國王的大廳長很多而用五、六個房間來「堆砌」這樣的場景,要記得每間房間的存在都需要耗費電腦的一些資源去儲存,浪費太多的資源在無意義的場景上將使你的區域在難以過關。
適當地使用「動作」連接你的場景,例如有一棵樹可以爬上去,你可能開一個 up 的出口直接連到樹上的房間,這時候如果花點心思,讓使用者必須從環境的敘述中發現提示,如樹旁消失的腳印,樹皮新近剝落的痕跡等引導玩家發現一個 climb 的動作,不是能使你的區域更有內容嗎?
不過要提醒一些懶惰的新巫師,就是像這樣 code 片段不要直接從一些範例中「拷貝」下來,修改一下文字字串就到處適用,如何設計一個有趣的「動作」將是你成為有實力的巫師最佳的鍛練方式。
C. 求ME技術員年終總結!!!
我的建議可能不多,只有幾點是框架,具體內容需要你根據自己的單位的實際工作內容來填充,第一大項總結上年度主要工作,主要是工作業績,第二項針對上年度工作完成情況,寫一點工作方面存在的不足之處(因為工作不可能是完美的),第三大項寫下年度的主要工作計劃,並針對上度年工作中存在的情況寫一些具體的改進方式方式。另外,如果您實在懶得寫,可以找我們。頭圖像內有我們的【】號。
D. 最新一期的最小說個有說ME的新主編是誰
八月刊的「不可能完成的任務」中四爺說的ME主編其實是整陳晨的,別當真~
E. 在工程部門的職位中ME是什麼職位,主要做那些工作ME全稱是什麼
ME是機械工程師職位,主要從事機械行業,ME全稱是mechanical engineer。
在機械工程行業從事工作,並且具備一定經驗和水平的人。機械工程師一般分為三個級別,初級機械工程師、中級機械工程師、高級機械工程師。機械工程師通常是指三個級別機械工程師的統稱,還可以專指中級機械工程師。
工作內容
1、 安排製造計劃,避免不必要的成本;
2、提供正確的產品文件、培訓、生產程序等相關信息給一線監管和車間職員;
3、在產品設計上給設計工程師提供建議,並協助改進以降低成本、提高質量和生產力。
(5)ME創造計劃擴展閱讀
職業要求
1、大專或以上學歷,製造工程技術、工業工程技術或相關領域專業畢業,良好的英文能力;
2、 對工控、自動化產品有一定的了解,熟悉工程文檔的編制及生產問題處理,對可製造性設計要求一定的經驗,熟悉DFM.FMEA製作;
3、1年以上製造業的工作經驗,有生產環境,生產線平衡和設備布局經驗,或者有Prior 牽引系統或多孔製造經驗,精通計算機的文字處理和表格操作,熟練掌握二維軟體AUTOCAD、CAXA,三維軟體UG、solidworks、cimatron、Pro-E等機械制圖軟體。
F. 在企業中ME代表什麼部門
企業中ME代表製造工程師,英文全稱為Manufacturing Engineer。
運用材料學知識和工程理論及方法來設計,整合並提升製造系統或是相關流水線。也許會和營銷人員或是產品設計師一起工作,提升產品設計品質,降低成本。
一般在工廠里,經常所說的IE工程師PE工程QE工程師等都與ME工程師(製造工程師)一起,組成一個團隊,參與生產,服務於生產。負責提高產品質量優化生產流程計算人工成本以及解決產品生產中所遇到一些常見問題。
(6)ME創造計劃擴展閱讀:
企業中ME的相關要求:
1、大專或以上學歷,製造工程技術、工業工程技術或相關領域專業畢業,良好的英文能力。
2、對工控、自動化產品有一定的了解,熟悉工程文檔的編制及生產問題處理,對可製造性設計要求一定的經驗,熟悉DFM.FMEA製作。
3、1年以上製造業的工作經驗,有生產環境,生產線平衡和設備布局經驗,或者有Prior 牽引系統或多孔製造經驗,精通計算機的文字處理和表格操作,熟練掌握二維軟體AUTOCAD、CAXA,三維軟體UG、solidworks、cimatron、Pro-E等機械制圖軟體。
4、能吃苦耐勞,溝通協調能力強,具有團隊創新精神,積極主動、靈活應變、認真負責。
G. 二戰末期德國的ME-264的設計是不是參考了美國的B-29
B29超級堡壘採用巨型單垂尾設計,而ME264卻採用雙垂尾設計,至於蘇聯的圖4嘛,貌似就是從美國搬過來的
H. ME中國區星座卡牌爆富計劃是什麼
I. 辦理長虹Z-me合約計劃是否可以轉套餐
預存話費送長虹Z-me手機在合約期內,可以將現有套餐變更為同檔或更高檔位3G套餐,變更為更高檔位套餐後,預存款入網返還金額和分月返還金額保持不變。(上述內容僅適用於廣東聯通用戶)