Основы офисного программирования и документы Word


Константы для организации диалогов Public


Option Explicit ' Константы для организации диалогов Public Const Mes1 = "Ужасно, нелепо и грустно! " Public Const Mes2 = "Прекрасно, как славно,отлично! " Public Const Mes3 = " Волк съел козу! " Public Const Mes4 = " Коза съела капусту! " Public Const Mes5 = " Лодка перевернулась и все утонули! " Public Const Mes6 = " Вам это удалось! Все переправились!" Public Const Mes7 = " Не удалось дотащить " Public Const Mes8 = " Человека! " Public Const Mes9 = " Волка! " Public Const Mes10 = " Козу! " Public Const Mes11 = " Капусту! " Public Const Mes12 = " Повторите попытку! " Public Const Mes13 = " Беда!" Public Const Mes14 = " Радость! " Public Const Mes15 = " Лодку! " Public Const Txt1 = "Привет! Я Рокки." & vbCrLf _ & "Щелкни по острову, если захочешь поговорить со мной." Public Const Txt2 = "Волк, Коза и Капуста!" 'Public Const Txt3 = "{wmf " & MyPath & "\goat.wmf}" 'Public Const Txt4 = "{wmf " & MyPath & "\cabbage.wmf}" Public Const Txt5 = ""
'Массив баллончиков - диалоговых окон Рокки Public RockyBalloons(1 To 10) As Balloon Public Sub Dialog() 'Начальный диалог при открытии игры 'Анализ состояния игры Select Case StateOfPlay Case "InitState" Call Dialog1 Case "State1" Call Dialog2 Case "State2" Call Dialog9 Case "StateFinish" Call Dialog10 Case Else End Select
End Sub Public Sub OneBall() Dim Text1 As String, Text2 As String, Text3 As String Dim Text4 As String, Text5 As String Dim MyPath As String MyPath = ActiveDocument.Path 'Формирование свойства Text Text1 = "Хочешь знать, как перевезти с берега на берег" ' Вставка графики в середину текста Text2 = "{wmf " & MyPath & "\wolf.wmf}" & " Волка," & vbCrLf Text3 = "{wmf "& MyPath & "\goat.wmf}" & " Козу" & " И " Text4 = "{wmf " & MyPath & "\cabbage.wmf}" & " Капусту?" & vbCrLf & vbCrLf 'Text5 = "Соблюдая 3 правила?" Dim FirstBall As Balloon Set FirstBall = Assistant.NewBalloon With FirstBall .Heading = "Волк, Коза и Капуста" .Icon = msoIconAlert .Text = Text1 & Text2 & Text3 & Text4 .Button = msoButtonSetYesNo .Show End With End Sub
Public Sub FormBalloons() 'Инициализация баллончиков Dim I As Integer For I = 1 To 10 Set RockyBalloons(I) = Assistant.NewBalloon RockyBalloons(I).Heading = Txt2 RockyBalloons(I).Icon = msoIconAlertInfo Next I FormBall1 FormBall2 FormBall3 FormBall4 FormBall5 FormBall6 FormBall7 'FormBall8 End Sub Public Sub FormBall1() 'Формирование свойства Text - знакомство With RockyBalloons(1) .Text = Txt1 .Button = msoButtonSetOK End With End Sub
Public Sub Dialog1() RockyBalloons(1).Show StateOfPlay = "State1" 'Игра началась End Sub Public Sub FormBall2() Dim Text1 As String, Text2 As String, Text3 As String Dim Text4 As String, Text5 As String 'Формирование свойства Text Text1 = "Нужно срочно перевезти с берега на берег" ' Вставка графики в середину текста Text2 = "{wmf " & MyPath & "\wolf.wmf}" & " Волка," & vbCrLf Text3 = "{wmf " & MyPath &"\goat.wmf}" & " Козу" & " И " Text4 = "{wmf " & MyPath & "\cabbage.wmf}" & " Капусту?" & vbCrLf & vbCrLf Text5 = "Хочешь знать правила игры?" With RockyBalloons(2) .Text = Text1 & Text2 & Text3 & Text4 & Text5 .Button = msoButtonSetYesNo End With End Sub
Public Sub Dialog2() Answer = RockyBalloons(2).Show Select Case Answer Case msoBalloonButtonYes 'Нажата кнопка Yes 'Показать правила игры Call Dialog3 Case msoBalloonButtonNo 'Нажата кнопка No 'Предложить начать играть Call Dialog4 End Select End Sub
Public Sub FormBall3() Dim Text1 As String, Text2 As String, Text3 As String Dim Text4 As String, Text5 As String 'Формирование переменных Text Text1 = "В лодке, используемой для перевоза," & _ " может находиться не более двух путников" & _ " (человек, волк, коза и капуста - это путники)." & vbCrLf _ & "При попытке посадить большее число путников лодка перевернется. " Text2 = "Если оставить в лодке или на берегу волка и козу без присмотра человека," & _ vbCrLf &"то волк немедленно съест козу." Text3 = "Если оставить в лодке или на берегу капусту и козу без присмотра человека," & _ vbCrLf & "то коза немедленно съест капусту." Text4 = "Без человека лодка не может переплыть на другой берег." Text5 = "Начинайте играть! Желаю успеха!" With RockyBalloons(3) .BalloonType = msoBalloonTypeNumbers .Labels(1).Text = Text1 .Labels(2).Text = Text2 .Labels(3).Text = Text3 .Labels(4).Text = Text4 .Labels(5).Text = Text5 End With End Sub
Public Sub Dialog3() RockyBalloons(3).Show StateOfPlay = "State2" 'Правила заданы End Sub
Public Sub FormBall4() RockyBalloons(4).Text = "Начинайте играть! Желаю успеха!" End Sub Public Sub Dialog4() RockyBalloons(4).Show StateOfPlay = "State2" 'Правила заданы End Sub
Public Sub FormBall5() RockyBalloons(5).Icon = msoIconAlertCritical
End Sub Public Sub Dialog5() RockyBalloons(5).Text = Mes1 + vbCrLf + Mes3 RockyBalloons(5).Show StateOfPlay = "State1" 'Начало игры End Sub
Public Sub Dialog6() RockyBalloons(5).Text = Mes1 + vbCrLf + Mes4 RockyBalloons(5).Show StateOfPlay = "State1" 'Начало игры End Sub Public Sub Dialog7() RockyBalloons(5).Text = Mes1 + vbCrLf + Mes5 RockyBalloons(5).Show StateOfPlay = "State1" 'Начало игры End Sub Public Sub FormBall6() RockyBalloons(6).Icon = msoIconAlert RockyBalloons(6).Text = Mes2 + vbCrLf + Mes6 End Sub Public Sub Dialog8() RockyBalloons(6).Show StateOfPlay = "StateFinish" 'Конец игры End Sub
Public Sub Dialog9() 'Совет!
'Rule1: Если волк и коза на одном берегу, то увези козу. 'Rule2: Если капуста и коза на одном берегу, то увези капусту. If (StateOfWolf = StateOfGoat) Then RockyBalloons(7).Text = "Увези козу!" ElseIf (StateOfCabbage = StateOfGoat) Then RockyBalloons(7).Text = "Увези капусту!" Else RockyBalloons(7).Text = "Тут моя помощь не нужна!" End If RockyBalloons(7).Show
End Sub
Public Sub FormBall7() RockyBalloons(7).Icon = msoIconTip End Sub Public Sub Dialog10() RockyBalloons(6).Text = "Приходите, поиграем еще раз! Рокки будет ждать." RockyBalloons(6).Show StateOfPlay = "StateFinish" 'Конец игры End Sub
Листинг 7.11.
Закрыть окно
Содержание раздела