深入探索VBScript与多语言脚本融合:打造游戏控制台
1. 开篇:VBScript基础与挑战拓展
在VBScript的编程世界里,我们不仅要掌握内置对象的使用,还能创造具有独特属性和方法的自定义对象,触发与之相关的事件。同时,借助RegExp对象,我们能进行复杂的解析操作,甚至还能开发出多人VBScript游戏。
对于已有的井字棋游戏,我们可以进行多方面的优化:
- 增添帮助选项,让玩家能在游戏过程中获得指引。
- 若有自己的网站,可修改游戏结束时的闪屏界面,展示网站地址。
- 开发单人对战电脑的版本,提升游戏的趣味性。
- 加入记录游戏总场次和每位玩家获胜场次的逻辑,在最后一场游戏结束时显示这些信息。
2. 多语言融合:Windows Script Files的魅力
Windows Script Host(WSH)支持多种脚本语言,如VBScript、JScript、Perl、Python和REXX等。其中,VBScript和JScript由Microsoft自动配备,其他语言则由第三方软件开发者提供支持。WSH的强大之处在于,它允许我们将不同的脚本语言组合到一个名为Windows Script File(.wsf)的文件中。
Extensible Markup Language(XML)在这个过程中起到了关键的粘合作用。它用于指定Windows Script Files的组成部分,标记脚本嵌入的位置。XML具有严格的格式要求,大小写敏感,多数标签需成对出现,否则会导致错误。建议使用小写拼写标签元素,以适应未来可能的变化。
以下是一些常用的WSH支持的XML标签及其描述:
| 标签 | 描述 |
| ---- | ---- |
| <?job ?> | 启用或禁用指定作业的错误处理和调试 |
| <?xml ?> | 指定Windows Script File的XML级别 |
|
| 在Windows Script Files中嵌入注释 |
|
| 标识Windows Script File中脚本的开始和结束 |
|
| 在Windows Script File中标识作业的开始和结束 |
|
| 允许在单个Windows Script File中定义多个作业 |
|
| 定义可被Windows Script File中脚本引用的数据(常量) |
下面为大家详细介绍这些标签的使用方法:
-
<?job ?>标签
:可用于启用或禁用Windows Script Files中的错误报告和调试功能。语法如下:
<?job error="flag" debug="flag" ?>
其中,error和debug为布尔值,默认都为false。设置error=”true”开启错误报告,设置debug=”true”开启调试功能。例如:
<job>
<?job error="true" debug="true"?>
<script language="VBScript">
MsgBox "Error handling and debugging have been enabled. "
</script>
</job>
- <?xml ?>标签 :用于指定支持Windows Script File所需的XML版本。语法如下:
<?xml version="version" standalone="DTDflag" ?>
当前版本为1.0,standalone属性在WSH中暂不支持,可设为yes。例如:
<?xml version="1.0" standalone="yes" ?>
<job>
<?job error="true" debug="true"?>
<script language="VBScript">
MsgBox "Error handling and debugging have been enabled. "
</script>
</job>
- 和 标签 :用于在Windows Script Files中添加注释。语法如下:
<comment> Comment Text </comment>
例如:
<?xml version="1.0" standalone="yes" ?>
<job>
<?job error="true" debug="true"?>
<comment>The following VBScript displays an information message</comment>
<script language="VBScript">
MsgBox "Error handling and debugging have been enabled File."
</script>
</job>
- 和 标签 :是嵌入脚本到Windows Script File时的根标签对。语法如下:
<job [id=JobID]>
...
</job>
当只有一个作业时,id参数可省略;若有多个作业,则每个作业需有唯一的ID。例如:
<?xml version="1.0" standalone="yes" ?>
<job>
<?job error="true" debug="true"?>
<comment>The following VBScript displays an information message</comment>
<script language="VBScript">
MsgBox "VBScript has displayed this message."
</script>
<comment>The following JScript displays an information message</comment>
<script language="JScript">
WScript.Echo("JScript has displayed this message.");
</script>
</job>
- 和 标签 :用于在Windows Script File中定义多个作业。语法如下:
<package>
...
</package>
例如:
<?xml version="1.0" standalone="yes" ?>
<package>
<comment>The following job contains a VBScript and a JScript</comment>
<job id="job1">
<?job error="true" debug="true"?>
<comment>The following VBScript displays an information message</comment>
<script language="VBScript">
MsgBox "A VBScript has displayed this message."
</script>
<comment>The following JScript displays an information message</comment>
<script language="VBScript">
WScript.Echo "A JScript has displayed this message."
</script>
</job>
<comment>The following job contains one VBScript</comment>
<job id="job2">
<script language="VBScript">
MsgBox "A second VBScript has displayed this message."
</script>
</job>
</package>
- 和 标签 :可在Windows Script Files中定义常量,供同一作业内的所有脚本访问。语法如下:
<resource id="resourceID"> ...
</resource>
例如:
<job>
<resource id="cTitleBarMsg">TestScript.wsh</resource>
<script language="VBScript">
Set objWshShl = WScript.CreateObject("WScript.Shell")
MsgBox "Greetings", , getResource("cTitleBarMsg")
</script>
</job>
- 标签 :用于标记Windows Script File中脚本的开始和结束。语法如下:
<script language="language" [src="externalscript"]>
...
</script>
language指定脚本语言,src可指定外部脚本的引用。例如:
<job>
<script language="VBScript">
MsgBox "This message is being displayed by an embedded VBScript"
</script>
<script language="VBScript" src="TestScript.vbs" />
</job>
3. 执行Windows Script Files
运行Windows Script File有两种常见方式:
- 直接双击文件,此时会运行文件中定义的第一个作业。
- 从Windows命令提示符运行脚本,并指定作业的ID。例如,对于包含两个作业的Windows Script File,若作业ID分别为job1和job2,运行第一个作业可使用命令:
cscript TestWsfScript.wsf
运行job2作业可使用命令:
wscript TestWsfScript.wsf //job:job2
4. 项目实战:VBScript Game Console
VBScript Game Console项目是一个结合了VBScript和JScript的Windows Script File,它能动态显示VBScript游戏列表,让用户选择要玩的游戏。该项目的创建分为四个阶段:
graph LR
A[创建WSF并添加XML结构] --> B[编写第一个JScript显示初始闪屏]
B --> C[设计VBScript控制游戏逻辑]
C --> D[编写第二个JScript显示关闭闪屏]
-
阶段1:使用XML构建脚本结构
创建一个扩展名为.wsf的新文件,添加以下XML标签来定义脚本结构:
<package>
<comment>This .WSF file builds a VBScript game console</comment>
<job>
<resource id="cTitlebarMsg">VBScript Game Console</resource>
<script language="JScript"> </script>
<script language="VBScript"> </script>
<script language="JScript"> </script>
<script language="JScript"> </script>
</job>
</package>
这里的 标签虽非必需,但为后续扩展预留了空间。 标签用于注释, <job> 标签定义作业, <script> </script> </job>
超级会员免费看
1176

被折叠的 条评论
为什么被折叠?



