ユニットを移動する 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;
ユニットが新しい位置に移動しない