- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我现在正在上 Java 类(class),我们应该制作一个基于文本的游戏。我们游戏中的选项之一是允许玩家在 3 种船型之间进行选择;小型、中型和大型。根据他们的选择,他们将能够选择乘船旅行的人数。小型最多允许 3 人,中型最多 6 人,大型最多 9 人。一旦他们做出选择,他们就可以为每位船员输入姓名并选择研究专业。以前,我们将它们设置为单独的菜单(选择船舶、船员规模、研究规范和名称),但我开始认为在同一菜单中选择船员规模、名称和研究规范会更容易。
也就是说,我们现在正在处理数组/ArrayLists,我们应该使用数组来列出游戏中的角色(NPC)。因此,我需要弄清楚如何根据选择的船员人数(1 到 9 之间)创建一个数组,然后提示输入姓名,然后让他们从研究规范列表中进行选择。他们将输入一个字母供他们选择,但数组中应包含研究规范的全名。我在另一篇文章中找到了一些代码,我认为在这种情况下可能会有帮助,但我认为它只是触及表面。任何帮助将不胜感激。
public class Name {
public static void main(String[] args) {
ArrayList<String> name = new ArrayList<String>();
ArrayList<(how do I tell it to select a character option here?)> researchSpec = new ArrayList<(selected option)>();
Scanner sc = new Scanner(System.in);
while (true) {
System.err.println("Please enter the name of your crew member: ");
name.add(sc.next());
System.out.println("Please select a Science Specialization for your crew member");
researchSpec.add(sc.next());
}
}
}
最佳答案
当你有一个小的、预定义的可能值集合时,enum
通常是代表这些的理想选择。
public enum Specialization {
PHYSICS,
CHEMISTRY,
BIOLOGY
}
现在,您可以定义 Specialization
类型的变量和 List<Specialization>
类型的列表, 并将这些值称为 Specialization.PHYSICS
等。这比使用 String
更好。因为您没有冒例如在代码中某处拼写错误的特化,例如添加 "Pysics"
到一个地方的列表,想知道为什么 if (specialization.equals("Physics"))
从不工作。
但是,您仍然需要一些 if
一个switch
, 或 Map
用于从字母到特化的映射——除非你喜欢枚举。枚举实际上是一个类,但你不能使用 new
在它上面 - 相反,每个标识符自动有一个实例(在这种情况下, PHYSICS
、 CHEMISTRY
和 BIOLOGY
是仅有的三个实例)。您可以向枚举类添加字段、构造函数和方法,以便为每个值赋予不同的属性:
public enum Specialization {
PHYSICS('p', "Physics"),
CHEMISTRY('c', "Chemistry"),
BIOLOGY('b', "Biology");
private char menuLetter;
private String displayName;
private Specialization(char menuLetter, String displayName) {
this.menuLetter = menuLetter;
this.displayName = displayName;
}
public char getMenuLetter() { return menuLetter; }
public String getDisplayName() { return displayName; }
}
您可以使用 values()
获取所有值的列表。例如,这将生成菜单选项(我会将选择留给您作为练习):
for (Specialization s : Specialization.values()) {
System.out.println(s.getMenuLetter() + ": " + s.getDisplayName());
}
编辑:或使用常规循环:
Specialization[] specializations = Specializations.values();
for (int i = 0; i < specializations.length; i++) {
System.out.println(specializations[i].getMenuLetter() + ": " + specializations[i].getDisplayName());
}
关于java - 在游戏中创建 NPC 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31122437/
我已经开始开发一个小型多人赛车游戏,显然我们正在使用半条命、雷神之锤和虚幻引擎使用的所有玩家预测、航位推算和延迟补偿技术——但是我们计划在游戏中也有几十辆人工智能汽车. 最初我们决定简单地向所有客户端
我是编码新手,最近一直在尝试制作 2D 平台游戏,但遇到了一个我似乎无法解决的问题,我的 NPC 不会在 map 上跟随玩家,也不会它对碰撞使用react,欢迎任何帮助。 我还一直在考虑创建一种算法,
当我的角色的碰撞框与某个 NPC 的碰撞框发生碰撞时,我在屏幕上显示文本框时遇到问题。 第一部分代码是我创建的模块文件的一部分,我在其中创建了供游戏使用的 Assets 。这是我创建要在主文件中使用的
出于某些研究目的,我构建了一款小型坦克游戏,其中有 1 辆由玩家控制的坦克和一辆或多辆 NPC 坦克。 现在我希望这些 NPC 坦克能够穿越他们不了解的领域。如果障碍物在一定范围内,它们可以检测到。如
我现在正在上 Java 类(class),我们应该制作一个基于文本的游戏。我们游戏中的选项之一是允许玩家在 3 种船型之间进行选择;小型、中型和大型。根据他们的选择,他们将能够选择乘船旅行的人数。小型
我在士兵动画师中有一个 Grounded 过渡,默认情况下这是从这个过渡开始的。然后我在 3 秒后执行此操作,它会在从 Grounded 到 Rifle_Aiming_Idle 的两个转换之间缓慢变化
使用当前代码,NPC 将检测到并转向播放所需动画的玩家。但是,NPC 只会快速面向玩家,而不会在玩家在 NPC 范围内绕过时继续旋转。 我想对此进行修改,以便当玩家处于对撞机范围内时,NPC 始终如一
好的,这将是一些我需要帮助的代码。 前言 下面的代码现在描述了 FSM 的实现,因为我使用的是 unity,这允许我根据我的状态/ Action 和决策创建 Assets 。 州 [CreateAss
这个问题与this one (Using C# 5 async to wait for something that executes over a number of game frames)有关.
我想让游戏中的角色执行部分随机但也受偏好影响的 Action 。例如,如果一个角色感到生气,他们大喊大叫的可能性比讲笑话的可能性更大。所以我在思考如何确定角色会采取什么样的行动。以下是我的想法。 解决
我的问题的核心: 我正在尝试使用网格包的convertUnit、convertX 和convertY 函数将npc 单位转换为本地单位。 (npc=归一化父坐标,可能称为 ndc 单位,归一化设备坐标
我正在用java为我工作的mod公司制作一个住房插件(Bukkit 1.6.4)。我需要使用NPCS。我尝试使用 Cizizens API,但当我尝试创建它时总是出现错误: java.lang.Nul
我想在每个面板的底部画一个框,每个面板可能有不同的 y 范围。该框应始终位于 x 轴上的 3 到 7 之间,并且从面板底部的边框到 y 轴高度的 5% 左右。 所以我想指定例如的坐标annotatio
如何在 ggplot 中获取 geom_point 的 x、y 坐标,其中引用系是整个绘制的图像? 我可以使用以下命令创建一个带有一些 geom_points 的 ggplot: library(gg
抱歉,标题令人困惑,我不太确定如何措辞。 在最近发现 HTML5 的 Canvas 元素的强大功能后,我刚刚开始从事 2D 游戏开发。我正在进行我的第一个基本项目来学习诀窍。这款游戏将允许玩家加入游戏
这个问题已经有答案了: What is a NullPointerException, and how do I fix it? (12 个回答) 已关闭 6 年前。 当我加入我的服务器时,“测试”会
我已经研究了大约一个小时,研究如何让 NPC “排斥”,意思是在 Unity3d 中逃离玩家。我到处搜索这个,我发现了很多关于如何让 NPC 跑向玩家但从不排斥的东西。我是游戏开发的新手,所以我不知道
我正在使用 C++ 开发一个 2D 游戏引擎,并考虑过将 NPC 脚本(例如对话和菜单选择项)移动到 LUA 中。我很难弄清楚如何等待用户/客户端的响应。我的场景如下- 用户点击 NPC。 NPC 启
我正在使用 C++ 开发一个游戏引擎,使用 Lua 处理 NPC 行为。我在设计过程中遇到了一些问题。 对于需要多于一个框架来执行的所有事情,我想使用一个进程链表(它们是 C++ 类)。所以这个: g
我尝试更正我的代码中的最后一个错误。我已经将 VS6.0 迁移到 VS2008。 我的最后一个错误在我的 SimpleNPC.cpp 文件中: .\SimpleNPC.cpp(216) : error
我是一名优秀的程序员,十分优秀!