- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我应该用Java为游戏战舰编写一些方法吗?不知道它的英文怎么称呼。
我们将创建方法:
private static Point[] createSchiff(int laenge)
这将创建一艘长度为 laenge
的船,场上的随机位置和随机方向,并返回船舶的引用。
该船的型号为 Point
我们将使用对象 Vector
作为我们创建的所有船舶的容器。
到目前为止我拥有的完整程序代码是:
import java.awt.*;
import java.awt.Point;
import java.lang.*;
import java.util.*;
public class Programm34 {
public int anzahlschiffe=5;
public Point[] schiffe = new Point[anzahlschiffe];
public static void main(String[]args){
Vector v=new Vector();
int i=10;
double random=0;
System.out.println("Zufallszahlen: ");
for(i=anzahlschiffe;i>0;i--){
random=random(0,10);
System.out.print((int)random+" ");
System.out.println("");
} //Test für random Methode!!
int[][] Spielfeld= new int[10][10];
init(Spielfeld);
for(int x=9;x>=0;x--){
for(int y=9;y>=0;y--){
System.out.print(Spielfeld[x][y]);
if(y!=0){
System.out.print(" ");
}
if(y==0 && x!=0){
System.out.print("\n");
}
}
}
}
private static long random(int u, int o){
double random;
random=Math.random()*(u-o)+o;
return (int)random;
}
private static Point[] createSchiff(int laenge){
point(1,2);
}
private static boolean positionOk(Vector<Point[]> schiffe,Point[] schiff){
}
private static boolean grenze(Point[] schiff){
}
private static boolean konflikt(Vector<Point[]> schiffe,Point[] schiff){
}
private static boolean nachbar(Vector<Point[]> schiffe,Point[] schiff){
}
private static boolean increment(Vector<Point[]> schiffe,int laenge){
}
private static void init(int[][] spielfeld){
for(int i=9;i>=0;i--){
for(int j=9;j>=0;j--){
spielfeld[i][j]=0;
}
}
}
private static void add(int[][] spielfeld, Vector<Point[]> schiffe){
}
}
所有这些方法和 main 都应该被编程,但重要的是 createschiff(“createship”)方法。
你能帮我解释一下这个 vector 吗?重点是?整个事情是如何运作的?我现在在这里坐了大约 2 个小时,没有任何进展...非常感谢
最佳答案
首先是一件小事(但有帮助):您应该向 vector 添加泛型参数。 (我怀疑是否有必要使用Vector
。一个List
应该足够了。但是当它在作业中时,你必须这样做......)
Vector<Point[]> v=new Vector<Point[]>();
关于createSchiff
方法:您必须创建多个Point
对象。即,船舶所覆盖的每个区域都有一个。这大概看起来像这样:
private static Point[] createSchiff(int laenge)
{
int positionX = ... // Some random position
int positionY = ... // Some random position
// Create the array that will contain the fields
// covered by the ship:
Point result[] = new Point[laenge];
// Fill the array
for (int i=0; i<laenge; i++)
{
result[i] = new Point(positionX, positionY);
// Change the position for the next field,
// depending on the direction of the ship:
positionX += ...
positionY += ...
}
return result;
}
然后你可以像这样调用这个方法:
Point ship[] = createSchiff(3);
v.add(ship);
(我可以插入更多真实代码而不是占位符 ...
,但您应该自己尝试一下)
关于java - vector 、点、战舰、2D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23213990/
所以,我必须在 10x10 的板上制作一个用户对计算机的 Battleship 游戏来上编程课。我必须让计算机随机放置五艘大小为 5、4、3、3 和 2 的船。 我所做的是,我生成了 0 到 9 之间
我正在学习创建一个java游戏,对java来说还是个新手。现在我想创建一个战舰游戏。但现在我被困在这里了。现在,当我随机放置船作为电脑板时,有时它会与之前的船重叠,因此游戏变得不平衡。其次,在我收到玩
我正在制作战舰游戏,一切正常。但是由于我加入了一个回合系统,游戏无法正常运行。游戏有两个棋盘(一个是隐藏的,另一个是“公开的”,对手可以看到(所以没有船只)。隐藏的有效,但公众每回合都会重置,所以你看
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 9 年前。 Improve th
我正在制作一款战舰游戏。我创建了一个 Ship 类来为船只提供位置。 创建类后,我必须创建所有实例,我想知道是否有一种方法可以自动化它。 大部分程序都是无关紧要的,但我将其保留,以防万一它可能会影响它
我的编译器告诉我有错误,但我已经给我的导师发了电子邮件,他说我的代码非常好。 错误是错误: 1 error C4716: 'ShipPlacement' : must return a value,
我是一个想学习Java的菜鸟。我正在阅读《Head First Java》一书,并且非常喜欢它。我在学习使用 ArrayList<> 时遇到了一个问题而不是常规的array[] 。我在尝试分配 int
我是一名优秀的程序员,十分优秀!