Программирование мобильных устройств на платформе .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.00
рейтинг книги
Воевода
5. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Князь
3. Варяг
Фантастика:
альтернативная история
9.15
рейтинг книги
Вечный. Книга II
2. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Снега
Поэзия:
драматургия
5.00
рейтинг книги
На границе империй. Том 10. Часть 10
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Боярышня Дуняша 2
2. Боярышня
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Ваше Сиятельство 6
6. Ваше Сиятельство
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 23
23. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Хроники Тириса. Книга 1
1. Хроники Тириса
Фантастика:
боевая фантастика
космическая фантастика
фантастика: прочее
6.00
рейтинг книги
Родословная. Том 4
4. Линия крови
Фантастика:
городское фэнтези
аниме
фэнтези
5.00
рейтинг книги
Глубокий космос
9. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Группа крови на рукаве
1. ГК
Фантастика:
боевая фантастика
попаданцы
альтернативная история
6.40
рейтинг книги
Геном хищника. Книга четвертая
4. Я - Легенда!
Фантастика:
боевая фантастика
рпг
попаданцы
5.00