Добавление переменных величин в проект
До этого мы использовали переменные. Например, width, height для задания ширины и высоты экрана.В программах часто используются переменные величины. Ними могут быть:
- Очки победы
- Количество жизней
- Количество патронов
- Скорость
- Уровень сложности
- и т.д.
Try it out
1. Обычно переменные величины устанавливаются при запуске программы. Например, напишите такой код:
Sub programSetup
' Начальные значения переменных
width = 600
height = 400
' Очки игрока вначале = 0
score = 0
' здоровье игрока вначале = 10
hp = 10
' урон от касания к лаве вначале = 1
damage = 1
' Настройки окна
GraphicsWindow.canresize = "false"
GraphicsWindow.width = width
GraphicsWindow.height = height
GraphicsWindow.backgroundcolor = "DarkSlateBlue"
EndSub
programSetup()
2. После этого описываем подпрограммы, в которых эти величины могут изменяться:
Sub decreaseHp
hp = hp - damage
EndSub
Sub increaseScore
score = score + 1
EndSub
3. Вызовем их в случае, когда нужно уменьшить здоровье. Например, в случае касания лавы, противника или неправильного ответа:
TextWindow.WriteLine("Какой метод отвечает за изменение фона графического окна? Введите 1 или 2")
TextWindow.WriteLine("1. GraphicsWindow.BrushColor")
TextWindow.WriteLine("2. GraphicsWindow.BackgroundColor")
answer = TextWindow.ReadNumber()
If answer = 1 Then
TextWindow.WriteLine("Ответ неправильный!")
decreaseHp()
Else
TextWindow.WriteLine("Ответ правильный =)")
increaseScore()
EndIf
4. Для вывода значений на графическое окно можно использовать метод Shapes.AddText(). Например:
scoreText = Shapes.AddText("Score = " + usrScore)
Для того, чтобы новый текст не перекрывал старый, старый нужно прятать при помощи команды:
Shapes.HideShape(scoreText)
Добавим в программу подпрограмму для вывода количества здоровья на экран:
Добавим в программу подпрограмму для вывода количества здоровья на экран:
Sub updateHpText
Shapes.HideShape(hpText)
hpText = Shapes.AddText("Hp = " + hp)
Shapes.Move(hpText, 100,200)
hpText = Shapes.AddText("Hp = " + hp)
Shapes.Move(hpText, 100,200)
EndSub
Теперь вызовем эту процедуру после каждого изменения hp:
Теперь вызовем эту процедуру после каждого изменения hp:
If answer = 1 Then
TextWindow.WriteLine("Ответ неправильный!")
decreaseHp()
updateHpText()
updateHpText()
Else
Также эту подпрограмму нужно вызвать в setup, чтобы hp было отображено при запуске программы.
5. Напишите код самостоятельно для вывода на экран количества очков по похожему алгоритму.
Также эту подпрограмму нужно вызвать в setup, чтобы hp было отображено при запуске программы.
5. Напишите код самостоятельно для вывода на экран количества очков по похожему алгоритму.
Задания
Задание 7.1*. Создайте 3 переменные: damage, speed, hp и выведите их на экран. При нажатии на клавишу D увеличивайте damage, S – speed, H – hp. Все изменения должны быть выведены на экран.
Задание 7.2***. Создайте текстовую тест-игру (в текстовом окне), состоящую из 3 вопросов из любой предметной области (например, программирование, география, история и т.п). За каждый правильный ответ добавляйте 2 очка. За каждый неправильный снимайте 1 жизнь. При каждом ответе меняйте фон графического окна на красный/зелёный в случае правильного/неправильного ответа и выводите количество очков и здоровья.
Комментарии
Отправить комментарий