- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center寻求指导。
8年前关闭。
(GridWorld 作为 Collegeboard 的 AP 考试案例研究的东西)
所以,几年来我一直在空闲时间开发这款游戏,而且进展非常顺利。我有一个不错的 lil'stick 角色,它在网格中跑来跑去,捡起元素并与怪物战斗。现在,我想我已经准备好将它提升到一个新的水平(无论如何我都有尽可能多的选择,因为我需要为我的网络类(class)制作一个项目,哈哈......),而且我我对如何进步感到有些困惑。
我过去使用 ServerSocket 制作了一些程序,其中我有一个服务器正在运行,并且几个客户端可以连接到它并接收消息,但它们都是简单的文本程序,不会交换超过几个字符串。套接字是我正在考虑使用的,但我不知道如何设置它......
现在,当 GridWorld 运行时,它会自动弹出一个看起来像 JFrame 的东西,其中包含网格和其中的所有参与者。在包含所有代码的主源文件中,呃,“引擎”,如果你愿意的话,基本上有两个巨大的方法:step(),它控制每单位时间发生的事情,以及 keyPressed(),它控制用户按下按键时发生的情况。现在,我在想 step() 肯定需要在服务器端,而 keyPressed() 应该在客户端以及窗口(当然——否则用户将如何看到他们的内容)重玩?)这个想法是让控制所有 NPC 的 Action 和游戏计算的主游戏在服务器上只运行一次,并且多个客户端能够连接到它,并且每个客户端都有自己的角色游戏(基本上就像一个mmorpg)。
但是就像,我将如何拆分它? (或者如果这甚至是正确的方法?)我什至不确定如何在服务器和客户端之间来回传递数据 - 对于我提到的简单文本程序,我一直使用 PrintWriter 和 BufferedReader。我发现 PrintWriter 确实有一个 print() 方法可以接受任何对象,但是 BufferedReader 将如何接收它呢?它没有任何可以读取对象的方法。
所以基本上,我想知道服务器应该做什么、客户端应该做什么、我应该使用哪些库以及将某些功能放在哪里的所有细节。
最佳答案
根据您目前的设计,您可能想要使用 RMI 之类的东西。用于客户端和服务器之间的通信。这将使您能够专注于如何在客户端和服务器之间调用方法,而不必过多担心管理网络通信。
RMI 可能不是您想要长期使用的,但它可能是让您的客户端启动并运行的正确下一步。
至于流 - PrintWriter.print(Object) 只是写出对象的 String 表示形式 - 即它调用 toString() -,因此无法将其转回对象。
为此,您需要 ObjectOutputStream 和 Java 序列化。但是 RMI 会为您做到这一点,而您无需深入了解细节。
关于java - 如何将网络添加到我在 GridWorld 中制作的游戏中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7869719/
就像标题一样。我想知道是否可以在后台播放歌曲,如果可以,代码如何实现?我无休止地搜索Google无济于事。任何帮助,将不胜感激。 最佳答案 尝试使用Clip类: http://docs.oracle.
在我的最终项目的网格世界案例研究中,我正在制作一个游戏。在游戏中,如果玩家单击“W”键,则会调用 shiftUp() 方法,这会使某个实例的所有其他参与者向下移动,以产生玩家移动的错觉。这不是该方法的
你好,我正在制作一个前往最近宝箱的 PirateShip Actor。使用箱子的ArrayList,我如何在网格上找到离我的海盗船最近的箱子。预先感谢您。 最佳答案 如果您有海盗船的位置和箱子的数组列
我正在尝试制作一个“GrowingFlower”,它只是将花朵添加到随机位置。添加的花朵数量基于随机数。当我在点击 Action 6 次后运行“花”时,它会像预期的那样死掉,但它不会添加任何花,所以我
我正在尝试创建一个代码,如果该代码打开,则将 Actor 移动到随机位置。但是,我在处理此行导致的错误时遇到了困难。 if (null == get(loc)) 基本上我认为这条线会检查该位置是否开放
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我想将 gridworld 中的网格从默认的 10x10 调整为我想要的任何大小。我一直在用 15x15 测试它,看看它是否有效。但我似乎无法弄清楚这一点,互联网上的其他消息来源说我正在做的事情应该有
尝试使用 Gridworld 制作康威的生命游戏。一切都编译,但当我尝试采取“步骤”时,我不断收到错误 Exception in thread "AWT-EventQueue-0" java.lang
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
嗨,我正在与 Gridworld 合作。我有一个名为 Cow 的类,它是另一个子类 Animal 的子类。 此类在网格中移动牛的图像。对于奶牛来说,每一步都是一年,并且奶牛每走一步,就有 0.1666
我正在尝试使用 GridWorld(来自 AP 计算机科学类(class))来制作游戏,但在使用多个网格时遇到了问题。 World 的 setGrid 方法似乎不起作用。我的印象是,您可以有多个网格对
我在运行 gridworld 时遇到问题。GUI 运行正确,但存在这些恼人的错误: Dec 3 19:44:01 MyName-MacBook-Pro.local java[4085] : CGCo
我想更改 GridWorld GUI 的 DefaultDisplay 类,以便我可以在运行期间更改 Actor 的图像,并且由于我使用的是代码的 jar 文件,所以我正在创建一个子类DefaultD
用于创建 UnboundedGrid 并显示它: ActorWorld world = new ActorWorld(new UnboundedGrid()); world.show(); 用于创建
我在尝试找到一种方法来检查 BoundedGrid 中所有对角线是否有 4 个“圆盘”的字符串时遇到问题,并且我现在尝试的解决方案根本不起作用。我的尝试是在 getWinner() 方法中。有人有解决
我尝试熟悉 Q-learning 和深度神经网络,目前尝试实现 Playing Atari with Deep Reinforcement Learning . 为了测试我的实现并尝试使用它,我坚持尝
我是一名优秀的程序员,十分优秀!