问题标签 [mud]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1240 浏览

c++ - 定义中的类变量?

这可能是一个愚蠢的问题。我正在尝试制作文字泥。我需要每个 Room 类包含其他 Room 类,当尝试移动到它们或从它们获取信息时可以引用这些类。但是,我不能这样做,因为我显然不能在其定义中声明一个类。那么,我该怎么做呢?当我说我做不到时,这就是我的意思:

0 投票
1 回答
97 浏览

telnet - 如何通过网络共享控制台程序?

我正在寻找某种用于 linux 的 TELNET 守护程序来共享单个应用程序。

我写了一个 BBS/MUD,但没有网络例程,我正在寻找一种“共享”应用程序的方法,就像 Citrix XenApp 适用于 GUI/Windows 应用程序一样。我记得我曾经使用过这样的服务器,用于控制台模式应用程序,但我不记得名称/互联网地址。

0 投票
3 回答
2591 浏览

c++ - 如何在 C++ 中实现简单的基于刻度的引擎?

我正在写一个文本游戏,我需要一个简单的战斗系统,就像在 MUD 中一样,你发出命令,偶尔会发生“滴答”,当所有这些命令执行时,玩家和怪物会造成伤害,各种不同的东西发生。我如何实现这个概念?我考虑过创建一个保存最后滴答时间的变量,以及一个仅将事件放在堆栈上的函数,当那个时间是 (time +x) 时,它们会同时执行。有没有更简单或更干净的变体来做到这一点?

那可能的语法是什么?

0 投票
1 回答
561 浏览

c# - 这段代码是如何工作的?(一个关于 MUD 服务器 baffle-ry 的故事)

我在这个网站上找到了一些建立多线程聊天服务器的示例代码,旨在将其扩展为简单的 MUD:http: //bytes.com/topic/c-sharp/answers/275416-c-mud-远程登录服务器

线程很老,所以我不能在那里问任何问题,所以我想我会求助于 stackoverflow 的好心人来帮助向我解释一些事情。

在开始编写 MUD 之前,我想了解上述代码(我打算将其用作入门的基础)是如何工作的,因此如果我需要以不同的方式工作,我可以修改基本架构。但我不明白的是,它如何通过每个 Connection 启动新线程,每个 Connection 实例化它自己的 ArrayList 的连接,它只添加自己,但仍与其他用户通信。

我假设这是对线程如何工作或类似的东西缺乏基本的理解,但无论我盯着该代码多久,我都无法弄清楚。

提前致谢,HJD

0 投票
3 回答
122 浏览

c++ - 担心处理对 accept() 的错误调用

我正在为个人学习目的编写一个MUD服务器,我很高兴地设法将套接字的东西打包成几个类,并且一切似乎都正常工作;服务器侦听并接受连接,当前从客户端获取文本并将其发送回。

问题是我不太确定如何处理返回 WSAEWOULDBLOCK 或有效套接字以外的其他内容的 accept() 调用。我是否只是将新套接字重置为 0 并返回,可能会出现一条错误消息,说明发生了不好的事情?这就是我现在正在做的事情,如果它发生 20 次,我将关闭服务器。

TopSocket 和 NewSocket 属于 SOCKET 类型,并在文件范围内声明。SocketList 是 MUDSocket* 的 std::list,而 MUDControlSocket 作为单例从 MUDSocket 派生。

如果您需要更多信息,请告诉我,并感谢您的帮助。

0 投票
2 回答
733 浏览

java - 管理基于文本的客户端-服务器连接的最佳方式是什么?

我正在寻找编写一个基于客户端-服务器的小型文本游戏,它可以处理多个客户端连接并持续影响游戏状态。我想知道处理多个连接的最佳方法是什么,以便命令按照它们到达服务器的顺序进行处理。

理想情况下,我不希望利用多线程,至少在命令处理级别。我可以接受每个客户端都有一个单独的线程(以便在每个线程上都有阻塞 IO),只要我之后可以在单个线程中统一处理。

由于客户端和服务器之间的唯一通信将是文本,我不确定如何最好地设置通信。如果我选择阻塞 IO,我将如何让处理在单个线程中发生?

或者,如果我选择非阻塞 IO 并使用选择器来查询客户端何时写入服务器,如何在不使用设置大小的 ByteBuffer 的情况下读取未知/无限长度的字符串?非阻塞也有利于将处理保持在单个线程中,因为它可以在客户端连接发送新数据时读取它们。但是,当我尝试使用 read/writeUTF 来实现它时,我遇到了 IllegalBlockingModeException 呵呵。

