情報
大学生・専門学校生・社会人
解決済み

プログラミング基礎の課題で縦に5個、横に6個で合計30個の物体を並べるプログラミングを作りなさいというのが出たのですが、私は横に5つ並べる事しか出来ずこれからどうすれば30個並べられるか分かりません。教えてください。
写真見にくくて申し訳ないです

ミミ settpU BOOL BOO0H」 キャーーミサゴミ 葉ミ 王計還較 可期令なし まほま "=: *許標、9で固定 堪三 =訪 上 本5 テー 制期徹昌1 選 =で=301 王計護開午く考証= 1 ーー ま100。 =ェ埋困寺填芋寺寺 Ho ts \!・ 'UFOを 本 思計甘置料画 =ュキ1 ーー半寺座そま 人 1 帳間革 こう計三生謀計革 人 人 寺 ま =一

回答

✨ ベストアンサー ✨

繰り返し部分をもうひとつwhileで挟んで、y座標の計算を加えましょう

むら

この計算で合っていますか?
あと何故ここでエラーがでるのかがわからないです...

黒龍

エラーが起きるのはyを0で固定しているからでしょう。

あと、whileを二つ並べるのでなく、whileの入れ子構造をつくるのです

黒龍

いえ、yは違いますね。ひとまずその時点でiが31であるのでそこのwhileはスルーされます

むら

変更したんですがこれでは描けませんか?

黒龍

エラーがなければ動きます。
が、xとyは違う変数を充てましょう。iとj
今は対角方向しかUFOいませんね🛸

むら

こうですか?
黄色い場所がエラーになるけれど理由がわからないです...

黒龍

ふたつめのwhileはjに関するループです。
iがx座標の変化を担うならば
jがy座標の変化を担います。
iとjの構文の形式は同じです。(横か縦かの違いだけだから)

あとufoの引数の形式を間違えています。

むら

こうなりました。
エラーは出ませんでしたが縦に5つしか描画できないです..

黒龍

それはjの二回目のループに入るときに、前のループを経てjが既に5になっているからです。

jのループに入る前にjの値を初期化しましょう

むら

出来ました!!!!
本当に何度も質問投げかけてしまってすみません。
ありがとうございました。

黒龍

できてよかったです(*^ー^)ノ♪

この回答にコメントする
疑問は解決しましたか?

この質問を見ている人は
こちらの質問も見ています😉