したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が900を超えています。1000を超えると投稿できなくなるよ。

【初心者歓迎】プチコンなんでも相談室【質問専用スレ】

766名無しさん:2015/05/30(土) 19:39:16 ID:Xfsjq2nQ
次に、下の式を見てみましょう。
この式には、変数Rが登場するので、Rに値を設定する式から見たいですが、

その前に、「(P<1)」という部分が気になります。
Pの値は0か1の2種類だけでした。そのPの値が1未満、つまり0かどうかを見ています。
Pの値が0ならば式が成り立ち1に、Pの値が1ならば0になりますね。
つまりこの部分は、『Pの値を反転させている』と解釈できます。
初代プチコンには、論理反転演算子「!」が無かったのですね。

そして、それをRと掛け算しています。
0を掛け算すると、Rの値が何であろうが0になり、
1の場合はRの値がそのまま適用される。すなわちここまでの意味は、
『Pの値が1ならば、Rの値は無効にする。0ならば、Rはそのまま有効にする。』
という意味になりますね。ちょうどIFの条件判断のような動作をさせているのです。
Rはその変数名からランダムつまり迷路生成のキモなのでしょうし、
さっき言った、変数Pの値によって迷路の生成が起こらないようにしている
という動作の部分がここなのでしょうね。

さて では その 有効と無効を切り替えられるRの値について見ましょう。
  R=(RND(2+(Y<3)+L)-L)*(X%30>0)
新たに変数Lが登場しました。これは
  L=X<3
とされていて、Xの値が3未満、つまり0か1か2の時だけ1になります。
Xの値が小さい時だけ・・・? これって、左端の壁かどうかを判別するのと
関係があるのでしょうか。よく見ると、「(X%30>0)」という部分もあり、
迷路全体の広さは横30ブロックですから、これは右端の壁の判別なのかも。
そうなると、「(Y<3)」の部分も気になりますね。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板