简单的Java游戏

时间:2013-11-19 06:40:19

标签: java

我正在尝试制作一个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(){
}}

1 个答案:

答案 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)) 

所以如果这个条件成立,那么移动只是在一个方向而不是对角线。 并且不要忘记将整个游戏逻辑放在一个循环中!