我正在尝试制作一个java游戏。
有一个滑块(S)可以在西北 - 东南方向移动一个方格。有一个Diag(D)片可以在任何对角线方向上移动一个方格。还有一个Jumper(J)片,随机传送到电路板上的任何方块。 滑块首先移动,然后是Diag,然后按顺序移动。如果一件落在另一件上,则后者从游戏中消失。例如,如果Jumper落在Diagonal上,那么Diagonal将被移除以用于游戏的其余部分。
. . . . .
. . . . .
. . s . d
. . . . .
. . . . j
的
在命令提示符中应该看起来像这样。 我只有程序的基本大纲,我不知道如何启动它。 ._。老师说虽然我们还没有学习,但我们可以尝试使用数组。只是一个关于去哪里的大方向将是非常有帮助的。我现在的代码是:
public class Collide {
Piece s1, d1, j1;
int count;
public Collide(){
//initialize pieces
s1 = new Slider();
d1 = new Diag();
j1 = new Jumper();
}
public void play(){
}
public static void main(String [] args){
Collide collide = new Collide();
collide.play();
}
}
class Piece {
int x, y;
boolean alive;
public void movePiece(){}
}
class Slider extends Piece {
int g;
public void movePiece(){
g = (int)(Math.random()*4)+1;
}}
class Diag extends Piece {
public void movePiece(){
} }
class Jumper extends Piece{
int w = (int)(Math.random()*25)+1;
public void movePiece(){
}}
答案 0 :(得分:0)
我会给你一个滑块的例子。
char[][] arrayLengthD = new char[5][5]; //declaration of the array
用两个for循环填充它
for(int i = 0; i<5; i++) {
for(int j = 0; j<5; j++) {
arrayLengthD[i][j] = '.';
}
}
现在你只需要在内部for循环中放入一个if条件,它检查i和j是否= =滑块的x和y坐标,当它为真时:arrayLengthD [i] [j] =' S'; 在从用户输入中读取滑块的x和y坐标时,您可以这样检查:
if((y==i&&x!=j)||(x==j&&y!=i))
所以如果这个条件成立,那么移动只是在一个方向而不是对角线。 并且不要忘记将整个游戏逻辑放在一个循环中!