-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlessonInstruct.lua
95 lines (70 loc) · 2.55 KB
/
lessonInstruct.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
------------------------------------------------------------------------
-- lessonInstruct.lua
--
-- Copyright 2010 Brandon Blodget
--
-- This file is part of "Love To Type."
--
-- "Love To Type" is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
-- "Love To Type" is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with "Love To Type". If not, see <http://www.gnu.org/licenses/>.
------------------------------------------------------------------------
LessonInstruct = {}
LessonInstruct.__index = LessonInstruct
function LessonInstruct.create()
local self = LessonInstruct
-- only need one instance of LessonInstruct
if (self.initialized) then
return self
end
self.button = {
title = Button.createTextButton("Lessons", 400, 120, false),
back = Button.createTextButton("Back", 400, 550)
}
self.instruct =
"Select a level and then select a lesson. " ..
"Each lesson is designed to teach you 4 or 5 new keys. " ..
"First nonsense combinations will be displayed to introduce each new key. " ..
"Type these twice, pressing RETURN or SPACEBAR at the end of each line. " ..
"Next, keys will be displayed one at a time in a box. Type the key that is shown. " ..
"Then words or combinations using the new keys will be displayed. Type each line twice. " ..
"At the end of the lesson, your actual and target words per minute will be displayed." ..
"You can exit the lesson at any time by pressing the Escape key."
return self
end
function LessonInstruct:draw()
love.graphics.setBackgroundColor(unpack(color.light_blue))
love.graphics.setColor(unpack(color.black))
love.graphics.setFont(font["small"])
love.graphics.printf(self.instruct, 100,200,600,"center")
for n,b in pairs(self.button) do
b:draw()
end
end
function LessonInstruct:update(dt)
for n,b in pairs(self.button) do
b:update(dt)
end
end
function LessonInstruct:mousepressed(x,y,button)
for n,b in pairs(self.button) do
if b:mousepressed(x,y,button) then
if n == "back" then
state = LessonMenu.create()
end
end
end
end
function LessonInstruct:keypressed(key)
if key == "escape" then
state = LessonMenu.create()
end
end