第5回 クラスを考える 風船クラス(Balloon) 障害物クラス (Obstractle) Robotクラス リモコンクラス(Rmconクラス) 第5回 クラスを考える(1) 風船クラス(Balloon) Robotクラス 5メートル リモコンクラス(Rmconクラス) (1)rbGoメソッドで1メートル進む。「1歩進みました。」というメッセージを出す。 (2)風船に達すると、リモコンからロボットの「rbBreak割る」メソッドを呼び出す。 ロボットは「割る」という命令を受け取ると、風船クラスのbalBreakメソッドを呼び出す。 (3)風船クラスは、balBreakメソッドで、「おめでとう!」というメッセージを出す。 (4)風船クラスは、balというint型のメンバ変数を持っており、割れていないときは1、 割れてるときは0という値を持つ。初期値は1とする。 第5回 クラスの構成を考える Rmcon.java クラス名: Rmcon メンバ名: メソッド名: main ここでSimpleBobotのインスタンスを生成する メソッド名 rbGo rbBreak balBreak 。。。 SimpleRobot.java クラス名: SimpleBobot メンバ名: Balloon.java クラス名: メンバ名: メソッド名: Balloon メソッド名: このコンストラクタで Balloonのインスタンスを生成する 第5回クラスを考える(2) ・途中に天井から障害物(Obstracle クラス)が垂れ下がっているので、それをしゃがんで避ける。 ・ロボットは「rbGo進む」「rbDownしゃがむ」「rbUp起す」「rbBreak風船を割る」というメソッドをもつ。 ・上記のメソッドは、各々呼び出されると、 「1歩進みました。障害物までxxxメートルです。風船までxxxメートルです。」 「しゃがみました。」 「体を起しました。」 「風船を割ります。」 というメッセージを出す。しゃがんだ状態でも前に進むことができる ・風船及び、障害物がスタート地点から何メートル先にあるかは、各々のメンバ変数の初期値で設定する。 (障害物は4メートル先にあり、風船は6メートル先にあるものとする。) 応用問題 ・風船、ロボット、障害物のインスタンスの生成をリモコンクラスで行うように変更しなさい。 クラスの構成を考える クラス名: Rmcon メンバ名: rbGo rbDown rbUp rbBreak balBreak メソッド名: main クラス名: クラス名: メンバ名: メソッド名: Obstacle クラス名: SimpleBobot メンバ名: メンバ名: メソッド名: メソッド名: Balloon ロボットクラスとリモコンクラス SimpleRobotクラス メンバ:好きなように メソッド:好きなように (例) rbStop rbDown rbUp fwLeft_leg fwRight_leg fwLeft_hand bkLeft_hand fwRight_hand Bk.Right_hand メインメソッド無し RemoConクラス メンバ:好きなように メソッド:無し メインメソッド: このメソッドからSimpleRoboto メソッドを呼び出して クラスのメソッドを呼び出して ロボットを動かす ロボットを動かす 問題 (1)一歩歩くと50cm進む。 (2)5M先にゴールがある。ゴールに到着すると“おめでとう”のメッセージを出す。 (3)但し、4m1cm先が天井から衝立たれていて、低く屈まないと、そこをくぐれない。 (4)足を進めると、反対側の手を後ろにふらないとバランスが悪く倒れてしまう。
© Copyright 2025 ExpyDoc