dポイントプレゼントキャンペーン実施中!

ポーカーのストレートをVbaのループを使ってプログラムしたいのですが、考えてもできません、教えていただけないでしょうか?
よろしくお願いいたします

質問者からの補足コメント

  • こんな感じです

    「Vbaのポーカーのストレートのプログラム」の補足画像1
      補足日時:2020/01/07 00:17

A 回答 (5件)

こんにちは



方法はいろいろあると思いますが、ご提示の図中にCellsとあるので、エクセルと仮定しました。
以下は、シートのA列最下行のA~E列にストレートのセットを追加表示するものです。

Sub Sample()
Dim i, n, suit, r, c
Const rnk = "A23456789TJQKA"
suit = ChrW(9824) & ChrW(9825) & ChrW(9826) & ChrW(9827)
n = Int(Rnd() * 9)
Set c = Cells(Rows.Count, 1).End(xlUp)
If c.Value <> "" Then Set c = c.Offset(1)

For i = 1 To 5
 r = Mid(rnk, n + i, 1)
 If r = "T" Then r = "10"
 c.Offset(0, i - 1).Value = r & Mid(suit, Int(Rnd() * 4 + 1), 1)
Next i
End Sub
    • good
    • 0

以下でどうなりますか



Sub t()
  Dim i As Long, n As Long

  Randomize

  n = Int(9 * Rnd()) + 2
  For i = 1 To 4
    Debug.Print n
    n = n + 1
  Next
  If (n > 13) Then n = 1
  Debug.Print n
  Debug.Print
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます、試して見ます

お礼日時:2020/01/07 17:24

何がしたいのか分かりません。


既に決定されているカード5枚に対して、ストレートであるかどうかを判定したいのですか?
    • good
    • 0
この回答へのお礼

ごめんなさい、すでに決定されてる五枚とはなんですか?

お礼日時:2020/01/07 17:29

ストレートの判定方法でしょうか?


因みにポーカーのプログラムはどんな風になっているのでしょうか?
    • good
    • 1
この回答へのお礼

for と nextでループしてなるべく少ないプログラムでストレートを出すという感じです。

お礼日時:2020/01/07 00:10

For i=6 to 10


Msgbox i
Next

6から10のストレート。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!