Чтение онлайн

на главную - закладки

Жанры

Программирование мобильных устройств на платформе .NET Compact Framework

Салмре Иво

Шрифт:

'---------------------------------------------------------------------

'Конечный автомат, воздействующий на пользовательский интерфейс и

'управляющий переходами приложения в другие состояния в соответствии с

'текущим режимом работы пользователя

'-----------------
– ---------------------------------------------------

Private Sub StateChangeForGame(ByVal newGameUIState _

 As GameState)

 'Определить, в какое состояние переходит приложение

 Select Case (newGameUIState)

 Case GameState.StartScreen

'Если переход в данное состояние осуществляется из состояния,

'для которого это запрещено, возбудить исключение

If ((m_CurrentGameState <> GameState.CongratulateUser) _

AndAlso (m_CurrentGameState <> GameState.ScoldUser)) Then

Throw New System.Exception("Запрещённое изменение состояния!")

End If

'ЧТО СДЕЛАТЬ: Поместите сюда код, выполняющий следующие операции:

' 1. Скрытие (Hide), отображение (Show) и перемещение (Move)

' элементов управления пользовательского интерфейса

' 2. Настройка переменных/состояний игры, соответствующих

' данному режиму работы

' SetUpGameStateForStartScreen

 Case GameState.AskQuestion

'Если переход в данное состояние осуществляется из состояния,

'для которого это запрещено, возбудить исключение

If ((m_CurrentGameState <> GameState.StartScreen) _

AndAlso (m_CurrentGameState <> GameState.CongratulateUser) _

AndAlso (m_CurrentGameState <> GameState.ScoldUser)) Then

Throw New System.Exception("Запрещённое изменение состояния!")

End If

'ЧТО СДЕЛАТЬ: Поместите сюда код, выполняющий следующие операции:

' 1. Скрытие (Hide), отображение (Show) и перемещение (Move)

' элементов управления пользовательского интерфейса

' 2. Настройка переменных/состояний игры, соответствующих

' данному режиму работы

'

' SetUpGameStateForAskQuestion

 Case GameState.CongratulateUser

'Если переход в данное состояние осуществляется из состояния,

'для которого это запрещено, возбудить исключение

If (m_CurrentGameState <> GameState.AskQuestion) Then

Throw New System.Exception("Запрещённое изменение состояния!")

End If

'ЧТО СДЕЛАТЬ: Поместите сюда код, выполняющий следующие операции:

' 1. Скрытие (Hide), отображение (Show) и перемещение (Move)

' элементов управления пользовательского интерфейса

' 2. Настройка переменных/состояний игры, соответствующих

' данному режиму работы

'

' SetUpGameStateForCongratulateUser

 Case GameState.ScoldUser

'Если переход в данное состояние осуществляется из состояния,

'для которого это запрещено, возбудить исключение

If (m_CurrentGameState <> GameState.AskQuestion) Then

Throw New System.Exception("Запрещённое изменение состояния!")

End If

'ЧТО СДЕЛАТЬ: Поместите сюда код, выполняющий следующие операции:

' 1. Скрытие (Hide), отображение (Show) и перемещение (Move)

' элементов управления пользовательского интерфейса

' 2. Настройка переменных/состояний игры, соответствующих

' данному режиму работы

' SetUpGameStateForScoldUser

 Case Else

Throw New System.Exception("Наизвестное состояние!")

 End Select

 'Сохранить запрошенное новое состояние в качестве текущего

 m_CurrentGameState = newGameUIState

End Sub

End Class

Листинг 5.2. Неявное изменение состояния приложения (неудачный подход)

'Код, выполняющийся при загрузке формы

Private Sub Form1_Load(ByVal senderAs System.Object,ByVal _

 e As System.EventArgs) Handles MyBase.Load

 TextBox1.Visible = True

 ListBox1.Visible = False

End Sub

'Данные

Private m_someImportantInfoAs String

Поделиться:
Популярные книги

Наследие Маозари 5

Панежин Евгений
5. Наследие Маозари
Фантастика:
фэнтези
юмористическое фэнтези
5.00
рейтинг книги
Наследие Маозари 5

Убивать, чтобы жить

Бор Жорж
1. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать, чтобы жить

Черный Маг Императора 23

Герда Александр
23. Черный маг императора
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Черный Маг Императора 23

Кодекс Охотника XXXI

Винокуров Юрий
31. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Охотника XXXI

Анти-Ксенонская Инициатива

Вайс Александр
7. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Анти-Ксенонская Инициатива

Иной. Том 5. Адская работа

Amazerak
5. Иной в голове
Фантастика:
боевая фантастика
городское фэнтези
технофэнтези
рпг
5.00
рейтинг книги
Иной. Том 5. Адская работа

Вечный. Книга V

Рокотов Алексей
5. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга V

Волкодав

Семёнова Мария Васильевна
1. Волкодав
Фантастика:
фэнтези
героическая фантастика
9.46
рейтинг книги
Волкодав

Администратор

Дорничев Дмитрий
14. Мое пространственное убежище
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Администратор

Драчуны

Алексеев Михаил Николаевич
Проза:
советская классическая проза
5.00
рейтинг книги
Драчуны

Звездная Кровь. Экзарх II

Рокотов Алексей
2. Экзарх
Старинная литература:
прочая старинная литература
5.00
рейтинг книги
Звездная Кровь. Экзарх II

Юнлинг

Метельский Николай Александрович
Фантастика:
героическая фантастика
космическая фантастика
попаданцы
8.35
рейтинг книги
Юнлинг

Хозяин Стужи 2

Петров Максим Николаевич
2. Злой Лед
Фантастика:
аниме
фэнтези
попаданцы
5.75
рейтинг книги
Хозяин Стужи 2

Наемный корпус

Вайс Александр
5. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Наемный корпус