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

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

Жанры

Программирование мобильных устройств на платформе .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

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

Мастер Разума V

Кронос Александр
5. Мастер Разума
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Мастер Разума V

Последний из рода Демидовых

Ветров Борис
Фантастика:
детективная фантастика
попаданцы
аниме
5.00
рейтинг книги
Последний из рода Демидовых

Любовь Носорога

Зайцева Мария
Любовные романы:
современные любовные романы
9.11
рейтинг книги
Любовь Носорога

Авиатор: назад в СССР 12

Дорин Михаил
12. Покоряя небо
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Авиатор: назад в СССР 12

Толян и его команда

Иванов Дмитрий
6. Девяностые
Фантастика:
попаданцы
альтернативная история
7.17
рейтинг книги
Толян и его команда

Академия

Кондакова Анна
2. Клан Волка
Фантастика:
боевая фантастика
5.40
рейтинг книги
Академия

Изгой. Пенталогия

Михайлов Дем Алексеевич
Изгой
Фантастика:
фэнтези
9.01
рейтинг книги
Изгой. Пенталогия

Неудержимый. Книга IX

Боярский Андрей
9. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга IX

Невеста

Вудворт Франциска
Любовные романы:
любовно-фантастические романы
эро литература
8.54
рейтинг книги
Невеста

Энфис 2

Кронос Александр
2. Эрра
Фантастика:
героическая фантастика
рпг
аниме
5.00
рейтинг книги
Энфис 2

Убийца

Бубела Олег Николаевич
3. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.26
рейтинг книги
Убийца

Лорд Системы

Токсик Саша
1. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
4.00
рейтинг книги
Лорд Системы

Делегат

Астахов Евгений Евгеньевич
6. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Делегат

Невеста напрокат

Завгородняя Анна Александровна
Любовные романы:
любовно-фантастические романы
6.20
рейтинг книги
Невеста напрокат