1

印刷する必要があります

......e......                
..e..........                
........e....                


.....iAi.....

ここで、e と敵は位置にあるため、ドットを位置の変化に置き換えました。0 は中心境界であり、それぞれ左と右の 6 と 6 です。iAi は 2 銃のプレイヤーなので、3 "." を交換する必要があります。2つのiと1つのAで、これまでにenimesで持っているものは

String asd = ".............";
    char cas;
    if ((isDead()== true)|| (justHit=true))
    cas = 'x';
    else 
    cas ='e';
    String wasd = asd.substring(0,position-1)+cas+asd.substring(position +1);
    return wasd;

しかし、それは適切な場所で置き換えられていません

4

3 に答える 3

1

文字列を使用するということは、ループごとに大量のオブジェクトを再作成することを意味します。char[] を使用すると、フットプリントが大幅に削減されます。

    private char[] afd = {'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'};
    private int prevPos = 0;

    public String placeEnemy(int newPos, boolean dead, boolean justHit) {
        afd[prevPos] = '.';
        afd[newPos] = 'e';
        prevPos = newPos;
        return afd
    }
于 2013-09-22T17:03:15.637 に答える
1

上記のコードの asd.substring(0, position)代わりに使用してください。asd.substring(0, position - 1)

于 2013-09-22T17:03:57.080 に答える