do ~Loop while 文についての素朴な疑問
投稿者 るしぇ  (社会人)
投稿日時
2009/7/8 21:50:35
ステップ実行やブレークポイントの設定でプログラムを中断し
その時の変数の中身を確認するか、
Debug.WriteLine 等のコマンドで変数の値を出力して確認して下さい。
こちらのサイトでは初級講座のデバッグのページで解説されています。
その時の変数の中身を確認するか、
Debug.WriteLine 等のコマンドで変数の値を出力して確認して下さい。
こちらのサイトでは初級講座のデバッグのページで解説されています。
投稿者 トマト  (小学生)
投稿日時
2009/7/9 01:40:59
初期値はFalseだった気がします。
あってなかったらごめんなさい。
あってなかったらごめんなさい。
投稿者 刈谷勇  (社会人)
投稿日時
2009/7/9 02:54:53
write by:デフォルトさん
>do ~Loop while 文ですが、下記のコードでLoop while f2はf2=trueという解釈で
>よいのでしょうか?
あってます。ちなみにf2=falseの場合は、not f2とかけます。
あと、質問するときはVBのバージョンも書いてくださいね。
(今回はあまり関係ありませんが)
>do ~Loop while 文ですが、下記のコードでLoop while f2はf2=trueという解釈で
>よいのでしょうか?
あってます。ちなみにf2=falseの場合は、not f2とかけます。
あと、質問するときはVBのバージョンも書いてくださいね。
(今回はあまり関係ありませんが)
投稿者 (削除されました)  ()
投稿日時
2009/7/9 19:16:06
(削除されました)
投稿者 デフォルト  (社会人)
投稿日時
2009/7/11 20:04:24
有り難うございました(亀レスですみません)
投稿者 デフォルト  (社会人)
投稿日時
2009/7/14 16:47:12
すみさせん、追加質問です
下記は、マップの中でボールが反射する部分のサンプルコードの一部ですが
<>の解釈でよいのでしょうか?
' ボールの反射処理
● Do <f1 、 f2 = true>
f1 = False <f1 = False、f2 = true>
● Do
f2 = False <f1 = False、f2 = false>
If map(bx + bhx, by) <> 0 Then ' 進行方向の左右が壁
map(bx + bhx, by) = -1 ' 光る壁にする印
bhx = -bhx
f2 = True
End If
If map(bx, by + bhy) <> 0 Then ' 進行方向の上下が壁
map(bx, by + bhy) = -1 ' 光る壁にする印
bhy = -bhy
f2 = True
End If
● Loop While f2 <f2 = trueの間は、ループ>
If map(bx + bhx, by + bhy) <> 0 Then ' 移動先が壁
map(bx + bhx, by + bhy) = -1 ' 光る壁にする印
bhx = -bhx
bhy = -bhy
End If
● Loop While f1 <f1 = trueの間は、ループ?>
下記は、マップの中でボールが反射する部分のサンプルコードの一部ですが
<>の解釈でよいのでしょうか?
' ボールの反射処理
● Do <f1 、 f2 = true>
f1 = False <f1 = False、f2 = true>
● Do
f2 = False <f1 = False、f2 = false>
If map(bx + bhx, by) <> 0 Then ' 進行方向の左右が壁
map(bx + bhx, by) = -1 ' 光る壁にする印
bhx = -bhx
f2 = True
End If
If map(bx, by + bhy) <> 0 Then ' 進行方向の上下が壁
map(bx, by + bhy) = -1 ' 光る壁にする印
bhy = -bhy
f2 = True
End If
● Loop While f2 <f2 = trueの間は、ループ>
If map(bx + bhx, by + bhy) <> 0 Then ' 移動先が壁
map(bx + bhx, by + bhy) = -1 ' 光る壁にする印
bhx = -bhx
bhy = -bhy
End If
● Loop While f1 <f1 = trueの間は、ループ?>
投稿者 デフォルト  (社会人)
投稿日時
2009/7/14 17:28:19
ちなみにブレークポイントを設定して、f1 ,f2の値の変化をみましたが
下記の部分は表示されなかったので質問した次第です。
● Loop While f1 <f1 = trueの間は、ループ?>
下記の部分は表示されなかったので質問した次第です。
● Loop While f1 <f1 = trueの間は、ループ?>
投稿者 るしぇ  (社会人)
投稿日時
2009/7/30 19:27:41
そんなに悩むほどの内容ではない。
Dim f1 As Boolean, f2 As Boolean
Dim count1, count2 As Integer
Debug.WriteLine("初期値 … " & f1.ToString & ":" & f2.ToString)
'[変更]
f1 = True
f2 = True
Debug.WriteLine("[変更] … " & f1.ToString & ":" & f2.ToString)
Do '<f1 、 f2 = true>★[変更]のコードがないと間違い
f1 = False '<f1 = False、f2 = true>★[変更]のコードがないと間違い
Debug.WriteLine("Loop1前 … " & f1.ToString & ":" & f2.ToString)
Do
f2 = False '<f1 = False、f2 = false>
Debug.WriteLine("Loop2前 … " & f1.ToString & ":" & f2.ToString)
If count2 < 4 Then ' 進行方向の左右が壁
f2 = True
End If
Debug.WriteLine("Loop2後 … " & f1.ToString & ":" & f2.ToString)
count2 += 1
Loop While f2 '<f2 = trueの間は、ループ>
Debug.WriteLine("Loop1後 … " & f1.ToString & ":" & f2.ToString)
count1 += 1
Loop While f1 '<f1 = trueの間は、ループ?>
Debug.WriteLine("終了値 … " & f1.ToString & ":" & f2.ToString)
投稿者 デフォルト  (社会人)
投稿日時
2009/8/1 17:22:21
るしぇさん、有り難うございます。m(_ _)m
do ~Loop while 文ですが、下記のコードでLoop while f2はf2=trueという解釈で
よいのでしょうか?
Dim f1 As Boolean, f2 As Boolean ’Booleanの初期値はtrueですよね?
do
f1=false
<ステートメントブロック>
do
f2=false
<ステートメントブロック>
f2=true
Loop while f2
<ステートメントブロック>
Loop while f1