1《游戏脚本高级编程》之命令脚本的随想
最近在阅读《游戏脚本高级编程》,这本书的内容涵盖很广,讲述了解释器在游戏领域的一个实现,很适合学习编译原理,虚拟机设计。如果有同学看《龙书,虎书》等看的云里雾里,可以先以此书接下地气,不至于丧失了信心,以及继续学下去的动力。
好回到命令脚本。
大家有没有想过同样是文本,同样是由主程序读取,然后按文本文件的逻辑执行,命令脚本与配置文件的差别?
命令脚本是不涉及到变量,循环,条件逻辑的脚本。我们以一个创建窗口后移动窗口,在闪烁窗口的功能来举例,通常格式内容如下:
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《游戏脚本高级编程》之命令脚本的随想相关推荐
- linux gdb 脚本,如何写gdb命令脚本
作为UNIX/Linux下使用广泛的调试器,gdb不仅提供了丰富的命令,还引入了对脚本的支持:一种是对已存在的脚本语言支持,比如python,用户可以直接书写python脚本,由gdb调用python ...
- 【shell脚本开发技术】linux中shell script脚本开发编程常用命令与脚本速记指南
shell script #!/bin/bash # do something run shell script sh script.shorchmod a+x script.sh ./script. ...
- HTML5移动游戏开发高级编程 2:从玩具到游戏
2.1 引言 添加一些敌方飞船,并设置各种游戏元素,这样才能让敌我双方交战 2.2 创建GameBoard对象 第一步是添加一种机制来同时处理页面上的一群精灵. 尽管Game对象提供了一种切换面板进出 ...
- linux脚本定时运行脚本,linux定时运行命令脚本——crontab
react路由深度解析 先看一段代码能否秒懂很重要 这是app.js 全局js的入口 import React from 'react' import { render } from 'react- ...
- linux 运维高级脚本生成器,Linux运维系列,Shell高级脚本自动化编程实战
课程文件目录: Linux自动化运维系列 Shell高级脚本自动化编程实战 [6.1G] ┣━━01.Shell基础概述 [315.1M] ┃ ┣━━1-1 Shell脚本体系概述.mp4 [154. ...
- (shell脚本编程)linux如何利用脚本执行多条命令以及linux如何执行定时任务
文章目录 shell脚本编程 条件语句 脚本执行多条命令 执行定时任务 本文着重于提高我们的生产力,所以将这几个作为了一个专题. shell脚本编程 脚本中不同语句用分号隔开,和c语言一样. for, ...
- cmd脚本编程基础命令
cmd脚本编程基础命令 1.外部命令 调用system32/64 目录下的应用程序. 2.内部命令 2.1. 显示.设置或删除环境变量. command des set /? 查询set用法 set ...
- Perl/CGI脚本语言编程学习资料及开发工具下载大全
Practical Extraction and Report Language Perl 最初的设计者为拉里·沃尔(Larry Wall),它于1987年12月18日发表.Perl借取了C.sed. ...
- lua游戏脚本实例源码_Lua脚本引擎教程(六):饥荒Lua脚本系统
目录 饥荒的Lua逻辑层架构 迁移到Unity中使用Lua Lua擅长什么? 饥荒的Lua逻辑层架构 饥荒的整个逻辑层都是用Lua写的,并且把代码和艺术资产都开放给玩家,主要是供玩家中的mod制作者学 ...
- 视频教程-Kali Linux渗透测试全程课与脚本语言编程系列课程-渗透测试
Kali Linux渗透测试全程课与脚本语言编程系列课程 本人有多年的服务器高级运维与开发经验,擅长计算机与服务器攻防及网络攻防技术!对网络安全领域有持续的关注和研究! 林晓炜 ¥899.00 立即订 ...
最新文章
- Jupyter Notebook各种使用方法
- 【翻译】Programming Ruby——正则表达式
- Linux下shell颜色配置
- “机器换人”没什么可抱怨
- 解决sublime3的标签页乱码(小方块)
- 智源-知乎联合发布大规模用户关系数据集,同步开启10万元竞赛
- 计算机专业推荐表自我介绍,就业推荐表-自我介绍
- Java 网关-Servlet Gateway
- python mutilprocessing多进程编程
- CSharpGL(29)初步封装Texture和Framebuffer
- linux内核设计与实现 epub_Epoll学习服务器的简单实现-Linux内核Epoll结构
- 最小连通-(代码、分析、汇编)
- lua 字符串分割_Lua函数式编程(中)
- cookie 和 token 都存放在 header 中,为什么不会劫持 token?____token和cookie的区别
- 关于python的垃圾回收机制_Python的垃圾回收机制
- NodeJs中使用jQuery?
- tensorflow:图(Graph)的核心数据结构与通用函数(Utility function)
- ubuntu 16.04 安装和卸载postman
- 国内外优秀的计算机视觉团队汇总
- 中国电信计算机通讯类笔试试题,中国电信技术岗位笔试题.pdf