トップページ > プログラム > 2015年11月20日 > v3U3Slwh

書き込み順位&時間帯一覧

4 位/168 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000100001210000005



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
クラス名・変数名に迷ったら書き込むスレ。Part25 [転載禁止]©2ch.net
Excel VBA 質問スレ Part38 [転載禁止]©2ch.net

書き込みレス一覧

クラス名・変数名に迷ったら書き込むスレ。Part25 [転載禁止]©2ch.net
854 :デフォルトの名無しさん[sage]:2015/11/20(金) 10:49:24.08 ID:v3U3Slwh
>>852
> 最初はMoviesクラスにしていましたが、複数形はよくないだろうと思って
実際にメンバで実体としてそれを持ってるかにかかわらず、外から見てMovieのCollectionに見えるのなら、
Moviesで少しもおかしくないと思うけど。
var movie = Movies.Single(id);
Excel VBA 質問スレ Part38 [転載禁止]©2ch.net
883 :デフォルトの名無しさん[sage]:2015/11/20(金) 15:43:30.34 ID:v3U3Slwh
>>881
> かぶり防止の※がドローするたびに消える(記憶しないので結局かぶる)
とか言われても、なんのことやらさっぱりわかりません。

某カードゲームなどと言葉を濁さずに、名称を明確にするか、そうしたくないのなら
目的をはっきりさせ、draw()の前提(状態)がどうなっているのかを説明してください。
Excel VBA 質問スレ Part38 [転載禁止]©2ch.net
885 :デフォルトの名無しさん[sage]:2015/11/20(金) 16:15:12.98 ID:v3U3Slwh
>>884
なるほど、目的と手段はわかりました。
なら、こうですね。

' デッキをもとに戻すときに呼ぶ
Sub InitializeDeck()
  Columns("E:E").ClearContents
End Sub

Sub draw()
  Dim Ret As Integer
  While True
    Ret = Int((40 * Rnd) + 1) + 1
    If Cells(Ret, 5).Value <> "*" Then
      Cells(Ret, 5) = "*"
      Cells(Ret, 1).Copy Destination:=Cells(22, 6 + i)
      Exit Sub
    End If
  Wend
End Sub

ただし、この方法は効率がよくありません。
例えば最後の1枚を探すのに、何度もループする必要があります。
運が良ければ最初の1回で見つかるかもしれませんが、運が悪ければ数百回以上ループ
することになったりします。

効率の良い方法は、
「vba カード シャッフル」
でググってみてください。
Excel VBA 質問スレ Part38 [転載禁止]©2ch.net
889 :デフォルトの名無しさん[sage]:2015/11/20(金) 16:43:40.25 ID:v3U3Slwh
>>888
あ、カードのドローに関しては>>885のコードで十分なので、今「効率の良い方法」を
調べる必要はないですよ。
Excel VBA 質問スレ Part38 [転載禁止]©2ch.net
891 :デフォルトの名無しさん[sage]:2015/11/20(金) 17:56:13.24 ID:v3U3Slwh
>>890
山札から1枚引くこと。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。