0

ユニットを移動する move メソッドを作成しようとしていますが、行き詰まっています。位置(3,1)にユニットがあり、それを位置(4,1)に移動したいとしましょう。メソッドを実装するにはどうすればよいですか? これまでのところ、以下のコードがあります。(私は単位を表すクラスを持っていますが、これらの種類のものを処理する別のクラス (現在の場所) に moveUnit が必要です)。ありがとう

public boolean moveUnit( Position from, Position to ) {

    return false;
}

Position メソッドに関しては、以下のように使用されます。JUnit を使用したテストケースを持つクラスがあります。

@Test
public void shouldBePossibleToMoveUnits() {
    Unit u = game.getUnitAt(new Position(2, 0));

    boolean moved = game.moveUnit(new Position(2, 0), new Position(3, 0));
    assertTrue("It should be possible to move units", moved);
    assertNotNull("There should be a unit at 3, 0", u);
}

- - - - - - - - - - - - - - - - - - -アップデート - - - - - - ------------------

ユニットを移動するためにこのコードを書きましたが、機能しません。誰かが私が間違っていることを見ることができますか?

Unit unitFrom = ((UnitImpl) getUnitAt(from));

    if(unitFrom == null) { return false; }
    Unit unitTo = ((UnitImpl) getUnitAt(to));

    unitFrom = unitTo;
    unitFrom = null;

ユニットが新しい位置に移動しない

4

2 に答える 2