🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

614閲覧

JavaScript 迷路作成

f_r

総合スコア4

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2019/10/25 13:50

編集2019/10/28 07:16

前提・実現したいこと

初心者です。
JavaScriptで迷路を作成しています。
ソースコードのWhile文のmap[x + r[0]][y + r[1]]とmap[x + r[0]][y + r[0]]の挙動の違いがよくわかりません
説明していただけると助かります。

発生している問題・エラーメッセージ

エラーメッセージ

while (map[x + r[0]][y + r[1]] === 1);
map[x + r[0]][y + r[1]] = 1;

該当のソースコード

JavaScript
ソースコード

for (var x = 1; x < col; x += 2) { for (var y = 1; y < row; y += 2) { do { if (x === 1) { // 上下左右に倒す var r = points[rand(3)]; } else { // 左以外に倒す var r = points[rand(2)]; } } while (map[x + r[0]][y + r[1]] === 1); map[x + r[0]][y + r[1]] = 1; ### 試したこと ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2019/10/25 13:59

https://dotinstall.com/terms 第6条(禁止事項) 12. 本サービス内のコンテンツについて、無断でそのコピー、複製、アップロード、ダウンロード、掲示、伝送、配布等をする行為
guest

回答1

0

ベストアンサー

質問の部分は、while 文ではなく do-while 文ですね。
r の値を変えながら、 === 1 の条件を満たさなくなったらループを抜けて、最後に 1 を入れてる。

JavaScript

1do { 2 .. 3} while (map[x + r[0]][y + r[1]] === 1); 4map[x + r[0]][y + r[1]] = 1;

※ コメント欄で指摘してもらってるように、どこかのサイトからの転載なのであれば、質問文を編集してコード全文の記載は消したほうが良さそうですね・・・。

投稿2019/10/27 00:01

tanishi_a

総合スコア484

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

f_r

2019/10/28 07:13

ありがとうございます。 コードは自分のものに差し替えましたが、念の為関連していないことは消しておこうと思います。
tanishi_a

2019/10/28 15:22

それで、わからないことは解決しそうですか?
f_r

2019/10/30 08:57

大丈夫です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問