ある課題で下記の条件を満たしたものを制作するというものがありまして、
制作してみたんですが、回答例と異なっていました。
私が制作したものでは、なにか間違っているのか分かりませんので質問させていただきました。よろしくお願いいたします。
☆☆☆ 条件 ☆☆☆
★ _mcの移動幅を5~10もしくは-10~-5の範囲になるようにします。
★ 縦方向、横方向ともにステージの端まで移動したら反転するようにします。
※ステージ幅は400px、高さは300pxとします。
※条件ではありませんが、この問題を解くヒントとして、
「移動幅は2分の1の確率で-1を掛ける」と
「2分の1を表す条件式の例としては[ Math.random < 0.5 ]が考えられます。」とあります。
☆☆☆ 回答例 ☆☆☆
var stepX:int = Math.floor(Math.random() * 6) + 5;
var stepY:int = Math.floor(Math.random() * 6) + 5;
if (Math.random() < 0.5){
stepX *= -1;
}
if (Math.random() < 0.5){
stepY *= -1;
}
_mc.addEventListener(Event.ENTER_FRAME, xEnterFrame);
function xEnterFrame(evt) {
_mc.x += stepX;
_mc.y += stepY;
if (_mc.x >= 400 || _mc.x <= 0){
stepX *= -1;
}
if (_mc.y >= 300 || _mc.y <= 0){
stepY *= -1;
}
}
☆☆☆ 私が書いたもの ☆☆☆
var stepX:int = Math.floor(Math.random() * 6) + 5;
var stepY:int = Math.floor(Math.random() * 6) + 5;
_mc.addEventListener(Event.ENTER_FRAME, xEnterFrame);
function xEnterFrame(evt) {
_mc.x += stepX;
_mc.y += stepY;
if(_mc.x > 400 || _mc.x < 0){
stepX *= -1;
}
if(_mc.y > 300 || _mc.y < 0){
stepY *= -1;
}
}
あくまでもヒントでしたので、私が書く際にはヒントを見ずに書きました。
No.1
- 回答日時:
>あくまでもヒントでしたので、私が書く際にはヒントを見ずに書きました。
その見なかったヒントの部分の差ですね。
Flash/ActionScriptの描画座標系は知らないので具体的にどの方向かはわかりませんが、あなたのプログラムでは「最初に」動く方向がx軸の正方向とy軸の正方向に挟まれた方向だけに限られるはずです。
この回答への補足
私が書いたものは
条件の、
★ _mcの移動幅を5~10もしくは-10~-5の範囲になるようにします。
の、
「_mcの移動幅を5~10」というのをスタート時には設定しているけれど、
「-10~-5の範囲になるように」は設定していないという解釈で大丈夫でしょうか?
No.2ベストアンサー
- 回答日時:
>私が書いたものは
>条件の、
>★ _mcの移動幅を5~10もしくは-10~-5の範囲になるようにします。
>の、
>
>「_mcの移動幅を5~10」というのをスタート時には設定しているけれど、
>「-10~-5の範囲になるように」は設定していないという解釈で大丈夫でしょうか?
半分不正確、ですかね?
「『_mcの移動幅を5~10』というのをスタート時には設定していて、
『5~10もしくは-10~-5の範囲になるように』は設定していない」
というほうが正確だと思います。
この問題の場合、正方向と負方向のどちらか一方に向かうのが正しいということはなく、正方向に向かうのと負方向に向かうのとが半々の確率になるようにするのが正しい仕様です。
問題の本文だけだとちょっと分かりづらいですが、ヒントに書いてある式を使うことを考えるとそうなります。
まあ、これはあくまでこの問題に限っての事で、あなたのコードのほうが正しい仕様というのもあります(出発点がステージの隅で、外に出ないように飛び出す方向を正方向-正方向に限定したい)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- Ruby vscode 文字化け 1 2022/05/21 19:17
- Visual Basic(VBA) 3つの条件を指定してVBAで行を削除したい 条件1:分類1が重複 条件2:分類2が重複 条件3:個数 6 2022/06/24 11:07
- Visual Basic(VBA) 正規表現を用いての並び替え 7 2022/04/04 09:27
- 大学・短大 (大学数学)こういった問題集が欲しいです。 3 2022/10/01 11:54
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- アイドル・グラビアアイドル 嵐の中でも櫻井翔がMC向き扱いだったけど。 むしろ バラエティやらみていて 爺ちゃん ばあちゃん 国 2 2022/12/03 19:49
- スピーカー・コンポ・ステレオ MCカートリッジのオススメを教えてください。 お時間割いてくださりありがとうございます。 当方、現在 10 2022/07/04 14:20
- 宇宙科学・天文学・天気 AIが答えた方程式 1 2023/02/20 00:12
- 工学 材料力学(構造力学?)についての問題です。 写真のような形で部材CDの内力を考えます。 C点からの距 1 2022/11/22 00:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで改行の入ったデータの正規...
-
以下のActionScriptをスッキリ...
-
Flashからリンクする際のconfir...
-
Flashで外部jpgファイルをmcに...
-
プログラミング、アーキテクチ...
-
photoshopで書いた四角の枠の中...
-
else if文の順序を変えることに...
-
五芒星は、悪魔崇拝とどういう...
-
ExcelでVBAを利用してオートシ...
-
C言語でのマウスを移動とマウス...
-
RPG(AS400)の本、サイトってあ...
-
node* ってなんなのでしょうか?
-
HTMLのtextbox類に文字を残す
-
VB6.0 でメニューを作りたいん...
-
UWSCのBTN関数について。
-
YOASOBI
-
Motifのイベントの制御について...
-
AS3.0 読み込んだ外部テキスト...
-
【VB.NET】別Formのボタンが押...
-
マスクにグラデーションをかけ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで改行の入ったデータの正規...
-
VBAユーザーホームテキストボッ...
-
テキストファイルから読み込ん...
-
外部SWFファイルを再生バーでコ...
-
AS3 mc0~5をまとめて処理する
-
エンドロール風テキストの表示...
-
ロールオーバーで下画像を表示...
-
看護師です。体温表のマクロを...
-
縦横比率のを変えずに画像のサ...
-
photoshopで書いた四角の枠の中...
-
YOASOBI
-
VBScriptでMsgBoxのYesNoボック...
-
プログラミング、アーキテクチ...
-
python ボタンを押すと複数の関...
-
別のアプリケーションのテキス...
-
テキストボックスの中身をリセ...
-
テキストボックスにセルの値を...
-
五芒星は、悪魔崇拝とどういう...
-
else if文の順序を変えることに...
-
変数に256文字以上のテキストを...
おすすめ情報