关于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又怎么写?先看懂一些常用的参数? 第三 ...
随机推荐
- C++(四十九) — set、multiset 容器的基本操作
1.set的基础知识 set的特性是:所有元素都会根据元素的键值自动排序,set的元素不像map那样可以同时拥有实值(value)和键值(key),set元素的键值就是实值,实值就是键值.set不允 ...
- myslq数据库用union all查询出现 #1271 - Illegal mix of collations for operation 'UNION'
出现 #1271 - Illegal mix of collations for operation 'UNION' 的原因是两个字符编码不匹配造成的. 我遇到的是 utf8_general_ci ...
- drf框架(2)
drf框架 """接口: 接口规范: drf的生命周期: 序列化组件: 三大认证:过滤,删选,排序组件 请求,响应,解析,异常 jwt:json web tooken & ...
- AVL树的旋转
平衡二叉树在进行插入操作的时候可能出现不平衡的情况,AVL树即是一种自平衡的二叉树,它通过旋转不平衡的节点来使二叉树重新保持平衡,并且查找.插入和删除操作在平均和最坏情况下时间复杂度都是O(log n ...
- Import declarations are not supported by current JavaScript version
原因为:不支持当前的js版本,在perference中进行设置javascript的版本即可 注意:在perference中进行更改,而不是defeaut perference,快捷键操作为:comm ...
- AtCoder Beginner Contest 125 解题报告
那天晚上刚好有事就咕了. 最近的那一场E题还不会写.F题全场又只过了三个?留坑吧... A - Biscuit Generator #include <cstdio> using name ...
- Java web开发——文件的上传和下载
一. 功能性需求与非功能性需求 要求操作便利,一次选择多个文件和文件夹进行上传:支持PC端全平台操作系统,Windows,Linux,Mac 支持文件和文件夹的批量下载,断点续传.刷新页面后继续传输. ...
- Python面向对象 -- slots, @property、多重继承MixIn、定制类(str, iter, getitem, getattr, call, callable函数,可调用对象)、元类(type, metaclass)
面向对象设计中最基础的3个概念:数据封装.继承和多态 动态给class增加功能 正常情况下,当定义了一个class,然后创建了一个class的实例后,可以在程序运行的过程中给该实例绑定任何属性和方法, ...
- openjdk k8s port-forward 连接容器jmx服务
jmx 是java 自带的,如果需要使用我们只需要添加对应的配置即可,以下演示docker 集成jmx 使用kompose 生成k8s 的部署文件,使用port-forward 进行连接,所以java ...
- puppeteer 试用
puppeteer 是chrome 团队提供的Headless chrome node api 库,我们可以用来方便的进行chrome 操作,同时 可以做好多事情(web 爬虫,生成pdf,截图... ...