0

然而,我正在尝试设置这个刽子手游戏,到目前为止它只适用于步进模式。

按下播放后会发生什么,如果我选择了一个错误的字母,它不会显示“刽子手”形状,直到我做出正确的猜测。

因此,例如,如果我做出 2 个不正确的猜测(因此在重复循环之前应该显示 2 个形状),在我的第 3 个猜测正确之前什么都不会发生,那么它会同时显示两个形状。

代码在步进模式下工作正常,如果我用 F8 浏览代码,没有问题,形状按顺序显示。不太确定这里可能是什么问题。

Option Explicit

Dim wks As Worksheet
Dim word As Range
Dim rect As Shape

Sub Hangman()


Dim fletter As Variant
Dim myLetter As String
Dim i As Byte

Set wks = ThisWorkbook.ActiveSheet
Set word = wks.Range("B1:J1")

i = 1

Do Until wks.Range("b1:j1").Font.Color = VBA.ColorConstants.vbBlack Or i = 9

myLetter = VBA.InputBox("What is the next letter")

Set word = Range("B1:J1").Find(myLetter)




        If Not word Is Nothing Then

        word.Font.Color = VBA.ColorConstants.vbBlack
        fletter = word.Address

            Do

            Set word = Range("B1:J1").FindNext(word)
            word.Font.Color = VBA.ColorConstants.vbBlack

            If word.Address = fletter Then Exit Do


            Loop

        Else


        Set rect = ThisWorkbook.ActiveSheet.shapes("Shape" & i)

        rect.Visible = msoTrue


        i = i + 1

        End If


   Loop



End Sub
4

0 回答 0