Members
(constant) Actions
Actions handled by game
- Source:
Methods
accept_cookies()
Saves user acknowledgement of cookies
- Source:
action_to_offset(action) → {}
Converts action to coordinate offset
Parameters:
| Name | Type | Description |
|---|---|---|
action |
number |
- Source:
Returns:
- Type
add_finish_button_to_level_game_wrapper(game, game_saver, game_state, levels)
Adds 'finish game' button
Parameters:
| Name | Type | Description |
|---|---|---|
game |
Game | |
game_saver |
GameSaver | |
game_state |
GameState | |
levels |
apply_action(handler, action)
Queues action to be handled and handles it as soon as it's possible
Parameters:
| Name | Type | Description |
|---|---|---|
handler |
function | |
action |
any |
- Source:
apply_edition(level, tile, mode, element)
Tries to change element at tile in given mode
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
tile |
||
mode |
number | |
element |
number |
- Source:
apply_game_action(action, level_data, logic) → {boolean}
Applies provided action using provided interface
Parameters:
| Name | Type | Description |
|---|---|---|
action |
number | Action to apply, any of Actions member |
level_data |
LevelData | |
logic |
GameLogic |
- Source:
Returns:
true if action was applied false otherwise
- Type
- boolean
arrays_equal(first, second) → {boolean}
Checks if arrays contain elements equal with == operator
Parameters:
| Name | Type | Description |
|---|---|---|
first |
||
second |
Returns:
- Type
- boolean
can_move_or_push(level, offset) → {boolean}
Checks whether player can move by offset
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
offset |
number |
Returns:
- Type
- boolean
can_push_box(level, box_position, offset) → {boolean}
Checks whether box can be pushed by offset
Parameters:
| Name | Type | Description |
|---|---|---|
level |
LeveL | |
box_position |
||
offset |
Returns:
- Type
- boolean
can_walk_into_without_pushing(level, position) → {boolean}
Checks if given position allows to be put on it.
Position cannot be wall and cannot contain a box
Does not consider player because only player can move elements around
and there's only one player
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Levels | |
position |
Returns:
- Type
- boolean
check_cookies_accepted()
Displays a message if cookies weren't acknowledged
- Source:
clone_game(game)
Creates independent clone of the game
Parameters:
| Name | Type | Description |
|---|---|---|
game |
Game |
- Source:
clone_level(level)
Creates an independent copy of the level
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level |
create_level_ui()
Creates a basic level interface
The interface consists of:
- satisfaction counter
- level display
- information about controls
- restart button
create_new_level(width, height)
Creates sample level to edit
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
width |
number | 5 | |
height |
number | 5 |
- Source:
create_satisfaction_counter(level, element)
Initializes satisfaction counter
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
element |
Element |
deep_array_copy(array) → {}
Deeply copies an array
Parameters:
| Name | Type | Description |
|---|---|---|
array |
Returns:
deep copy of the array
- Type
draw_level(level, on_tile_click)
Draws level using HTML
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
on_tile_click |
function |
- Source:
erase(level, tile, element)
Tries to erase element at tile
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
tile |
||
element |
number |
- Source:
get_box_index(level, box) → {number}
Returns index of box in the level
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
box |
Position of the box |
Returns:
- Type
- number
get_cookie(name) → {string|undefined}
Parameters:
| Name | Type | Description |
|---|---|---|
name |
string | Name of the cookie to get value of |
- Source:
Returns:
- Type
- string | undefined
get_target_index(level, target) → {number}
Returns index of target in the level
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
target |
Position of the target |
Returns:
- Type
- number
get_user_level_by_index(index, game_state)
Returns user level by given index.
Level is presented in the state it was saved in editor.
IOW, as it was never played on
Parameters:
| Name | Type | Description |
|---|---|---|
index |
number | |
game_state |
GameState |
- Source:
get_user_level_by_name(name, game_state)
Returns user level by given name
Level is presented in the state it was saved in editor,
IOW, as it was never played on
Parameters:
| Name | Type | Description |
|---|---|---|
name |
string | |
game_state |
GameState |
- Source:
insert_into_ranking(entry, ranking)
Inserts given entry into ranking
Parameters:
| Name | Type | Description |
|---|---|---|
entry |
RankingEntry | |
ranking |
- Source:
is_box_satisfied(level, box) → {boolean}
Checks if given box is satisfied (there's a target on its position)
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
box |
Returns:
- Type
- boolean
is_level_completed(level) → {boolean}
Checks if given level is completed (all box are satisfied)
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level |
Returns:
true if level is completed, false otherwise
- Type
- boolean
is_level_valid()
Check whether the level is valid i.e.
Is player specified and there are as many boxes as targets
- Source:
link_controls(handler)
Binds keyboard events to game actions, and calls provided handler on action
Parameters:
| Name | Type | Description |
|---|---|---|
handler |
function |
- Source:
load_game_state(deserializer, loader)
Loads game state using provided deserializer and loader
Parameters:
| Name | Type | Description |
|---|---|---|
deserializer |
Deserializer | |
loader |
Loader |
- Source:
move_box_from(box_index, offset, level_data, logic)
Removes box from a tile
Parameters:
| Name | Type | Description |
|---|---|---|
box_index |
number | |
offset |
||
level_data |
LevelData | |
logic |
GameLogic |
- Source:
move_box_to(box_index, offset, level_data, logic)
Puts box on a tile
Parameters:
| Name | Type | Description |
|---|---|---|
box_index |
number | |
offset |
||
level_data |
LevelData | |
logic |
GameLogic |
- Source:
move_game_to_ranking(game, game_state)
Removes game from saved and inserts score into ranking
Parameters:
| Name | Type | Description |
|---|---|---|
game |
Game | |
game_state |
GameState |
- Source:
next_queued_action(handler)
Processes actions.
When there are no waiting actions, the next one can be applied immediately.
Otherwise try to apply every action until the first success
Parameters:
| Name | Type | Description |
|---|---|---|
handler |
function |
- Source:
place(level, tile, element)
Tries to place element at tile
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
tile |
||
element |
number |
- Source:
play_edited_level(level, game_state)
Plays level without saving and upon completion goes back to editing
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
game_state |
GameState |
- Source:
play_game(game, game_state, levels)
Play (continue) game - all levels sorted from easy to hard
Parameters:
| Name | Type | Description |
|---|---|---|
game |
Game | |
game_state |
GameState | |
levels |
play_level_at(element, level_data, logic)
Parameters:
| Name | Type | Description |
|---|---|---|
element |
HTMLElement | |
level_data |
LevelData | |
logic |
GameLogic |
play_level_on_default_game_wrapper()
Starts level on the #game-wrapper element set in HTML
play_single_level(element, level, original_level, level_saver, on_level_completed, after_level_completed)
Play single level
Parameters:
| Name | Type | Description |
|---|---|---|
element |
HTMLElement | Element to put ui on |
level |
Level | Initial state of the level |
original_level |
Level | Default (reset) state of the level |
level_saver |
LevelSaver | Object that saves levels |
on_level_completed |
function | Callback immediately on level completed |
after_level_completed |
function | Callback after user presses 'continue' |
push_box(box_index, offset, level_data, logic)
Pushes box by offset
Parameters:
| Name | Type | Description |
|---|---|---|
box_index |
number | |
offset |
||
level_data |
LevelData | |
logic |
GameLogic |
- Source:
remove_box(level, box)
Removes a box from given position if there's any
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
box |
number |
remove_cookie(name)
Parameters:
| Name | Type | Description |
|---|---|---|
name |
string | Name of the cookie to remove |
- Source:
remove_finish_button_from_game_wrapper()
Removes 'finish game' button
remove_from_ranking(entry, ranking)
Removes given entry from ranking
Parameters:
| Name | Type | Description |
|---|---|---|
entry |
RankingEntry | |
ranking |
- Source:
remove_paused_user_level(level, game_state)
Removes level from paused levels created by user
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
game_state |
GameState |
- Source:
remove_saved_game(game, game_state)
Removes given game from game state if present
Parameters:
| Name | Type | Description |
|---|---|---|
game |
Game | |
game_state |
GameState |
- Source:
remove_target(level, target)
Removes a target from given position if there's any
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
target |
number |
remove_user_level(level, game_state)
Removes level from levels created by user
and from paused levels
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
game_state |
GameState |
- Source:
remove_wall(level, wall)
Removes a wall from given position if there's any
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
wall |
number |
reset_buttons_state(mode_buttons, element_buttons)
Resets level editor buttons to defautl state i.e. 'place floor'
Parameters:
| Name | Type | Description |
|---|---|---|
mode_buttons |
||
element_buttons |
- Source:
reset_game_state()
Removes all cookies related to game state
- Source:
resize_level(level, width, height)
Resizes level and removes elements that are no longer inside
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
width |
number | |
height |
number |
resize_level_or_show_error(level, width_text, height_text)
Try to resize level from provided text. If impossible show error
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
width_text |
string | |
height_text |
string |
- Source:
satisfied_boxes_count(level) → {number}
Counts how many boxes are satisfied
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level |
Returns:
- Type
- number
save_game(game, game_state)
Saves game into game_state
Parameters:
| Name | Type | Description |
|---|---|---|
game |
Game | |
game_state |
GameState |
- Source:
save_game_state(game_state, serializer, saver)
Saves game state using provided serializer and saver
Parameters:
| Name | Type | Description |
|---|---|---|
game_state |
GameState | |
serializer |
Serializer | |
saver |
Saver |
- Source:
save_new_user_level(level, game_state)
Creates new level in game_state
Sets provided level index
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
game_state |
GameState |
- Source:
save_paused_user_level(level, game_state)
Saves paused level created by user
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
game_state |
GameState |
- Source:
save_user_level(level, game_state)
Saves level created by user and sets its paused state
Parameters:
| Name | Type | Description |
|---|---|---|
level |
Level | |
game_state |
GameState |
- Source:
set_cookie(name, value)
Set's a cookie
Parameters:
| Name | Type | Description |
|---|---|---|
name |
string | Cookie name |
value |
string | Cookie value |
- Source:
split_levels_by_difficulty(levels) → {LevelsByDiffcutly}
Splits level by set difficulty.
If level's difficulty is undefined it's ignored
Parameters:
| Name | Type | Description |
|---|---|---|
levels |
Array of levels to split |
- Source:
Returns:
- Type
- LevelsByDiffcutly
unlink_controls()
Removes previously set binding of keyboard events
- Source:
Type Definitions
LevelData
Type:
- Object
- Source: