問題タブ [gridworld]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 再帰関数を使って Bug オブジェクトを 5 回動かす方法は?
私はアレン・B・ダウニーが書いた本「Think Java」からJavaを学んでいます。第 5 章では、GridWorld
オブジェクトを表すバグ、岩、グリッド自体などの「アクター」を含む 10x10 のグリッドを基本的にどこに持つかという概念が導入されています。コードがインストールされると、GridWorld
GUI は「バグ」と「ロック」の 2 つのアクターを含むグリッドを表示します。
アクターをクリックすると、そのアクターで呼び出すことができるメソッドを含むドロップダウン メニューが表示されます。
割り当ての 1 つは、Math.random();
namedrandomBug
を使用してバグをパラメーターとして取り、バグの方向を 0、90、180、または 270 のいずれかに設定するメソッドを作成することです。可能であればバグを移動します。
randomBug
次の割り当ては、整数を取り、時間n
を繰り返すように変更することn
です。
これは私のコードです:
再帰関数を使用してプロセスを 5 回繰り返そうとしているので、グリッドの端に到達しない限り、バグは 5 回移動する必要があります。ときどき発生する問題は、条件を使用して制限したにもかかわらず、バグが 5 回以上移動し、6 または 10 ステップになることですn <= 0
。
割り当てを実行できるようにするには、コードで何を変更または追加する必要がありますか?
java - Java Gridworld マークされたクラスを呼び出すにはどうすればよいですか? (マーカーインターフェース)
マークされたクラスを呼び出すにはどうすればよいですか? クラス Spider を実装して、Babybug が見つかった場合に食べられるようにする必要があります。
// マークされたインターフェース
// クラス BabyBug
// クラス Spider は Insect のサブクラスで、Insect は Critter のサブクラスです
}
しかし問題は、Spider が Babybugs に食べられないことです。
次のようなエラーが表示されます: このアクターはグリッドに含まれていません。どうすれば修正できますか?ありがとう!