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 阅读(501) | 评论 (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 阅读(541) | 评论 (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 阅读(1782) | 评论 (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 阅读(3122) | 评论 (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 阅读(1129) | 评论 (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 阅读(1098) | 评论 (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 阅读(317) | 评论 (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 阅读(784) | 评论 (0)编辑 收藏

A simple IOCP Server/Client Class

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

posted @ 2009-08-18 12:57 chib 阅读(814) | 评论 (0)编辑 收藏

开发工具介绍

名称:Valgrind
系统:linux
功能:内存使用监控工具
链接:http://hi.baidu.com/timegoneby/blog/item/ffaad71790bf060dc93d6dd6.html

posted @ 2009-06-18 12:54 chib 阅读(250) | 评论 (0)编辑 收藏

仅列出标题
共3页: 1 2 3 
<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

导航

统计

常用链接

留言簿(1)

随笔档案

牛人录

时政史料

投资管理

源码库

搜索

最新评论

阅读排行榜

评论排行榜