Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:
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
SetAnswerButtonVisibility(False)
SetDifficultyButtonVisibility(False)
Case GameUIState.waitForNextQuestion
setQuestionText("List answer details here... " + vbCrLf + _
"Lots of space to write..." + vbCrLf + _
"Waiting for user to select next question...")
textBoxAskQuestion.Visible = True
buttonAskQuestion.Text = "Next"
buttonAskQuestion.Visible = True
'Убедиться в том, что кнопка отображается на переднем плане
buttonAskQuestion.BringToFront
SetAnswerButtonVisibility(False)
SetDifficultyButtonVisibility(False)
#If PLAYFIELD_ON_BOTTOM <> 0 Then 'ПОЛЕ ИГРЫ располагается под ПИ
textBoxAskQuestion.Height = pictureBoxGameBoard.Top - 2
#Else 'ПОЛЕ ИГРЫ располагается над пользовательскими элементами управления
textBoxAskQuestion.Top = pictureBoxGameBoard.Top + _
pictureBoxGameBoard.Height + 2
textBoxAskQuestion.Height = Me.Height - _
textBoxAskQuestion.Top
#End If
Case GameUIState.waitForUserToStateKnowledge
SetTextForVocabularyQuestion
textBoxAskQuestion.Visible = True
buttonAskQuestion.Visible = False
SetAnswerButtonVisibility(False)
SetDifficultyButtonVisibility(True)
#If PLAYFIELD_ON_BOTTOM <> 0 Then 'ПОЛЕ ИГРЫ располагается под ПИ
textBoxAskQuestion.Height = _
buttonShowAnswers_AdvancedVersion.Top - 2
#Else 'ПОЛЕ ИГРЫ располагается над пользовательскими элементами управления
textBoxAskQuestion.Top = _
buttonShowAnswers_AdvancedVersion.Top + _
buttonShowAnswers_AdvancedVersion.Height + 2
textBoxAskQuestion.Height = Me.Height - _
textBoxAskQuestion.Top
#End If
Case GameUIState.waitForUserToAnswerMultipleChoice
buttonAskQuestion.Visible = False
SetDifficultyButtonVisibility(False)
'Сделать кнопки доступными, чтобы пользователь мог щелкать на них
SetAnswerButtonEnabled(True)
SetAnswerButtonVisibility(True)
#If PLAYFIELD_ON_BOTTOM <> 0 Then
'ПОЛЕ ИГРЫ располагается под ПИ
textBoxAskQuestion.Height = buttonAnswer0.Top - 2
#Else 'ПОЛЕ ИГРЫ располагается над пользовательскими элементами управления
'Разместить текстовое окно таким образом, чтобы экран использовался
'эффективно
textBoxAskQuestion.Top = buttonAnswer5.Top + _
buttonAnswer5.Height + 2
textBoxAskQuestion.Height = Me.Height - _
textBoxAskQuestion.Top
#End If
End Select
End Sub
'========================================================================
'Задать статическую компоновку нашего пользовательского интерфейса.
'Сюда входят все элементы, позиции которых остаются фиксированными.
'Изменения в остальные свойства внесет конечный автомат пользовательского
'интерфейса
'========================================================================
Private Sub SetStartControlPositionAndState
pictureBoxGameBoard.Width = 240
pictureBoxGameBoard.Height = 176
'Установить размеры кнопок множественного выбора вариантов ответов
Const answerButtons_dx As Integer = 117
Const answerButtons_dy As Integer = 18
Поделиться:
Популярные книги
Кодекс Охотника. Книга XXIX
29. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Сильнейший Столп Империи. Книга 1
1. Сильнейший Столп Империи
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Охотник за головами
1. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Двойник Короля
1. Двойник Короля
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Я до сих пор не князь. Книга XVI
16. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Старая школа рул
1. Второгодка
Фантастика:
альтернативная история
6.00
рейтинг книги
Гримуар темного лорда VII
7. Гримуар темного лорда
Фантастика:
боевая фантастика
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Третий. Том 6
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
фантастика: прочее
попаданцы
5.00
рейтинг книги
Князь Андер Арес 3
3. Андер Арес
Фантастика:
рпг
аниме
фэнтези
5.00
рейтинг книги
Зайти и выйти
Проза:
военная проза
5.00
рейтинг книги
Двойник Короля 8
8. Двойник Короля
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
И.Бабель. Воспоминания современников
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Я не князь. Книга XIII
13. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Технарь
1. Технарь
Фантастика:
космическая фантастика
попаданцы
7.13