Files
php-question/Question10-class/Ex04.php
2026-10-06 12:10:09 +09:00

42 lines
2.4 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* [Ex04 オブジェクト指向 クラスの活用 - Carクラスを用いた移動シミュレーション]
*
* TODO:
* 1. 新しく「Car.php」というファイルを作成し、以下の仕様に基づいて Car クラスを定義してください。
* - クラス名: Car
* - プロパティ:
* serialNo : シリアル番号(整数)
* color : 色(文字列)
* gasoline : ガソリン残量(整数)
* - メソッド:
* run() : 戻り値は整数、引数はなし。
* run() メソッドは以下の処理を行います。
* a. ガソリンが0の場合、進むことができないので -1 を返す。
* b. ガソリンを1消費する。
* c. 1~15のランダムな整数値を生成し、その値(進んだ距離)を返す。
*
* 2. 本ファイル内で、require_once を使い Car.php を読み込んでください。
* 3. 変数 $car を宣言し、Car クラスのインスタンスを生成して代入してください。
* 4. $car の各プロパティに以下の値を代入してください。
* - serialNo: 10000
* - color: "Red"
* - gasoline: 50
* 5. 目的地までの距離は300kmとします。
* 6. 以下の処理を実装してください。
* - 変数 $move を初期化し、これまで進んだ総距離とします。
* - 変数 $count を初期化し、run() メソッドを実行した回数(時間)をカウントします。
* - while ループを用いて、目的地まで進むまで以下を繰り返してください:
* a. $car の run() メソッドを呼び出し、戻り値を $ret に代入する。
* b. $ret が -1 なら、ループを終了する。
* c. $move に $ret を加算する。
* d. $count を1増やす。
* e. 現在の進行状況を「n時間でm km進みました。残り:x km」と表示する。
* ※ n: 実行回数、m: 今回の進んだ距離、x: 残り距離(残りが負の場合は0と表示)
* - ループ終了後、もし目的地に到達していなければ「目的地に到達できませんでした」と出力し、
* 目的地に到達していれば「目的地までn時間かかりました。残りのガソリンは、xリットルです」と出力してください。
* ※ x は $car->gasoline の残りの値
*
*/