> assemblyName + ".Hank_RightRun1.bmp"))
> m_CaveMan_Bitmap2 = New System.Drawing.Bitmap( _
> thisAssembly.GetManifestResourceStream( _
> assemblyName + ".Hank_RightRun2.bmp"))
> m_CaveMan_Bitmap3 = New System.Drawing.Bitmap( _
> thisAssembly.GetManifestResourceStream( _
> assemblyName + ".Hank_LeftRunl.bmp"))
> m_CaveMan_Bitmap4 = New System.Drawing.Bitmap( _
> thisAssembly.GetManifestResourceStream( _
> assemblyName + ".Hank_LeftRun2.bmp"))
> 'Добавить их в коллекцию
> m_colCaveManBitmaps = New System.Collections.ArrayList
> m_colCaveManBitmaps.Add(m_CaveMan_Bitmap1)
> m_colCaveManBitmaps.Add(m_CaveMan_Bitmap2)
> m_colCaveManBitmaps.Add(m_CaveMan_Bitmap3)
> m_colCaveManBitmaps.Add(m_CaveMan_Bitmap4)
> End If
> 'Возвратить коллекцию
> Return m_colCaveManBitmaps
>End Function
>End Class
Примеры к главе 13 (проектирование пользовательского интерфейса)
Листинг 13.1. Использование конечного автомата для экспериментов с двумя различными вариантами компоновки пользовательского интерфейса
>#Const PLAYFIELD_ON_BOTTOM = 0 'Отобразить ПОЛЕ ИГРЫ под ПИ
>'#Const PLAYFIELD_ON_BOTTOM = 1 'Отобразить ПОЛЕ ИГРЫ над ПИ
>'-------------------------------------------------
>'ОБРАБОТЧИК СОБЫТИЙ: Вызывается при загрузке формы
>'-------------------------------------------------
>Private Sub Form1_Load(ByVal sender As System.Object, _
> ByVal e As System.EventArgs) Handles MyBase.Load
> 'Задать совместно используемые свойства нашего визуального интерфейса
> SetStartControlPositionAndState()
> 'Задать динамические свойства, исходя из того, в какое состояние
> 'игры мы входим
> StateChangeForGameUI(GameUIState.startScreen)
>End Sub
>'---------------------------------------------------------------------------
>'Конечный автомат, который управляет отображением кнопок, скрываемых вручную
>'---------------------------------------------------------------------------
>Private Enum GameUIState
> startScreen = 1
> waitForNextQuestion = 2
> waitForUserToStateKnowledge = 4
> waitForUserToAnswerMultipleChoice = 8
>End Enum
>'Текущее состояние игры
>Private m_GameUIState As GameUIState
>'==========================================================================
>'Конечный автомат, используемый для управления пользовательским интерфейсом
>'==========================================================================
>Private Sub StateChangeForGameUI(ByVal newGameUIState As _
> GameUIState)
> m_GameUIState = newGameUIState
> Select Case (newGameUIState)
> Case GameUIState.startScreen
> buttonAskQuestion.Visible = True
> buttonAskQuestion.Text = "Start"
> 'Скрыть текстовое окно
> textBoxAskQuestion.Visible = False