网络游戏脚本编程考试样题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《网络游戏脚本及编程》考试样题
一、判断题(每题1分,共10分)
1.Torque 脚本程序编译后可直接执行(× )
2. Torque 脚本程序的编译器就是torque 引擎程序(√ )
3. Torque 脚本变量名前面加上%用于标识该变量是全局变量(× )
4. Torque 脚本是没有变量类型的,它也不要求变量的前置声明(√ )
5. 对于.cs 源文件来说,如果编译不成功,则不会生成对应的.cs.dso 文件(√ ) 6.变量 %today 和变量%toDAy 是同一个变量( √)
7.在torque 脚本中,对象名可以唯一地标识一个对象( ×)
8.GameConnection 对象主要提供了由客户端连接到服务器的功能机制( √) 9.所谓区域触发器,就是在游戏世界中某位置划出一块触发区,若玩家进入这块触发
区,将会在服务器端引发消息( √)
10.使用torque 脚本编程,触发器的放置和事件处理完全由引擎来完成的。( ×)
二、选择题(每空1分,共60分)
1. 在torque 脚本中,以下非法的赋值语句是: A 。 A .$n=++$i; B .$n=$j++; C .$n=$i*$j; D .$n=$i-$j;
2. 表达式echo(15+15.6);的输出结果是: C 。 A .30 B .30.0 C .30.6 D .31
3. 关于Console.log 日志文件,下列说法正确的是: B 。 A .记录引擎的运行流程,程序员用它发现其中的错误 B .记录脚本的运行过程,程序员可用它发现一些错误 C .即使不在脚本中作设置,该日志文件也会自动生成 D .日志文件的内容只能重写,不能追加
学院 班级 学号 姓名 ------------------------------------装 -------------------------------------------------------------------订--------------------------------------线-----------------
4. 在以下的变量命名中,存在错误的是: D 。
A.%isOpen B.%item_234
C.$the_result D.$true
5. 设有以下代码行, 对于输出结果,以下说法正确的是:D。
$a="this is a regular string";
$b='this is a tagged string';
echo($a);
echo($b);
A.语句3和语句4的输出结果是一样的
B.语句4的输出虽和3不同,但也是一个字符串
C.语句4没有任何输出
D.语句4的输出是一个整数
6.torque脚本中的字符串操作符中,联接符是: A 。
A.@ B. TAB C. SPC D. NL
7. 以下关于数组的代码中,不被torque支持的是 D 。
A.$MyMultiArray[0_1] = 30;
B. $MyMultiArray[0,1] = 10;
C. $MyMultiArray[3] = 200;
D. $MyMultiArray[2][3] = 15;
8.在下面的代码中,存在编译错误的是: B 。
A. B.
$finetag = 1; $cloudy = 1;
if($finetag) if($finetag)
echo(“ok,let us go!”); echo(“ok,let us go!”);
else elseif($cloudy)
echo(“no,let us wait”); echo(“ok,let us go!”);
else
echo(“no,let us wait”);
C. D.
function add() $cloudy = 1;
{ if($finetag)
echo(“add1”); echo(“ok”);
} else
function add() echo(“no”);
{
echo(“add2”);
}
add();
9.以下代码的输出结果是C。
$va1=0;
for($val = 9;$val>=0;$val--)
{
$va1++;
}
echo($va1);
A. 0
B. 9
C. 10
D. 这是一个无限循环,没有输出
10.以下代码的输出结果是: D 。
while(1)
{
$var++;
$result = $var;
if($result ==17)break;
$var--;
}
echo($result);
A. 0
B. 17
C. 18
D. 这是一个无限循环,没有输出
11.以下代码的输出结果是:C。
datablock PlayerData(objdata)
{
shapeFile = "./player.dts";
};
function objdata::func(%var)
{
echo(%var);
}
objdata.func();
A. 没有输出
B. 0
C. objdata
D. 编译错误
12.若一个对象被命名为MyObject,则下列访问该对象的语句中,错误的是: D 。
A. MyObject.aproperty = 42;
B. "MyObject".aproperty = 42;
C. %objname = MyObject;
%objname.aproperty = 42;
D. %objname =42;
%objname.aproperty = 42;
13.设某客户端有一直接通讯函数CommandToServer('TellEveryone', %msg);其中,
第二个参数是一个字符串。服务器端有一响应函数
function ServerCmdTellEveryone(%client,%value){}
那么,%client的值是 B 。
A. 该客户端的GameConnection句柄
B. 一个索引号,表示该客户端在客户端组中的编号
C. %msg的值,即一个字符串
D. ‘TellEveryone’
14.如果要建立多人在线的服务器,以下代码正确的是 C 。
A. createServer("SinglePlayer", "control/data/maps/book_ch4.mis");
B. createServer("MultiPlayer", "control/data/maps/book_ch4.mis");
C. createServer("MultiPlayer",control/data/maps/book_ch4.mis);
D. createServer("SinglePlayer",control/data/maps/book_ch4.mis);
15.如果存在一个服务器端直接通讯函数调用:commandToClient(%client,'TellMess
age', %sender, %msg);那么对应的客户端响应函数的定义可以为。
A.
function clientCmdTellMessage(%sender, %msgString)
{}
B.