Skip to content

Commit 5d58513

Browse files
committed
Add quick-help screen
1 parent 14d9aa5 commit 5d58513

File tree

3 files changed

+68
-0
lines changed

3 files changed

+68
-0
lines changed

main.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ function love.load()
3131
local screens = {
3232
main = require('src.screens.MainScreen');
3333
inventory = require('src.screens.InventoryScreen');
34+
help = require('src.screens.HelpScreen');
3435
};
3536

3637
ScreenManager.init(screens, 'main');
@@ -51,6 +52,7 @@ function love.draw()
5152

5253
love.graphics.setColor( 255, 255, 255, 100 );
5354
love.graphics.print( versionString, love.graphics.getWidth() - 155, 5 );
55+
love.graphics.print( 'Press "h" for help!', love.graphics.getWidth() - 155, 25 );
5456
love.graphics.setColor( 255, 255, 255, 255 );
5557
end
5658

src/screens/HelpScreen.lua

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
local ScreenManager = require( 'lib.screenmanager.ScreenManager' );
2+
local Screen = require( 'lib.screenmanager.Screen' );
3+
4+
-- ------------------------------------------------
5+
-- Module
6+
-- ------------------------------------------------
7+
8+
local HelpScreen = {};
9+
10+
-- ------------------------------------------------
11+
-- Constructor
12+
-- ------------------------------------------------
13+
14+
function HelpScreen.new()
15+
local self = Screen.new();
16+
17+
local t = {
18+
'CHARACTERS',
19+
'backspace - Select previous character',
20+
'space - Select next character',
21+
'return - End turn',
22+
' NOTE: Characters can also be selected by right clicking on them.',
23+
'i - Open inventory',
24+
'',
25+
'WEAPONS',
26+
'left - select previous firing mode',
27+
'right - select next firing mode',
28+
'r - reload current weapon',
29+
'',
30+
'STANCES',
31+
's - change stance to Stand',
32+
'c - change stance to Crouch',
33+
'p - change stance to Prone',
34+
'',
35+
'INPUT MODES',
36+
'a - Switch to Attack Mode',
37+
'm - Switch to Movement Mode',
38+
'e - Switch to Interaction Mode (e.g. to open barrels or doors)',
39+
}
40+
41+
function self:draw()
42+
love.graphics.setColor( 0, 0, 0, 220 );
43+
love.graphics.rectangle( 'fill', 5, 5, love.graphics.getWidth() - 5, love.graphics.getHeight() - 5 );
44+
love.graphics.setColor( 200, 200, 200, 200 );
45+
love.graphics.rectangle( 'line', 5, 5, love.graphics.getWidth() - 5, love.graphics.getHeight() - 5 );
46+
love.graphics.setColor( 255, 255, 255, 255 );
47+
48+
for i, line in ipairs( t ) do
49+
love.graphics.print( line, 20, 20 * i );
50+
end
51+
end
52+
53+
function self:keypressed( key )
54+
if key == 'escape' then
55+
ScreenManager.pop();
56+
end
57+
end
58+
59+
return self;
60+
end
61+
62+
return HelpScreen;

src/screens/MainScreen.lua

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
local ScreenManager = require( 'lib.screenmanager.ScreenManager' );
12
local Screen = require( 'lib.screenmanager.Screen' );
23
local Game = require( 'src.Game' );
34
local WorldPainter = require( 'src.ui.WorldPainter' );
@@ -97,6 +98,9 @@ function MainScreen.new()
9798
if key == 'f' then
9899
love.window.setFullscreen( not love.window.getFullscreen() );
99100
end
101+
if key == 'h' then
102+
ScreenManager.push( 'help' );
103+
end
100104

101105
game:keypressed( key );
102106
end

0 commit comments

Comments
 (0)