先打顺子牌(顺子指连续的5个及以牌型,如45678,顺子最大到A),若有多个顺子,先长后短长度和同按先小后大的顺序打出然后按4张、3张、2张、1张的顺序出牌,同一个牌型从小到大。
小刘依据上述算法设计了VB程序,其中牌型“10”用数字“0”代替表示,如图所示,请回答下列问题。
(1)若初始牌型为344445566790JQKA2,第2次出的牌为______________。
(2)请在划线处填入合适代码。
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Dim a (1 To 13) As Integer, max As Integer, t As Integer, last As Integer
Dim sa As String, stem As String, flag As Boolean
Const s="34567890JQKA2"'用0代替牌10
'发牌和洗牌代码略,在标签Label1显示初始牌型,洗牌后数组a各元素分别存储牌型3~2的数量
t=17 '刚开始牌有17张
Do While t>0 '打牌
flag=True
Do While flag '寻找牌中有没有顺子牌max =0:k =1:flag=False
For i=1 To 13
If ①____ Then
k=k+1
If k > Max Then
Max = k
Last = i+1 '记录连续牌的最后一张
End If
Else
k=1
End If
Next i
If Max >= 5 Then '有顺子牌,把最长的这把顺子打出来
flag=True: sa= ""
For j = ②____ To last
Stem=Mid(s,j,1)
sa=sa +stem+ ""
a(j)=a(j)-1
Next j
List1.AddItem sa '顺子在列表框显示
t=t-max
End If
Loop
For i= 1 To 13 '出4个一样的牌
If a(i)=4 Then
stem=Mid(s,j,1)
List1.AddItem stem+stem+stem+stem
a(i)=0
③_____
End If
Next i
'3张、2张、单张出牌,具体代码略
Loop
End Sub
同类型试题
y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2
y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2