关于LPC MUD的关键字及其它重要术语
关于LPMUD的关键字及其它重要术语
前面的内容中对LPC语言和 lpmud 做了介绍,也完成了学习开发的准备工作,为了更好的学习,这里先对基本术语做一个说明。
- 关键字(Keywords):LPC语言中的关键词和C语言相比,变化比较大。具体对比如下:
| auto | - | 声明自动变量 |
| short | - | 声明短整型变量或函数 |
| int | 有 | 声明整型变量或函数 |
| long | - | 声明长整型变量或函数 |
| float | 有 | 声明浮点型变量或函数 |
| double | - | 声明双精度变量或函数 |
| char | - | 声明字符型变量或函数 |
| struct | 有 | 声明结构体变量或函数 |
| union | - | 声明共用数据类型 |
| enum | - | 声明枚举类型 |
| typedef | - | 用以给数据类型取别名 |
| const | - | 声明只读变量 |
| unsigned | - | 声明无符号类型变量或函数 |
| signed | - | 声明有符号类型变量或函数 |
| extern | - | 声明变量是在其他文件中定义的 |
| register | - | 声明寄存器变量 |
| static | 旧 | 声明静态变量(mudos有,fluffos兼容模式有) |
| volatile | - | 说明变量在程序执行中可被隐含地改变 |
| void | 有 | 声明函数无返回值或无参数,声明无类型指针 |
| if | 有 | 条件语句 |
| else | 有 | 条件语句否定分支(与 if 连用) |
| switch | 有 | 用于开关语句 |
| case | 有 | 开关语句分支 |
| for | 有 | 一种循环语句 |
| do | 有 | 循环语句的循环体 |
| while | 有 | 循环语句的循环条件 |
| goto | - | 无条件跳转语句 |
| continue | 有 | 结束当前循环,开始下一轮循环 |
| break | 有 | 跳出当前循环 |
| default | 有 | 开关语句中的“其他”分支 |
| sizeof | 注 | 计算数据类型长度(LPC语言中没有这个操作符,但有同名函数) |
| return | 有 | 子程序返回语句(可以带参数,也可不带参数)循环条件 |
| string | 声明字符串变量或函数 |
| object | 声明对象类型变量或函数 |
| buffer | 声明缓冲类型变量或函数 |
| function | 声明函数指针类型变量 |
| mapping | 声明映射类型变量或函数 |
| mixed | 声明混合类型变量或函数 |
| class | 声明结构体变量或函数 |
| varargs | 声明函数参数为可变长度(可省略) |
| efun | 调用外部函数 |
| inherit | 继承对象的方法 |
| private | 声明方法类型为私有 |
| protected | 声明方法类型为被保护的 |
| public | 声明方法类型为公开的(默认类型) |
| nomask | 声明方法类型为不可被重写的(类似其它面向对象语言中的final) |
| nosave | 声明变量类型为nosave |
关键字具体用法会在后续章节介绍,这里看不懂也没关系。
标识符(Identifier): 和C语言一样,表示变量用,区分大小写。
对象(object):在以前的资料中习惯叫
物件,在本教程中统一改成为对象,而且LPC本来就是面向对象开发。游戏中注意在LPMUD中只有对象和对象的复制,而不是类和对象。方法(method)和函数(function):和对象相关的函数全部称为方法,比如所有
apply函数, 在本教程中都称为apply方法,而和对象没有直接关系的函数仍然称之为函数,比如系统提供的efun。注:什么是apply什么是efun后续章节详细介绍。数组(array):游戏中的一种数据类型,以前的MUD资料中习惯叫
阵列,本教程和现代编程语言统一,称为数组。
关于LPC MUD的关键字及其它重要术语的更多相关文章
- Netty构建分布式消息队列(AvatarMQ)设计指南之架构篇
目前业界流行的分布式消息队列系统(或者可以叫做消息中间件)种类繁多,比如,基于Erlang的RabbitMQ.基于Java的ActiveMQ/Apache Kafka.基于C/C++的ZeroMQ等等 ...
- Sharepoint学习笔记—习题系列--70-576习题解析 -(Q112-Q115)
Question 112 You are designing a public-facing SharePoint 2010 Web site for an elementary school th ...
- 作为一个新手的Oracle(DBA)学习笔记【转】
一.Oracle的使用 1).启动 *DQL:数据查询语言 *DML:数据操作语言 *DDL:数据定义语言 DCL:数据控制语言 TPL:事务处理语言 CCL:指针控制语言 1.登录 Win+R—cm ...
- 收MUD巫师学徒,MUD开发,LPC语言开发
收MUD巫师学徒,MUD开发,LPC语言开发 对这个有兴趣的联系我,签订协议 Q 184377367
- MUD教程--巫师入门教程3
1. 指令格式为:edit <档名>,只加文件名,默认为当前目录,加here,表示编辑你当前所处的房间, 回车后即进入线上编辑系统. 2. 如果这是一个已经有的档案,你可以使用 z 或 Z ...
- LPC基础教程-Lpc程序和编程环境 mudos 加载原理
编程环境 通常我们所见到的Mud大多是LpMud.LpMuds使用Unix的指令和文件结构.如果你对Unix有所了解,那么LpMud中的一些指令和它的文件结构与普通的Unix基本一样.如果你从未使用过 ...
- 【转】MUD教程--巫师入门教程4
我们再次复习一下clean_up()函数返回1的含义,如果clean_up()函数返回1,则MUDOS在这一次的调用时不会做其的任何举动,但到了下一次想调用的时间里,还将再次调用这个对象的clean_ ...
- 【转】MUD教程--巫师入门教程2
简单的人物原则上只要有 set_name<名字> . combat_exp <经验>就行了,当然我们总得稍微多添一点了.inherit NPC;void create(){ s ...
- 【转】MUD教程--巫师入门教程1
<新巫师入门手册> 第一章:观念篇■ 内容提要:什么是巫师?怎样做一个巫师?如何做好一个巫师? 第二章:上手篇■ 内容提要:最简单的房间怎么写?NPC又怎么写?先看懂一些常用的参数? 第三 ...
随机推荐
- 获取ul li的value的值
<script> $(function(){ $(".month-list").find("li").click(function(){ var t ...
- Codeforces I. Inna and Nine(组合)
题目描述: Inna and Nine time limit per test 1 second memory limit per test 256 megabytes input standard ...
- JS数组扁平化(flat)
需求:多维数组=>一维数组 let ary = [1, [2, [3, [4, 5]]], 6]; let str = JSON.stringify(ary); 第0种处理:直接的调用 arr_ ...
- 格式化字符串——初级% 和format
print '{a},{b}'.format(a='hello',b='word') st='a %s %s x y z' st1=('b','c') print st%st1 print '%s % ...
- 深入理解JVM内存分配和常量池
一.虚拟机的构成 虚拟结主要由运行时数据区.执行引擎.类加载器三者构成: 而我们所说的JVM内存模型指的就是运行时数据区,下面具体分析一下运行时数据区: 二.运行时数据区组成和各个区域的作用 我们看到 ...
- c语言的可变参数实例
可变参数函数实现的步骤如下: 1.在函数中创建一个va_list类型变量 2.使用va_start对其进行初始化 3.使用va_arg访问参数值 4.使用va_end完成清理工作 接下来我们来实现一个 ...
- 洛谷 P1379 八数码难题 题解
我个人感觉就是一道bfs的变形,还是对bfs掌握不好的人有一定难度. 本题思路: 大体上用bfs搜,用map来去重,在这里只需要一个队列,因为需要较少步数达到的状态一定在步数较多的状态之前入队列. # ...
- bg/fg
将一个在后台暂停的命令,变成继续执行 (在后台执行). 一般ctrl+z就把前台命令调到了后台 将后台中的命令调至前台继续运行
- javascript之命名空间方法封装
详细代码如下: Object.prototype.namespace= function(name){ var parts = name.split('.'); var current = this; ...
- 如何打开 win 10 内置应用
gpedit.msc windows设置 安全设置 本地策略 安全选项 >> 用户账户控制:用于内置管理员账户的管理员批准模式:已启用