【发布时间】:2011-12-25 19:37:18
【问题描述】:
参考:http://download.oracle.com/javase/7/docs/api/java/util/Vector.html#addElement(E)
我的 OOP 课程有一个作业,我必须为类似 Asteroids 的 Java 游戏编写课程。我必须使用向量来表示 x 和 y 位置以及镜头和彗星的 x 和 y 速度。因此,当它们被初始化时,它们看起来像这样:“公共矢量镜头;”和“公共矢量彗星;”。当调用 updateShots() 中的 for 循环时,我遇到了让 shot.size() 不等于零的问题,因此它没有到达镜头实际触发的部分。每次我尝试向向量中添加元素时,它都会告诉我该元素必须是“Shot”类型,并且它无法将我的 double 类型转换为该类型。我一直在网上搜索几个小时,找不到任何不使用 Double、String、Integer 或 Object 作为 Vector 类的绑定的东西。我认为这与我的 Shot.class 以及需要添加到该类的某些内容有关。我不确定我可以在这里发布什么代码来帮助描述我遇到的问题。
文件是这样设置的:CometsMain.java 是主要的 java 文件; SpaceObjects 是具有 3 个子类的整体类; Comet、Ship 和 Shot 是 SpaceObject 的 3 个子类,每个子类都扩展了 SpaceObject;那么 Comet 有 3 个目前不重要的子类。
我在开头指定的初始化位于 CometsMain.java 中。 Ship 类有一个方法“Shot fire()”,返回一个新的镜头。 Shot 类处理“move()”方法,实际控制子弹的移动。我目前在实际的 Shot 类中的 move() 中拥有与镜头相关的所有矢量代码,但我不确定它是否都需要在其中或 Ship.class 中的“Shot fire()”方法中。
让我知道您希望我发布什么代码或需要什么其他信息。
【问题讨论】:
-
tl;dr - 请发布一些代码来证明您遇到的问题。
-
您的问题太长且不清楚。如果问题是在向量中添加东西,那么我们需要查看错误、产生错误的代码以及错误中涉及的对象的定义。
-
我在完全错误的地方添加了向量,所以我得到的错误太模糊了,不知道它在里面是哪一小部分代码。不过我想通了,谢谢!