• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            lua

            這就是傳說中讓理科生沉默,讓文科生落淚的文史綜合題附答案

            一,選擇題(皆為單選):
            1,以下誰是二進制思想的最早提出者?
            a,伏羲;b,姬昌;c,萊布尼茨;d,柏拉圖。
            2,以下哪個概念和公孫龍的《指物論》中的“指”字含義相近?
            a,變量;b,數組;c,對象;d,指針。
            3,藺相如,司馬相如;魏無忌,長孫無忌。下列哪一組對應關系與此類似?
            a,PHP,Python;b,JSP,servlet;c,java,javascript;d,C,C++。
            4,秦始皇吞并六國采用了以下哪種算法思想?
            a,遞歸;b,分治;c,迭代;d,模擬。
            5,雅典王子忒修斯勇闖克里特島斬殺米諾牛的時候采用了以下哪種算法?
            a,動態規劃;b,窮舉;c,記憶化搜索;d,Dijkstra算法。
            6,印度電影《寶萊塢機器人之戀》中的機器人七弟采用的智能算法最有可能是以下哪一種?
            a,神經網絡;b,遺傳算法;c,模擬退火;d,窮舉算法。
            7,《公孫龍子》記載:“齊王之謂尹文曰:‘寡人甚好士,以齊國無士,何也?’尹文曰:‘愿聞大王之所謂士者。’齊王無以應。”這說明了齊王:
            a,昏庸無道;b,是個結巴;c,不會下定義;d,不會定義自己的需求。
            8,惠施曾提出過“卵有毛”的命題,以下哪一項是導致這個錯誤命題的原因:
            a,混淆了命名空間;b,引入了錯誤的包;c,衍生類未重載;d,調用了危險的指針。
            9,下面哪種面向對象的方法可以讓你變得富有?
            a,繼承;b,封裝;c,多態;d,抽象。
            10,明朝時期張居正改革的一條鞭法的主要思想是:
            a,面向過程;b,萬物皆數;c,統一接口;d,泛型編程。
            二,匹配題(分析A中的句子所體現的算法,和B中的算法一一匹配):
            A:
            1,江南可采蓮,蓮葉何田田,魚戲蓮葉間。魚戲蓮葉東,魚戲蓮葉西,魚戲蓮葉南,魚戲蓮葉北。——漢樂府《江南》
            2,眾里尋他千百度,驀然回首,那人卻在燈火闌珊處。——辛棄疾《青玉案》
            3,從前有座山,山里有座廟,廟里有個老和尚,再給小和尚講故事,故事內容是:從前有座山,山里有座廟,廟里有個老和尚,再給小和尚講故事,故事內容是:從前有座山,山里有座廟,廟里有個老和尚,再給小和尚講故事,故事內容是……
            4,只勸樓臺追后主,不愁弓矢下殘唐。——孔尚任《桃花扇》
            5,飛鳥之影,未嘗動也。——《莊子》
            B:
            1,貪心;
            2,回溯;
            3,窮舉;
            4,分治;
            5,遞歸;
            三,閱讀理解(閱讀下文,回答后面的問題):
            美國的貝爾實驗室設計了最初的C語言
            刻在UNIX操作系統距今已有三四十年
            你在屏幕前凝視數據的繾綣
            我卻在旁輕輕敲打鍵盤把你的夢想展現
            循環 遞歸 貪心 動規 是誰的從前
            喜歡在匈牙利算法中你我牽手的畫面
            經過MSRA門前我以大牛之名許愿
            思念像斐波那契數列般漫延
            當軟工淪落在設計的文檔間
            算法依舊是永垂不朽的詩篇
            我給你的愛寫在程序間
            深藏在最長不下降子序列里面
            幾萬組數據流過后發現
            我的心依然不變
            我給你的愛寫在程序間
            深藏在最長不下降子序列里面
            用無盡的代碼刻下了永遠
            那已保存千年的誓言
            一切又重演我算了很多遍
            時間復雜度還是趨于無限
            我只想要這樣永遠鏈接在你的身邊
            1,題目中的MSRA是什么的縮寫?
            2,試賞析“思念像斐波那契數列般漫延”一句。
            3,請結合時代背景,談談你對“當軟工淪落在設計的文檔間,算法依舊是永垂不朽的詩篇”一句的理解。
            4,“幾萬組數據流過后發現,我的心依然不變”一句體現了算法的什么特性?

            附答案:

            1,以下誰是二進制思想的最早提出者?
            a,伏羲;b,姬昌;c,萊布尼茨;d,柏拉圖。

            【答案】c
            中國人會選a,西方人會選c。據說伏羲畫八卦,這也只是據說,實際不可考,比較確切的是18世紀萊布尼茨發現二進制。

            2,以下哪個概念和公孫龍的《指物論》中的“指”字含義相近?
            a,變量;b,數組;c,對象;d,指針。

            【答案】d
            《指物論》是“能指”和“所指”的關系,“指”相當于“指針”,“物”相當于“對象”。指針本身只能記錄一個例如字符串的地址,通過指針可以找到這個字符串本身。而變量a, 你可以讓a = 1 ,也可以讓a = 2,數組就是 [1,2,3]這種的,只是表示一個同類的序列。

            3,藺相如,司馬相如;魏無忌,長孫無忌。下列哪一組對應關系與此類似?
            a,PHP,Python;b,JSP,servlet;c,java,javascript;d,C,C++。

            【答案】c
            四個人都不是一個時代,就是名字像,其實沒關系。java跟javascript名字像但完全沒有關系。c和c++有關系。

            4,秦始皇吞并六國采用了以下哪種算法思想?
            a,遞歸;b,分治;c,迭代;d,模擬。

            【答案】d
            吞并六國的戰略是遠交近攻。遞歸的意思是:我想干掉所有人,讓c先干掉d, b干掉c,a干掉b, 我再干掉a。分治算法是,讓c跟d誰干掉誰就留下比如c活了, a跟b, a活了, 然后a跟c干,a留下, 我再干掉a,跟遠近沒有關系,你只是看熱鬧,看別人在打,只是最后動一下手
            。迭代像是我干掉a, a變成鬼干掉b, b變成鬼干掉c。模擬是產生新解→計算目標函數差→接受或舍棄。類似于,如果差太高的話就舍棄。轉而用其它的輸入參數。

            5,雅典王子忒修斯勇闖克里特島斬殺米諾牛的時候采用了以下哪種算法?
            a,動態規劃;b,窮舉;c,記憶化搜索;d,Dijkstra算法。

            【答案】c
            忒修斯進入迷宮,怕記不住回來的路,所以用線牽著進去,然后收線倒退回來。

            6,印度電影《寶萊塢機器人之戀》中的機器人七弟采用的智能算法最有可能是以下哪一種?
            a,神經網絡;b,遺傳算法;c,模擬退火;d,窮舉算法。

            【答案】a
            根據這段視頻http://v.youku.com/v_show/id_XMjM5Njk1MTUy.html
            人工神經網絡是一種模范動物神經網絡行為特征,進行分布式并行信息處理的算法數學模型。這種網絡依靠系統的復雜程度,通過調整內部大量節點之間相互連接的關系,從而達到處理信息的目的。

            7,《公孫龍子》記載:“齊王之謂尹文曰:‘寡人甚好士,以齊國無士,何也?’尹文曰:‘愿聞大王之所謂士者。’齊王無以應。”這說明了齊王:
            a,昏庸無道;b,是個結巴;c,不會下定義;d,不會定義自己的需求。

            【答案】d
            齊王說:我喜歡牛逼的人,但齊國沒有牛逼的人,為毛啊?尹文說:你說一下啥叫牛逼的人?齊王無語。齊王不是不會下定義,他會下定義,但不明白意義所指。

            8,惠施曾提出過“卵有毛”的命題,以下哪一項是導致這個錯誤命題的原因:
            a,混淆了命名空間;b,引入了錯誤的包;c,衍生類未重載;d,調用了危險的指針。

            【答案】b
            惠施詭辯說要不是雞蛋里有毛,怎么孵出來的雞有毛?所以說卵里有毛。錯誤的引用了因果關系這個包,實際上雞蛋的毛跟雞的毛不存在因果關系。

            9,下面哪種面向對象的方法可以讓你變得富有?
            a,繼承;b,封裝;c,多態;d,抽象。

            【答案】b
            悲觀者選a,期望你爸是李剛,但李剛未必有錢。樂觀者選c,多態是在面向對象語言中,接口的多種不同的實現方式,保持開放的心態和廣泛的人脈。有想法的人選b,封裝是在程序上,隱藏對象的屬性和實現細節,僅對外公開接口,因其壟斷,所以最有發財可能。夢幻者選d。

            10,明朝時期張居正改革的一條鞭法的主要思想是:
            a,面向過程;b,萬物皆數;c,統一接口;d,泛型編程。

            【答案】d
            一條鞭法主要是總括一縣之賦役,悉并為一條。即先將賦和役分別合并,再通將一省丁銀均一省徭役;每糧一石編銀若干;每丁審銀若干;最后將役銀與賦銀合并征收。徭役完全取消;里甲體系不管在形式上還是實質含義上都不再存在;任何殘留的人頭稅都將并入田賦之中。而納稅人可以通過分期支付單一的、固定的白銀來履行對國家的義務。c統一接口(但內部計算方式不一樣,只是方法的名稱一樣)d方法的名稱都一樣,可以適用各種稅,計算方式也一樣。

            二,匹配題(分析A中的句子所體現的算法,和B中的算法一一匹配):
            A:
            1,江南可采蓮,蓮葉何田田,魚戲蓮葉間。魚戲蓮葉東,魚戲蓮葉西,魚戲蓮葉南,魚戲蓮葉北。——漢樂府《江南》
            2,眾里尋他千百度,驀然回首,那人卻在燈火闌珊處。——辛棄疾《青玉案》
            3,從前有座山,山里有座廟,廟里有個老和尚,再給小和尚講故事,故事內容是:從前有座山,山里有座廟,廟里有個老和尚,再給小和尚講故事,故事內容是:從前有座山,山里有座廟,廟里有個老和尚,再給小和尚講故事,故事內容是……
            4,只勸樓臺追后主,不愁弓矢下殘唐。——孔尚任《桃花扇》
            5,飛鳥之影,未嘗動也。——《莊子》
            B:
            1,貪心;
            2,回溯;
            3,窮舉;
            4,分治;
            5,遞歸;

            【答案】
            a1-> b3
            a2 -> b2
            a3 -> b5
            a4 -> b1
            a5 -> b4

            三,閱讀理解(閱讀下文,回答后面的問題):
            美國的貝爾實驗室設計了最初的C語言
            刻在UNIX操作系統距今已有三四十年
            你在屏幕前凝視數據的繾綣
            我卻在旁輕輕敲打鍵盤把你的夢想展現
            循環 遞歸 貪心 動規 是誰的從前
            喜歡在匈牙利算法中你我牽手的畫面
            經過MSRA門前我以大牛之名許愿
            思念像斐波那契數列般漫延
            當軟工淪落在設計的文檔間
            算法依舊是永垂不朽的詩篇
            我給你的愛寫在程序間
            深藏在最長不下降子序列里面
            幾萬組數據流過后發現
            我的心依然不變
            我給你的愛寫在程序間
            深藏在最長不下降子序列里面
            用無盡的代碼刻下了永遠
            那已保存千年的誓言
            一切又重演我算了很多遍
            時間復雜度還是趨于無限
            我只想要這樣永遠鏈接在你的身邊
            1,題目中的MSRA是什么的縮寫?
            2,試賞析“思念像斐波那契數列般漫延”一句。
            3,請結合時代背景,談談你對“當軟工淪落在設計的文檔間,算法依舊是永垂不朽的詩篇”一句的理解。
            4,“幾萬組數據流過后發現,我的心依然不變”一句體現了算法的什么特性?

            【答案】
            1微軟亞洲研究院:MSRA
            2舊恨未消,又添新愁。1、1、2、3、5、8、13、21……思念是一天天的徒增。
            3不論設計怎么變化發展,算法依舊長青。
            4前一句是說算法的可行性,后一句是說算法的確定性。

            posted @ 2011-04-06 13:29 chib 閱讀(517) | 評論 (0)編輯 收藏

            模板類參數作為容器元素,無法編譯的問題

             直接貼一下出錯的代碼:

            template<class T>
            class GSession
            {
                
            public:
                    typedef std::list
            <T>    SessionList;
                    typedef SessionList::iterator SessionIter;

                    
            bool SendCmd(int iIdx=0)
                    
            {
                        
            if (iIdx==0)
                        
            {
                            
            return false;
                        }
            else
                        
            {
                            std::list
            <int>::iterator iter;

                            SessionIter se;
                            
            for(se=m_sessions.begin(); se != m_sessions.end(); se++)
                            
            {
                                
            if (se->iIdx==iIdx)
                                
            {
                                    
            return true;
                                }

                            }

                        }

                        
            return false;
                    }



                
            private:
                    SessionList m_sessions;
            }
            ;
            出錯地方以及修改:
            //typedef SessionList::iterator SessionIter; //修改為:
            typedef typename SessionList::iterator SessionIter;

            或者直接定義:
            typename std::list<T>::iterator se;

            把一個特殊的名字解釋成一個類型,而這個特殊的名字依賴于一個模板參數,這樣會使編譯器在指認一個類型時產生誤解,typename關鍵字可以告訴編譯器把這種特殊名字解釋為一個類型。
            注:以上問題只發生在g++上,VC會自動添加故不會出現錯誤。

            posted @ 2011-03-31 14:52 chib 閱讀(561) | 評論 (0)編輯 收藏

            vbox中設置Ubuntu分辨率為1280x800【轉】

            VirtualBox 在XP下虛擬Ubuntu時不能完全全屏的問題解決方法

            本人LCD 1280×800 Virtualbox 在深度XP下 虛擬 Ubuntu 8.04
            聲音、網絡一切正常,就是有不能完全全屏的問題,ubuntu作為客機的分辨率
            只能調到800×600,經過一番檢索+摸索,搞定,現整理如下:

            1.安裝VboxLinuxadditions
            a)安裝make gcc lib等

            -------------------------------
            apt-get install build-essential
            -------------------------------


            b)安裝module-assistant

            ---------------------------------
            apt-get install module-assistant
            ---------------------------------


            c)運行

            -------------
            m-a prepare
            --------------

            d)安裝VboxLinuxadditions(選“設備”-“安裝虛擬電腦工具包”)
            進入目錄后運行

            ---------------------------------
            sudo ./VBoxLinuxAdditions.run
            ---------------------------------

            2.修改VBOX在Ubuntu里的設置

            運行
            --------------------------------
            sudo gedit /etc/X11/xorg.conf
            --------------------------------
            后如下把部分修改

            ------------------------

            Section "Device"
            Identifier "Configured Video Device"
            Driver "vboxvideo"
            EndSection

            Section "Monitor"
            Identifier "Configured Monitor"
            EndSection

            Section "Screen"
            Identifier "Default Screen"
            Monitor "Configured Monitor"
            Device "Configured Video Device"
            DefaultDepth 24 #我這里顏色質量只能開到24
            SubSection "Display"
            Modes "1280x800" "800x600" #按屏幕需要改就可以了
            EndSubSection
            EndSection

            -------------------------------
            3.重啟Ubuntu,然后分辨率就可以設置成1280×800了

            按"右ctrl+F" 進入全屏:無縫模式+共享剪貼板,linux和win的和平共存,
            VBox的網絡設置成NAT,guest共享host的網絡,這樣應該就可以在惡心的校園網玩上linux了~

            文章出處:http://www.diybl.com/course/6_system/linux/Linuxjs/2008614/125481.html

            posted @ 2011-03-28 13:16 chib 閱讀(1809) | 評論 (0)編輯 收藏

            編譯32位和64位版本ACE 【轉】

            之前的文章說了如何在linux上編譯,最近在Solaris上編譯了一下,32位和64位都通過了。但64位的庫還沒試,不知道用起來會不會出現什么問題。下面先說下我的環境,和之前的方法一樣,都是設置好環境變量

            PATH=$PATH:$HOME/bin;export PATHACE_ROOT=/home/vimp/ACE_wrappers;export ACE_ROOTLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ACE_ROOT/ace:$ACE_ROOT/lib:$ACE_ROOT/bin:/lib:/usr/lib:/usr/local/lib;export LD_LIBRARY_PATHPATH=$PATH:$ACE_ROOT/ace:$ACE_ROOT/lib:$ACE_ROOT/bin:/usr/vacpp/bin;export PATH我用的是g++,版本是3.3.1的,沒用SUNC++,水平有限加上機器環境不太熟悉。下面為通用步驟:
            1. 下載ACE包
            下載下來tar.gz包,解開,

            gunzip [.gz包]

            tar -xvf [tar包名]

            操作完后將會在當前目錄下有ACE_wrappers目錄。(注:我這里tar時,文件老是出點錯誤,是checksum的錯誤,后來我就在win下解壓了,有壓成.zip的包,傳上去,用gunzip還是g解的我也忘了)

            2. 設置環境變量

            修改登陸腳本,如下所示:

            $ vi /etc/profile

            # User specific environment and startup programsPATH=$PATH:$HOME/bin;export PATHACE_ROOT=/home/vimp/ACE_wrappers;export ACE_ROOTLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ACE_ROOT/ace:$ACE_ROOT/lib:$ACE_ROOT/bin:/lib:/usr/lib:/usr/local/lib;export LD_LIBRARY_PATHPATH=$PATH:$ACE_ROOT/ace:$ACE_ROOT/lib:$ACE_ROOT/bin:/usr/vacpp/bin;export PATHunset USERNAME具體是什么樣子的忘了,主要就是設置好環境變量就是了。

            修改后,重,環境變量設置好。

            3. 修改文件
            進入$ACE_ROOT/ace/下,修改config.h $vi config.h#include "ace/config_sunos5.9.h"保存退出進入$ACE_ROOT/include/makeinclude/下,建立platform_macros.GNU$vi platform_macros.GNUinclude $ACE_ROOT/include/makeinclude/platform_sunos5_g++.GNU保存退出4. 編譯

            進入$ACE_ROOT/ace下make。等待一會,編譯完后,進入lib下,看是不是有.so文件了,成功!

            這樣是32位版本,ldd看下.so文件,依賴庫也是32位的庫,file看下也可以看的出來。

            64位版本需要修改makefile文件了。在剛才的platform_macros.GNU中包含了platform_sunos5_g++.GNU這個文件,修改這個文件。修改CFLAGS和SOFLAGS,加上-m64編譯選項。

            我用的機器是2個CPU的,所以為了便宜環境時的速度,可以make的時候加選項,make -j n   , n為CPU個數,-j的意思是同時并行處理的job數。

            編譯64位的ACE的時候,會有些類型轉換的的警告,不用理會他,可以成功編譯出來.so文件,但具體使用會不會有問題,還要進一步試


            本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/andy6355/archive/2006/11/01/1360491.aspx

            posted @ 2011-03-28 13:13 chib 閱讀(3173) | 評論 (0)編輯 收藏

            如何優雅的關閉一個socket【轉】

            如何優雅地關閉一個socket 收藏

                最近在windows編程時需要考慮到“如何優雅地關閉一個socket”,查閱了一些資料,現將查到的相關資料做個匯編,希望能對后來者有所幫助(比較懶,所以英文資料沒有翻譯:-))

            1. 關閉Socket時究竟做了什么

                關閉socket分為主動關閉(Active closure)和被動關閉(Passive closure)兩種情況。前者是指有本地主機主動發起的關閉;而后者則是指本地主機檢測到遠程主機發起關閉之后,作出回應,從而關閉整個連接。
                其狀態圖如下圖所示:

               起初每個socket都是CLOSED狀態,當客戶端初使化一個連接,他發送一個SYN包到服務器,客戶端進入SYN_SENT狀態。
            服務器接收到SYN包,反饋一個SYN-ACK包,客戶端接收后返饋一個ACK包客戶端變成ESTABLISHED狀態,如果長時間沒收到SYN-ACK包,客戶端超時進入CLOSED狀態。
              當服務器綁定并監聽某一端口時,socket的狀態是LISTEN,當客戶企圖建立連接時,服務器收到一個 SYN包,并反饋SYN-ACK包。服務器狀態變成SYN_RCVD,當客戶端發送一個ACK包時,服務器socket變成ESTABLISHED狀態。

              當一個程序在ESTABLISHED狀態時有兩種圖徑關閉它, 第一是主動關閉,第二是被動關閉。如果你要主動關閉的話,發送一個FIN包。當你的程序closesocket或者shutdown(標記),你的程序發送一個FIN包到peer,你的socket變成FIN_WAIT_1狀態。peer反饋一個ACK包,你的socket進入FIN_WAIT_2狀態。如果peer也在關閉連接,那么它將發送一個FIN包到你的電腦,你反饋一個ACK包,并轉成TIME_WAIT狀態。
              TIME_WAIT狀態又號2MSL等待狀態。MSL意思是最大段生命周期(Maximum Segment Lifetime)表明一個包存在于網絡上到被丟棄之間的時間。每個IP包有一個TTL(time_to_live),當它減到0時則包被丟棄。每個路由器使TTL減一并且傳送該包。當一個程序進入TIME_WAIT狀態時,他有2個MSL的時間,這個充許TCP重發最后的ACK,萬一最后的ACK丟失了,使得FIN被重新傳輸。在2MSL等待狀態完成后,socket進入CLOSED狀態。
              被動關閉:當程序收到一個FIN包從peer,并反饋一個ACK包,于是程序的socket轉入CLOSE_WAIT狀態。因為peer已經關閉了,所以不能發任何消息了。但程序還可以。要關閉連接,程序自已發送給自已FIN,使程序的TCP socket狀態變成LAST_ACK狀態,當程序從peer收到ACK包時,程序進入CLOSED狀態。

            2. Winsock2 API中的相關函數

                先當然是查MSDN,看到winsocks2 API中的相關函數有:closesocket,shutdown,WSASendDisconnect. 我大致說一下,具體詳細的資料還請自行查MSDN.

                int closesocket( SOCKET s)的作用是關閉指定的socket,并且回收其所有的資源。
                int shutdown( SOCKET s,  int how)則是禁止在指定的socket s上禁止進行由how指定的操作,但并不對資源進行回收,shutdown之后而closesocket之前s還不能再次connect或者 WSAConnect.
                int WSASendDisconnect( SOCKET s,  LPWSABUF lpOutboundDisconnectData)則和shutdown基本類似,稍有不同的就是WSASendDisconnect函數多了一個lpOutboundDisconnectData參數,可以允許發送“斷開數據”(disconnect data).但MSDN上寫了“The native implementation of TCP/IP on Windows does not support disconnect data.”,所以一般我們就用shutdown函數就行了。


            3. Socket的優雅關閉

            在MSDN中對shutdown函數中的Remarks部分有下面一段話,指出了如何進行一次優雅的slcket關閉:

            To assure that all data is sent and received on a connected socket before it is closed, an application should use shutdown to close connection before calling closesocket. For example, to initiate a graceful disconnect:

               1. Call WSAAsyncSelect to register for FD_CLOSE notification.
               2. Call shutdown with how=SD_SEND.
               3. When FD_CLOSE received, call recv until zero returned, or SOCKET_ERROR.
               4. Call closesocket.

            closesocket的行為也是隨setsockopt()中參數的不同而有不同的表現,這里影響它的行為的主要就是那個linger結構。


            SO_DONTLINGER 若為真,則SO_LINGER選項被禁止。
            SO_LINGER 延遲關閉連接 struct linger
            上面這兩個選項影響close行為
            選項 間隔 關閉方式 等待關閉與否
            SO_DONTLINGER 不關心 優雅 否
            SO_LINGER 零 強制 否
            SO_LINGER 非零 優雅 是
            若設置了SO_LINGER(亦即 linger結構中的l_onoff域設為非零),并設置了零超時間隔,則closesocket()不被阻塞立即執行,不論是否有排隊數據未發送或未被確認。這種關閉方式稱為“強制”或“失效”關閉,因為套接口的虛電路立即被復位,且丟失了未發送的數據。在遠端的recv()調用將以 WSAECONNRESET出錯。
            若設置了SO_LINGER并確定了非零的超時間隔,則closesocket()調用阻塞進程,直到所剩數據發送完畢或超時。這種關閉稱為“優雅的”關閉。請注意如果套接口置為非阻塞且SO_LINGER設為非零超時,則closesocket()調用將以 WSAEWOULDBLOCK錯誤返回。
            若在一個流類套接口上設置了SO_DONTLINGER(也就是說將linger結構的l_onoff 域設為零),則closesocket()調用立即返回。但是,如果可能,排隊的數據將在套接口關閉前發送。請注意,在這種情況下WINDOWS套接口實現將在一段不確定的時間內保留套接口以及其他資源,這對于想用所以套接口的應用程序來說有一定影響。

                所以一般來說,不應該把linger設置為SO_LINGER 并且設置timeout為0,這樣的話,當本地主機調用closesocket時將會造成一個“強制”或“失效”的非優雅關閉。可以根據實際情況設置為另外兩種情況。

            posted @ 2011-03-23 20:39 chib 閱讀(1211) | 評論 (0)編輯 收藏

            g++ 4.4 bug引發glibc系列函數無法找到問題解決方法

            /usr/include/c++/4.4/cstdio: At global scope:
            /usr/include/c++/4.4/cstdio:107: error: ‘::fprintf’ has not been declared
            /usr/include/c++/4.4/cstdio:108: error: ‘::fputc’ has not been declared
            /usr/include/c++/4.4/cstdio:109: error: ‘::fputs’ has not been declared
            /usr/include/c++/4.4/cstdio:112: error: ‘::fscanf’ has not been declared
            /usr/include/c++/4.4/cstdio:116: error: ‘::fwrite’ has not been declared
            /usr/include/c++/4.4/cstdio:121: error: ‘::printf’ has not been declared
            /usr/include/c++/4.4/cstdio:122: error: ‘::putc’ has not been declared
            /usr/include/c++/4.4/cstdio:123: error: ‘::putchar’ has not been declared
            /usr/include/c++/4.4/cstdio:124: error: ‘::puts’ has not been declared
            /usr/include/c++/4.4/cstdio:128: error: ‘::scanf’ has not been declared
            /usr/include/c++/4.4/cstdio:131: error: ‘::sprintf’ has not been declared
            /usr/include/c++/4.4/cstdio:132: error: ‘::sscanf’ has not been declared
            /usr/include/c++/4.4/cstdio:136: error: ‘::vfprintf’ has not been declared
            /usr/include/c++/4.4/cstdio:137: error: ‘::vprintf’ has not been declared
            /usr/include/c++/4.4/cstdio:138: error: ‘::vsprintf’ has not been declared
            /usr/include/c++/4.4/cstdio:165: error: ‘::snprintf’ has not been declared
            /usr/include/c++/4.4/cstdio:166: error: ‘::vfscanf’ has not been declared
            /usr/include/c++/4.4/cstdio:167: error: ‘::vscanf’ has not been declared
            /usr/include/c++/4.4/cstdio:168: error: ‘::vsnprintf’ has not been declared
            /usr/include/c++/4.4/cstdio:169: error: ‘::vsscanf’ has not been declared
            /usr/include/c++/4.4/cstdio:176: error: ‘__gnu_cxx::snprintf’ has not been declared
            /usr/include/c++/4.4/cstdio:177: error: ‘__gnu_cxx::vfscanf’ has not been declared
            /usr/include/c++/4.4/cstdio:178: error: ‘__gnu_cxx::vscanf’ has not been declared
            /usr/include/c++/4.4/cstdio:179: error: ‘__gnu_cxx::vsnprintf’ has not been declared
            /usr/include/c++/4.4/cstdio:180: error: ‘__gnu_cxx::vsscanf’ has not been declared

            以上為提示的錯誤,解決方法只需要在g++編譯參數中加入-E即可解決。

            posted @ 2011-03-16 23:29 chib 閱讀(1129) | 評論 (0)編輯 收藏

            使用virtual box配置ubuntu開發環境

                      virtual box、ubuntu的安裝沒什么特別的地方,就不說了。安裝好后,應該就可以直接ubuntu中訪問網絡。但IP地址一般不是你局域網的合法IP,需要先在Oracle Vbox的菜單中選擇 管理->全局設定->網絡,把IP地址改成你本機的IP地址,如192.168.1.4。然后進入ubuntu系統,在編輯連接中選一個空閑的IP地址填入,重啟網絡或者系統。就可以在外網連接虛擬機了。執行以下g++命令,如果未安裝,執行apt-get install build-essential,安裝編譯環境。執行apt-get install openssh-server,安裝sshserver。OK,使用putty連接,可以順利寫程序了。

            posted @ 2011-03-16 22:12 chib 閱讀(331) | 評論 (0)編輯 收藏

            魔獸世界任務分類及游戲任務系統設計啟示


            魔獸的任務號稱有1500多個,這么多任務,難免有些水分在里面,不過把這些浩瀚如星海的任務分類一下,倒也可以借鑒不少。(由于我練的是部落,所以選部落方向的比較經典的任務)
              有人說,魔獸的任務很多,但基本上還是那些殺怪拿東西的任務占大部分,沒什么意思。我要說的是,當你真正用心體會魔獸世界的任務,咀嚼每一個任務情節,感受每一個任務細節,你會發現,它比你想象的有趣的多。
              一、 消滅(或擊敗)怪物。
              程序實現難度最低,只要驗證所殺的怪物(數量)即可。應該說,這種任務在WOW里所占比例最大,在其他網游的任務系統中也最常見。因為這種任務系統的實現沒有很大難度,程序只要安排任務指定NPC、任務對話及任務完成檢測,而且也是最容易安排劇情的任務類型。
              所需消滅的怪物分為兩類,一是普通的怪物,一是BOSS類怪物。普通的怪物就不必多說了,BOSS類怪物有些還需要觸發條件,例如十字路口的狂熱的維羅格任務,消滅半人馬一定數量后才會出現,還有十字路口的艾其亞基任務,要在它的巢穴附近吹響號角來召喚它。
              
              二、 收集物品。
              收集的物品分4類:
              ⑴、指定怪物必然掉落物品(如十字路口的偷錢的迅猛龍任務)
              ⑵、指定怪物隨機掉落物品(如十字路口的斑馬的威脅任務)
              ⑶、從地圖上可見并可采集之物品 (如十字路口的菌類孢子任務)
              ⑷、可以由玩家制作出來的物品 (如灰谷的戰歌氏族補給品任務)
              同樣也是一般網游中最常見的任務類型。除了固定要安排的任務指定NPC和任務對話,程序只要安排物品獲得途徑(增加怪物掉落物品項或地圖物品)和任務完成檢測即可。
              
              三、 對話任務。
              主要的任務類型,經常與其他類型任務結合運用。
              ⑴、與某人直接對話。
              ⑵、將指定物品給予某人并對話。與收集物品任務不同的是,該任務物品由任務起始NPC直接給予。(如貧瘠之地的戰歌的報告任務)
              在游戲中的作用主要有以下幾個方面:
              ⑴、推動劇情發展。
              ⑵ 、引導玩家進入下一張地圖。
              ⑶ 、引導至后續任務。
              ⑷ 、讓玩家了解游戲的背景故事。
              
              四、 護送任務。
              保護目標NPC到達目的地,路上一定地點會刷新怪物,這時候要注意不能讓目標NPC死亡,否則任務失敗。最典型的是哀嚎洞穴的護送牛頭德魯伊任務。
              程序實現:固定地點刷新怪物,判斷目標NPC是否死亡,死亡則轉入任務失敗,任務結尾若NPC仍存活,任務完成。
              
              
              五、 探索任務。
              一般的要求是到達探索地點的規定區域內即可完成,供玩家熟悉地圖用。有些任務還要求發現某特征事物,例如十字路口的遺忘之池任務,在池水中觀察到有冒泡的地方,需足夠接近方可完成。
              
              任務說明:
              向圖加·符文圖騰報告你的發現。
              探索遺忘之池
              
              很久以前,貧瘠之地曾是個郁郁蔥蔥、生機盎然的地方。但是戰爭與災難接二連三地降臨在這片土地上,最后就剩下了這一片干燥荒蕪的不毛之地。事實就是這樣,真讓我傷心。不過,在過去的幾年里,貧瘠之地出現了新的綠洲,生機又在這片土地上重現。我們德魯伊感覺到了在很深的地下有一股試圖沖出地面的力量。我們必須找到這股力量的源泉,請到十字路口西北邊的遺忘之池去一趟,在那里的湖水中搜尋力量的源泉,然后回到這里來。
              
              六、 職業任務。
              之所以把這個任務分類出來是因為它的特殊性。在職業任務中,玩家將會熟悉自身職業的屬性、特長、技能,鍛煉必須的操作技巧。這些任務在魔獸中就做的很好。例如法師的職業任務有鍛煉對霜之新星的控制能力和鍛煉殺怪續航能力,盜賊的職業任務有訓練涂毒和開鎖能力的。
              
              
              從魔獸任務系統所得的游戲任務系統設計啟示:
              一、 任務的故事性。
              魔獸里的任務,哪怕是一個最不起眼的小任務,也會有幾段故事說明和指示。任務說明會給玩家一種代入感,讓玩家成為這個任務故事的一分子,從而帶動玩家進入任務,創造游戲總體氛圍。小任務如此,大的任務,特別是和游戲背景緊密相關的任務,更是要刻意渲染出足夠的氣氛,讓玩家感覺,游戲的歷史也可以由自己左右,當任務完成后,便會產生很大的滿足感。一個個任務的故事組合起來,就如同鳳凰的羽翼逐漸豐滿起來,把游戲的故事情節都展現給玩家。這也成為游戲的內涵所在。
              任務的說明很很體現的暴雪的惡搞風格,而且九城的漢化有些地方也相當經典。僅舉幾例,可窺一斑:
              1、奧達曼的能源,法師職業任務。
              找到一個黑曜石能量源,將其交給塵泥沼澤的塔貝薩。
              黑曜石能量源 0/1
              
              既然惡魔已經被消滅了,接下來我們就得去找一個能量源。不幸的是,最合適的能量源往往非常古老而且極難獲得。有的時候,命運就喜歡這樣捉弄你,難道不是嗎?所以,為了得到能量源,你必須到奧達曼去打敗那里的黑曜石守衛。他體型巨大而且很難對付,但是你可以從他身上得到我們所需要的能量源!祝你好運,利娜。如果你運氣不好的話,那么……很高興認識你。
              
              看見最后一句話沒有?呵呵。
              
              2、能量儀祭,法師的職業任務。
              將《能量儀祭》交給塵泥沼澤的塔貝薩。
              能量儀祭 0/1
              
              嗯……我想起來了,我的書已經沒有了!你要知道,我欠了一屁股的債,不得不把最后一冊《能量儀祭》賣掉來還債,我把它賣給了一個牧師……他是血色十字軍的成員。他一定把那本書帶到了他們的根據地——提瑞斯法林地里的血色修道院圖書館去了!如果你想要那本書的話,就得去一趟修道院。很抱歉給你帶來這么多麻煩,這些天我已經有些頭昏腦漲了……
              原來這個隱居在塵泥沼澤的家伙是為了逃債,連書都賣掉還債了,哈。
              
              3、荊棘谷的討債行動。
              給藏寶海灣的“海狼”馬克基雷帶回瑪雷的畸形足、喬喬的金色望遠鏡和蘇克的巨型戒指。
              瑪雷的畸形足 0/1
              喬喬的金色望遠鏡 0/1
              蘇克的巨型戒指 0/1
              
              我這兒的白條已經少了許多啦,但還是有許多沒信譽的家伙欠著我的錢。接下來,我們得對付“畸形足”瑪雷·維爾金斯、火柴棍喬喬,還有拇指蘇克。這幫家伙的債欠了好久,我看他們是不想還了!后來,我聽說他們被什么人給騙到叢林里去了。我當然不關心他們到底會怎么樣——我要的是我的錢!他們應該就在東北方的阿博拉茲廢墟和朱布瓦爾廢墟里。找到他們,把我的錢拿回來。
              
              很明顯這家伙在魔獸里專放高利貸,完成了這個,后面還有一系列的討債行動。
              
              4、辛特蘭的Z校對2任務。
              在荒蕪之地收集20張枯木頭皮,與尼姆布亞的長矛一起放置在枯木村莊,然后回到荊棘谷尼姆布亞那里。
              傳達可怕的信息。
              
              枯木巨魔原來是部落的盟友,但他們現在背叛了薩爾……他們要為此受到懲罰!來,拿起我的長矛去北邊的荒蕪之地。追捕那里的枯木,收集他們的頭皮,在他們的一個村莊的土地上插上我的長矛。讓他們知道,背叛部落,遲早要還的!
              
              傳說中的魔獸版無間道?
              
              所以,任務的說明要幽默自然,該嚴肅的任務也要有嚴肅的口吻,而且還要符合任務NPC的性格,甚至可以考慮運用當前流行的語言。在完成任務的同時,玩家也會一步步了解該任務NPC的故事、個性,不自覺地融入其中。
              
              二、 任務的觸發方式。
              在魔獸世界中有以下幾種
              ⑴、任務NPC。任務NPC是一般游戲中通常的觸發任務方式,不必贅述。(當然,NPC還分為傻乎乎蹲在一個地方的和四處亂逛的。)
              ⑵、怪物掉落物品。可分為隨機掉落和固定掉落。菲拉斯、加基森、辛特蘭等地怪物隨機掉落的OOX機器人任務蠻是有趣。固定掉落任務如殺一些特殊的怪(典型的如陶拉祖營地上面的雷霆蜥蜴、雷鳥,灰谷的三大獸)會掉任務物品,點擊觸發任務。
              ⑶、可在地圖上點擊的物品。一般比較隱蔽。魔獸村子里的通緝令算是比較容易發現的這類任務。其他還有酒桶、箱子、祭壇之類的,鼠標移動到上面會有齒輪狀提示出現。
              一般的網游中第一類的較多,建議多加入二類和三類觸發方式,保持玩家接受任務的未知感和新鮮感。
              
              三、 任務的提示。
              在魔獸世界里,任務的提示是做的相當好的。NPC頭上黃色的嘆號代表有任務可以接,白色的嘆號代表有任務但你尚未到達該任務等級,黃色的問號代表你在該NPC處任務已完成,白色的問號代表你在該NPC處接了任務但未完成。我認為,在一般的網游中,對任務的提示普遍不夠,有時候玩家甚至不記得在哪個NPC處接了什么任務,造成任務進行的混亂。而魔獸中普通難度的任務都會在說明中指出目的地大致方位,完成任務之后,只要在任務NPC附近一定范圍,該NPC就會在小地圖上以黃色點標示出來,給予玩家足夠的提示。這種方式對于任務的進行和體驗提供了幫助,可以在網游中普遍采用。
              
              四、 任務的難度控制。
              先說單個任務的難度控制。在普通的鏈狀結構任務中,難度都是循序漸進的。例如荊棘谷的摩克薩爾丁的魔法,任務的起始是從殺深喉獵豹(37---38級)開始的,第二步要獲得的物品是從叢林捕獵者(39—41級)那里得到的,第三步成年大猩猩的肌腱所需殺的怪等級38---41,最后一步要從納加的圣泉中取到圣泉之水(納加等級43—44)。注意到這些任務能夠單獨完成所需等級是一步步慢慢增加的。所以鏈狀任務設計的時候,切忌任務之間跨越等級太大,或者任務越后面難度越低。等級跨度太大,給玩家無所適從的感覺,再加上當前能力無法完成任務,造成放棄任務的幾率大大增加;任務難度安排顛倒,越到后面越沒挑戰性,結果給玩家的成就感也就降低了。
              再說整個游戲的難度控制。仍以魔獸為例(副本也算做任務的一部分)。
              1-5級時,玩家在新手村活動,這時候的任務一般以殺怪、收集物品和探索為主,設計時就要注意把相關的任務難度調低,讓新手在任務中快速熟悉游戲的玩法。例如殺怪任務可以減少完成任務所需怪物數量和削弱初級怪能力,收集物品任務所需物品必須大而顯眼,探索任務目的地離新手村要近。而且關鍵是都要有詳細的說明,指明任務所在地是必須的,讓玩家在完成任務時不至于沒有任何頭緒。
              6-12級時,玩家一般會離開新手村到達第一個城鎮,除了前面所述幾種任務之外,還要適當加上消滅普通BOSS的任務,這種任務高級點的玩家可以單獨挑戰,低級點的玩家必須組隊才能戰勝。在一定程度上促進了玩家交流和組隊,增加了游戲交互性。
              13-20級,這時候玩家已經對游戲玩法有足夠的了解,所需的就是大量的任務來提高玩家的技巧(包括個人能力和團隊配合能力),第一個需要配合的副本任務在這樣的前提下誕生了(如奧格瑞瑪的怒焰峽谷),在副本里強調團隊的配合,一個人的失誤都有可能帶來團隊的毀滅。不過做為第一個副本,難度一定要控制好,地圖不能太復雜,怪物密度不能太高,BOSS能力不能太強。
              21-30級,基本同上,不過此時的任務考慮加入一些技巧或噱頭,添加大量的隱藏要素,使不同的玩家在完成不同的任務時有不同的體驗。這個時期的副本可以適當加大難度。(十字路口的哀嚎洞穴副本是這個時期必進的一個副本,在細節方面和難度方面都處理的很不錯,不過唯一不足的是地圖實在太復雜,去過兩三次的人也未必會熟悉,至于我,在走了八遍以后才勉強記住。)
              31-40級,這個階段玩家一般會在中立地區活動,與敵對陣營的摩擦也日益增加,組隊完成任務的玩家會占很大一部分。所以可以增大團隊才能完成的任務比例,還有一些需要良好操作控制的任務。副本中怪物的密度可以增大,考驗團隊處理突變狀況的能力(如剃刀高地的2精英3普通怪和巡邏怪組合),BOSS的技能和AI增強,讓玩家自行摸索戰勝BOSS的技巧。(如諾莫瑞根的最終BOSS,打他的時候旁邊的炸彈發射器會不停放出炸彈來攻擊玩家,需要一個人去關炸彈開關。)
              41-50級,到這個級別的玩家一般都已經具有良好的操作和對自身職業足夠的了解,單獨完成任務的欲望強烈,可以考慮降低團隊任務比例。副本難度大幅度增加,一些區域需要特定職業的技能才比較容易通過(如奧達曼的矮人群,范圍魔法可以發揮的淋漓盡致),一些區域需要玩家消耗大量的藥品(如馬拉頓的毒水BOSS,滋補藥劑和治療藥劑的應用),打BOSS需要技巧和運氣(馬拉頓的公主,戰士積累足夠仇恨,盜賊和法師、獵人主輸出傷害,牧師照顧戰士的同時又要注意不被公主盯上。對付公主的大范圍毒氣,近戰的要輪流上陣。對付公主的打飛能力,戰士要靠墻站。)
              51-60級,這個時候出現了全新的任務類型,大型團隊任務(RAID隊伍),需要5個以上、40個以下的玩家協同完成。這些任務也是對玩家的極大挑戰,不僅普通小隊無法完成,即使是RAID隊也要良好的配合和正確的戰略指導才有可能戰勝。在豐厚的獎勵和誘人的物品掉落面前,會有玩家不停的組織人手來擊殺BOSS,如塵泥沼澤的黑龍公主、艾薩拉的藍龍、熔火之心的火焰領主等。這個時期的副本,幾乎每一波敵人都是一個挑戰,一旦處理不慎,團隊覆滅是很正常的,技巧+戰略+運氣,一個都不能少,才能完成高難度的副本任務。
              因此要隨著游戲的進程的編排任務的方方面面,合理地估計玩家該階段的能力,做出最佳的任務安排。
              
              五、 任務的節奏控制。
              這個在副本任務中要注意到,因為一個副本任務通常需要比較長的時間,如何在這么一段時間內把握玩家的情緒起伏,合理地安排各種不同的挑戰來提起玩家的興趣。一般副本會分為若干個區域,每個區域都有一個小BOSS,最后還要有個終極BOSS。玩家在消滅了一定的怪物之后,情緒會逐漸低落,在情緒失落到最低點前,小BOSS出現了,一方面給玩家帶來足夠的挑戰,帶動任務進行的氣氛,另一方面提供誘人的物品掉落,給玩家繼續探索下去的動力。一段段小高潮過去后,在終極BOSS出現前,玩家由于疲勞等原因情緒到達最低點,最終BOSS的出現就給這段旅行劃上了完美的句號。隨著戰勝了最終BOSS,玩家就如同經歷了一場自己主演的電影,興奮到達最高點。
              
              六、 任務的隱藏要素。
              隱藏要素有多方面的意義,如下示。通常這類任務比較容易引起玩家的興趣,因為會覺得其他玩家不一定會發現,若是自己第一個揭示這個任務,就會產生莫大的成就感。
              ⑴、完成任務可以有多種方法,有的方法比較隱蔽。
              ⑵、接到任務的因素是隱藏的。如塵泥沼澤的黑色盾牌任務和可疑的蹄印任務就是在路口一個已經被摧毀的旅館中發現的,把鼠標指到上面才會出現提示,所以是隱藏要素。
              ⑶、任務中隱藏的事實真相。奧格瑞瑪的尼爾魯火刃就是正宗的魔獸版無間道,在任務的進行中,會發現他是隱藏在奧格瑞瑪的叛徒。
              ⑷、任務中的任務。奧達曼解決最終BOSS后,在后面的房間里會發現一個白金圓盤(其實是古代光碟),把它放到旁邊的一個石像里會出現一段虛擬影象,并且有詳細的說明,最后可以接到把光盤送回雷霆崖的隱藏任務。
              
              
              七、 任務的可選擇性。
              也就是常說的分支任務。不過這樣的任務在魔獸中不是很多,最為典型的應該是部落凄涼之地的半人馬任務,有兩個半人馬部落,你可以選擇屠殺一方來提升另一方的友好度,友好度到達一定程度后便可接受更高的任務。專業技能的選擇也算是分支任務,例如鐵匠的武器專精和盔甲專精,制皮的元素方向、部落方向和龍鱗方向,工程學的侏儒工程學和地精工程學。
              但可選擇的任務越多,就表示程序和策劃要進行更多的工作,所以在網絡游戲里,除非必要,一般不可能出現太多的分支任務。
              
              八、 任務的獎勵。
              在魔獸里,除了固定的經驗獎勵外,任務獎勵一般只有兩種,金錢或者物品。金錢倒也罷了,不過物品獎勵的設置我認為有些問題,因為有些任務的獎勵對于玩家來說基本上毫無用處(例如只能穿布衣的職業獎勵皮甲,只需要智力的職業獎勵敏捷物品),這就導致了玩家對任務的挑剔,有適合自己獎勵的就做,沒有的話一律略過。
              因此我覺得可以在目前的任務系統上,加上任務點這樣一種屬性,完成所有任務都會有數量不一的任務點可以獲得。至于任務點的作用,我設想了以下幾點:
              ⑴、改變任務獎勵物品的某些屬性。例如法師,任務獎勵了一件20敏捷10耐力的衣服,提供一定的任務點可以把敏捷轉換成法師需要的智力。不過要注意的是,這種改變僅限于任務獎勵物品,若是對于所有物品都如此的話,游戲平衡性將受到很大沖擊。
              ⑵、用任務點換取特定稱號。不同稱號有不同的特點,如“奧格瑞瑪的勇士”,力量+10,敏捷+5,耐力+5,在奧格瑞瑪城享受8折優惠。當然,這樣的稱號需要大量的任務點才可能獲得。若是要換取新的稱號時,原有稱號轉換成1/2任務點退回到總任務點數中。也可以設置一些需要特定稱號才能夠接受的任務。
              ⑶、需要一定的任務點才能夠進行某個任務。這樣的任務必須是重要任務,和游戲的主線劇情有很大關系。這樣玩家為了完成主線任務,也要通過完成大量的分支任務積攢任務點。
              
              
              
              
              魔獸里我印象比較深刻的有意思的任務:
              ⑴、部落貧瘠之地的加恩的報復最后一步,要你去炸掉巴爾莫丹的飛行器,所用的炸藥就是前面任務中收集的木漿、硝酸鈉等等做出來的,這就是任務連續性的很好的體現。
              任務說明:
              摧毀巴爾莫丹的飛行器,然后向加恩·石塔回復。
              貝爾莫丹飛行器已經被摧毀
              
              按照卡茲戈姆的日記上所述的方法制造出來的炸藥應該不會有問題。那么,我們開始吧。首先我有一項特殊的任務要交給你完成。拿上這只爆破筒,去炸掉巴爾莫丹的飛行器。這個飛行器不僅是巴爾莫丹軍事設施的關鍵部分,也是一架可怕的殺戮機器。更重要的是,它是權力的象征,而它對我們的部族來說則代表著一段恥辱的回憶。我會為你的成功感到自豪,你也將得到豐厚的獎勵。
              
              ⑵、石爪山的烈日石居的塔姆拉會叫你把之前搜集到的蓋亞的種子種到焦炭谷的土堆里,魔獸種樹也瘋狂,因為焦炭谷的土堆有限,所以經常就是見到一個土堆,好幾個人飛奔過去,先種下的人得意狂笑,沒種到的嚎啕大哭,哈哈,很有趣。
              任務說明:
              將10枚蓋亞之種種植在蓋亞土堆中,然后與烈日石居的塔姆拉談一談。
              種植蓋亞之種
              
              如你所見,盜賊,我純凈的心靈可以為這片不毛之地帶來新的生機。你必須將這些種子種植在破壞之源中,在西邊的焦炭谷里就是破壞大自然的源泉——這片被污染的土地上到處都是鷹身人和兇惡的火元素。邪惡狂風,拿著這些附有魔法的蓋亞之種,把它們種植在蓋亞土堆里。
              
              ⑶、希爾斯布萊德丘陵的赫爾庫拉的復仇任務,部落的做這個任務有點難度,因為目的地是聯盟的城鎮,很容易被衛兵和聯盟的玩家追殺。經歷N次復活的艱辛之后,努力終于有了回報,復活后的赫爾庫拉召喚出一群骷髏兵攻擊南海,雖然。。。最終還是難免被南海的衛兵圍毆至死,不過咱心里還是爽了一把。以前的版本還有BUG,他會不斷召喚出來骷髏兵,直到把南海淹沒。。可惜我在那個版本沒玩到這個任務。
              任務說明:
              將埃希爾之焰、沃拉茲之焰和尤基爾之焰的力量注入赫爾庫拉的魔棒。把經過儀式洗禮之后的魔棒帶到南海鎮的赫爾庫拉墓地。
              
              拿著赫爾庫拉的魔棒,你會用得著它的。赫爾庫拉用3個火葬柴堆來構筑他最強大的法術:埃希爾之焰和沃拉茲之焰在丘陵地帶的洞穴里,尤基爾之焰在丘陵洞穴上面的另一個洞穴,在山的更北邊。赫爾庫拉的魔棒必須經過這三堆火焰的洗禮才能發揮作用。在儀式完成之后,把魔棒帶到赫爾庫拉的墓地去,那座墓地就在由人類重兵把守的南海鎮。讓赫爾庫拉的復仇降臨在愚蠢的人類頭上吧!
              
              ⑷、希爾斯布萊德丘陵的受難藥劑任務,變態的藥劑師要你把這個亂七八糟的藥劑給農場里的一只小狗吃,結果吃完,小狗變大狗。。。而且還是亂咬人的那種,沒辦法,只好順手料理了它。
              任務說明:
              把受難藥劑交給烏比。
              
              我得花一會兒時間把這些成分混合在一起,做成受難藥劑。成功了!啊,還有什么能比給這個世界帶來點災難更讓人愉快的呢?讓我們看看這種藥劑能不能達到預期的效果。讓我的助手烏比瞧瞧黑暗女王為人類和天災軍團準備了什么樣的禮物。
              
              ⑸、凄涼之地的誘捕科多獸任務。很另類的任務,對年老或瀕死的科多獸使用誘引器,然后它就會變成馴服的科多獸跟著你走,這時候最愜意的事就是開加速技能,看著一只龐大的科多在自己身后狂奔,感覺特爽。
              任務說明:
              帶5頭馴服的科多獸和科多獸誘引器給瑟卡布斯庫營地的斯米德·瑟卡布斯庫。
              馴服的科多獸 0/5
              
              比布萊認為他是凄涼之地唯一一個懂得賺錢的地精。好吧,想要讓旅團闖過這塊地方就要靠我了。因為我懂得利用我的科多獸誘引器控制年老的和瀕死的科多獸,所以我和旅行隊的主人科克,瑞格進行了合作。把科多獸誘引器拿去使用在任何年老的或者瀕死的科多獸身上。然后那個野獸就會變成馴服的科多獸然后會跟著你。一旦你馴服了一頭科多,那就把它帶來給我吧。
              
              還有很多值得分享的任務,留待各位自己慢慢體驗。
              
              
              玩魔獸,你可以不做任務,但是不做任務的你,將永遠無法體會到任務的樂趣。魔獸的任務系統,巧妙的將單機游戲的精髓融入了網絡游戲之中,你選擇不同的職業、不同的陣營進行游戲就會有不同的體驗,無時不刻地提醒你是這個世界的一分子,這才是真正的Role Play。同時,它又很好地把握了游戲的節奏,讓你在任務中不斷成長,在任務中提高等級,在任務中獲得裝備物品,在任務中成為真正的老鳥。所以今后的網絡游戲的任務系統,可以參考借鑒一下魔獸,在網絡游戲已經公式化、枯燥化的趨勢下,設計出不同的適合自身游戲的任務,走出自己的風格。
              由于這篇文章純屬本人的個人觀點,難免有些錯誤和不足,所以請各位多多指正,讓我在批評和建議中成長。^_^

            本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/steve0531/archive/2006/12/15/1443487.aspx

            posted @ 2009-12-05 21:02 chib 閱讀(803) | 評論 (0)編輯 收藏

            A simple IOCP Server/Client Class

            http://www.codeproject.com/KB/IP/iocp_server_client.aspx

            posted @ 2009-08-18 12:57 chib 閱讀(837) | 評論 (0)編輯 收藏

            開發工具介紹

            名稱:Valgrind
            系統:linux
            功能:內存使用監控工具
            鏈接:http://hi.baidu.com/timegoneby/blog/item/ffaad71790bf060dc93d6dd6.html

            posted @ 2009-06-18 12:54 chib 閱讀(266) | 評論 (0)編輯 收藏

            僅列出標題
            共3頁: 1 2 3 
            <2013年10月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導航

            統計

            常用鏈接

            留言簿(1)

            隨筆檔案

            牛人錄

            時政史料

            投資管理

            源碼庫

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久精品午夜一区二区福利| 欧美亚洲另类久久综合婷婷| 久久久久久亚洲精品成人| 亚洲午夜久久久影院| AV色综合久久天堂AV色综合在| 久久精品九九亚洲精品天堂| 久久国产影院| 久久亚洲sm情趣捆绑调教 | 久久精品男人影院| 热久久国产欧美一区二区精品| 性欧美大战久久久久久久久| 国产精品伊人久久伊人电影 | 久久99精品国产99久久6男男| 久久99精品国产麻豆蜜芽| 无码八A片人妻少妇久久| 国产精品国色综合久久| 伊人色综合九久久天天蜜桃| 99热成人精品热久久669| 精产国品久久一二三产区区别| 久久99国产精品久久99果冻传媒| 久久精品国产日本波多野结衣 | 97久久天天综合色天天综合色hd| 久久久久久国产a免费观看黄色大片| 久久中文字幕一区二区| 久久久久亚洲AV成人片| 久久久久久精品免费看SSS| 久久国产精品视频| 久久免费小视频| 久久精品国产一区二区三区日韩| 久久久无码一区二区三区| 97精品国产97久久久久久免费 | 久久久亚洲欧洲日产国码二区| 久久强奷乱码老熟女网站| 一本色道久久综合狠狠躁篇| 欧美一级久久久久久久大| 国内精品久久久久久久亚洲| 国产V亚洲V天堂无码久久久| 久久婷婷五月综合97色| 久久精品这里只有精99品| 日产精品久久久一区二区| 国产美女亚洲精品久久久综合|