对于如何以我未提及的方式执行此操作的问题或建议的任何答案将不胜感激!我对客户端和服务器还很陌生,所以我不知道 java.io 还是 java.nio 最合适。

抱歉这个令人费解的问题。我想我自己逃跑了。

0 投票
1 回答
2255 浏览

language-agnostic - 根据供需调整价格的简单公式

我正在与商人 NPC 一起设计 rpg/mud 游戏,我希望他们的价格根据供需动态调整。

我已经想通了:

  • 我不需要一个复杂的、“现实的”系统,只需要一个基于一些统计数据的简单乘数
  • 我希望该算法能够抵抗滥用和玩家群体的低规模,因此乘数可能不应该是动态生成的,而是与其他商家数据一起存储并每隔几天更新一次
  • 因此所需的统计数据量应该很小——会有很多NPC,每个NPC都有自己的物品清单、价格和统计数据——这样它就可以随着游戏世界的发展而迅速扩大规模。

问题是:哪种类型的公式最适合这种乘数?

免责声明:

  • 这似乎与供应需求建模有关,但我不需要图书馆,只是一些关于如何自己做的提示。
  • 我知道可能已经有一个模拟这个问题的经济学模型,但我从未学过经济学,所以我什至不知道我应该寻找什么。
  • 不,这不是家庭作业,但它可能听起来像一个,所以我要添加标签:P
0 投票
6 回答
7589 浏览

parsing - 自定义编程语言:如何?

希望这个问题不会太复杂或模糊。我知道我想在我的脑海里,所以交叉手指我可以在文本中理解这一点。

我正在寻找一种具有我自己的规范语法的语言,所以我假设我需要自己创建一个。在过去的几天里,我一直在阅读有关编译器、词法分析器、解析器、汇编语言、虚拟机等方面的内容,并且我正在努力根据实现目标所需的内容来整理所有内容(文件附在底部一些规格)。从本质上讲,我对具体需要使用哪些工具来前进感到非常困惑。

一点背景知识:制作的语言有望用于实现基于文本的多人 MUD 服务器。因此,它需要简单的内置功能来创建/维护客户端 TCP/IP 连接、非阻塞 IO、通过 SQL 或类似方式访问数据库。我也对安全性感兴趣,因为我不希望为这种语言编写的代码在没有专业软件的情况下被普通公众窃取和使用。这可能意味着它应该编译为目标代码

那么,创建符合这些规范的语言的最佳选择是什么

我的结论如下。这只是我最有根据的猜测,所以如果你认为我走错了方向,请与我竞争。我主要只是为了看看当专家来发表评论时我有多困惑。

  1. 为了代码安全,我应该想要一种可以在虚拟机中编译和运行的语言。如果我这样做,我将有很多工作要做,不是吗?自己写一个虚拟机,汇编语言在底层,然后在高层,代码库自己处理IO,sockets等,而不是使用现有的模块?

  2. 我只是很困惑。

  3. 我不确定我是否有道理。

如果有人可以让我的大脑平静一点,我将由衷地感激!或者,如果我偏离了路线并且有更简单的方法可以做到这一点,请告诉我!

0 投票
3 回答
3387 浏览

c - MUD 编程语言

我已经断断续续地玩 MUD 游戏一年多了。我在互联网上搜寻最好的计算机语言来学习开发自己的语言。到目前为止,我只想到了 C。C 是学习这个应用程序的最佳语言,还是有更好的语言?

我知道 SMAUG 是用 C 语言编写的,但那是几年前的事了。我一般是编程新手,并且对 Python 有一些经验。我一直在玩 Aardwolf,它允许它的用户(在一定级别之后)创建自己的区域。用户使用 Lua 执行此操作。这对我来说很有趣,因为 Lua 是一种“脚本”语言。所以这引出了另一个问题——你是用 C(或其他)构建游戏的格式,但用脚本创建世界吗?

此外,这将是一个只有我的朋友的游戏,因此需要直接连接,因为我不会在线托管它。所以,再一次,我想潜入这个世界,把它当作一个宠物项目来帮助我学习一门编程语言......但是哪个是最好的,也能让我在未来扩展它

PS - 有任何我可以查看和研究的开源代码吗?

0 投票
1 回答
7216 浏览

c++ - 如何制作 .mak 文件?

我有 1999 年创建的项目的 src(实际上是 MUD SoG '99)。有文件 SOG.MAK,但我找不到任何关于如何制作这个项目的数据。有人可以给我一个提示如何制作吗?

项目的src链接:http ://www.ianshirm.net/index.php?option=com_remository&Itemid=53&func=fileinfo&id=1370

SOG.MAK 内容如下: