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