最近在阅读《游戏脚本高级编程》,这本书的内容涵盖很广,讲述了解释器在游戏领域的一个实现,很适合学习编译原理,虚拟机设计。如果有同学看《龙书,虎书》等看的云里雾里,可以先以此书接下地气,不至于丧失了信心,以及继续学下去的动力。

好回到命令脚本。

大家有没有想过同样是文本,同样是由主程序读取,然后按文本文件的逻辑执行,命令脚本与配置文件的差别?

命令脚本是不涉及到变量,循环,条件逻辑的脚本。我们以一个创建窗口后移动窗口,在闪烁窗口的功能来举例,通常格式内容如下:

script_create_windows(0,0)
script_move_windows(12,34)
script_windows_hide(1)
script_sleep(1)
script_windows_hide(0)

或者是这样:

script_create_windows 0 0
script_move_windows 12 34
script_windows_hide 1
script_sleep 1
script_windows_hide 0

配置文件一般是:

windows_first_pos_x = 0
windows_first_pos_y = 0windows_move_pos_x = 12
windows_move_pos_y = 34
sleep_time = 1
windows_flash = 1

两者同样没有 高级语言中的 本地遍历,也没有逻辑。

其实他们的主要差别就在于 命令脚本中 的命令对应的是主程序里面的一个个函数,或者你可以理解成API , 命令脚本按照顺序执行 各个API;而配置文件则是没有顺序的,逻辑的执行顺序被包含在主程序中,配置文件只是单纯的键值对,改变配置文件每行的顺序,不会改变程序的行为。(当然这里排除那些高级配置文件,他们也支持变量,循环,条件逻辑,这种配置文件其实就是脚本)。

PS:回想起当时做绿色征途时,由于对Lua的粗浅掌握,把Lua就当成了命令脚本,然后VC编写“粘合函数”,也能做出个自动升级到70级的 辅助程序。缺点自然是一大堆,例如脚本必须从新手村开始,如果中途游戏崩了,就不支持从脚本中间运行,因为一个是没有编写太多获取人物任务完成情况等API,当时也不会Lua的 流程控制,条件逻辑的编写。

1《游戏脚本高级编程》之命令脚本的随想相关推荐

  1. linux gdb 脚本,如何写gdb命令脚本

    作为UNIX/Linux下使用广泛的调试器,gdb不仅提供了丰富的命令,还引入了对脚本的支持:一种是对已存在的脚本语言支持,比如python,用户可以直接书写python脚本,由gdb调用python ...

  2. 【shell脚本开发技术】linux中shell script脚本开发编程常用命令与脚本速记指南

    shell script #!/bin/bash # do something run shell script sh script.shorchmod a+x script.sh ./script. ...

  3. HTML5移动游戏开发高级编程 2:从玩具到游戏

    2.1 引言 添加一些敌方飞船,并设置各种游戏元素,这样才能让敌我双方交战 2.2 创建GameBoard对象 第一步是添加一种机制来同时处理页面上的一群精灵. 尽管Game对象提供了一种切换面板进出 ...

  4. linux脚本定时运行脚本,linux定时运行命令脚本——crontab

    react路由深度解析 先看一段代码能否秒懂很重要 这是app.js  全局js的入口 import React from 'react' import { render } from 'react- ...

  5. linux 运维高级脚本生成器,Linux运维系列,Shell高级脚本自动化编程实战

    课程文件目录: Linux自动化运维系列 Shell高级脚本自动化编程实战 [6.1G] ┣━━01.Shell基础概述 [315.1M] ┃ ┣━━1-1 Shell脚本体系概述.mp4 [154. ...

  6. (shell脚本编程)linux如何利用脚本执行多条命令以及linux如何执行定时任务

    文章目录 shell脚本编程 条件语句 脚本执行多条命令 执行定时任务 本文着重于提高我们的生产力,所以将这几个作为了一个专题. shell脚本编程 脚本中不同语句用分号隔开,和c语言一样. for, ...

  7. cmd脚本编程基础命令

    cmd脚本编程基础命令 1.外部命令 调用system32/64 目录下的应用程序. 2.内部命令 2.1. 显示.设置或删除环境变量. command des set /? 查询set用法 set ...

  8. Perl/CGI脚本语言编程学习资料及开发工具下载大全

    Practical Extraction and Report Language Perl 最初的设计者为拉里·沃尔(Larry Wall),它于1987年12月18日发表.Perl借取了C.sed. ...

  9. lua游戏脚本实例源码_Lua脚本引擎教程(六):饥荒Lua脚本系统

    目录 饥荒的Lua逻辑层架构 迁移到Unity中使用Lua Lua擅长什么? 饥荒的Lua逻辑层架构 饥荒的整个逻辑层都是用Lua写的,并且把代码和艺术资产都开放给玩家,主要是供玩家中的mod制作者学 ...

  10. 视频教程-Kali Linux渗透测试全程课与脚本语言编程系列课程-渗透测试

    Kali Linux渗透测试全程课与脚本语言编程系列课程 本人有多年的服务器高级运维与开发经验,擅长计算机与服务器攻防及网络攻防技术!对网络安全领域有持续的关注和研究! 林晓炜 ¥899.00 立即订 ...

最新文章

  1. Jupyter Notebook各种使用方法
  2. 【翻译】Programming Ruby——正则表达式
  3. Linux下shell颜色配置
  4. “机器换人”没什么可抱怨
  5. 解决sublime3的标签页乱码(小方块)
  6. 智源-知乎联合发布大规模用户关系数据集,同步开启10万元竞赛
  7. 计算机专业推荐表自我介绍,就业推荐表-自我介绍
  8. Java 网关-Servlet Gateway
  9. python mutilprocessing多进程编程
  10. CSharpGL(29)初步封装Texture和Framebuffer
  11. linux内核设计与实现 epub_Epoll学习服务器的简单实现-Linux内核Epoll结构
  12. 最小连通-(代码、分析、汇编)
  13. lua 字符串分割_Lua函数式编程(中)
  14. cookie 和 token 都存放在 header 中,为什么不会劫持 token?____token和cookie的区别
  15. 关于python的垃圾回收机制_Python的垃圾回收机制
  16. NodeJs中使用jQuery?
  17. tensorflow:图(Graph)的核心数据结构与通用函数(Utility function)
  18. ubuntu 16.04 安装和卸载postman
  19. 国内外优秀的计算机视觉团队汇总
  20. 中国电信计算机通讯类笔试试题,中国电信技术岗位笔试题.pdf

热门文章

  1. 【效率】7个免费的PDF文献资源网站,再也不用为搜索文献发愁了!
  2. kuangbin最短路 模板
  3. 高斯克吕格投影中有关带号与经度的关系
  4. 【SBUS,串口DMA】用STM32F407的串口DMA读取SBUS接收机信号
  5. tomcat日志中文乱码问题
  6. Iptables 指南 1.1.19
  7. 熵权法求权重的Matlab实现
  8. iWebOffice
  9. java pkcs8_java中公钥,私钥,pkcs1格式,pkcs8格式互转
  10. 网络管理之SNMP协议