rapid-router 5.4.1__py2.py3-none-any.whl → 7.6.8__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- example_project/rapid_router_test_settings.py +164 -0
- example_project/settings.py +152 -0
- example_project/urls.py +15 -0
- example_project/{example_project/wsgi.py → wsgi.py} +2 -1
- game/__init__.py +1 -1
- game/admin.py +43 -4
- game/app_settings.py +3 -7
- game/character.py +26 -18
- game/decor.py +172 -97
- game/end_to_end_tests/base_game_test.py +44 -33
- game/end_to_end_tests/editor_page.py +17 -2
- game/end_to_end_tests/game_page.py +127 -45
- game/end_to_end_tests/selenium_test_case.py +1 -20
- game/end_to_end_tests/test_cow_crashes.py +3 -5
- game/end_to_end_tests/test_language_dropdown.py +14 -0
- game/end_to_end_tests/test_level_editor.py +290 -0
- game/end_to_end_tests/test_level_failures.py +1 -1
- game/end_to_end_tests/test_level_selection.py +79 -0
- game/end_to_end_tests/test_play_through.py +240 -102
- game/end_to_end_tests/test_python_levels.py +44 -13
- game/end_to_end_tests/test_saving_workspace.py +22 -0
- game/forms.py +9 -2
- game/level_management.py +38 -29
- game/messages.py +1218 -203
- game/migrations/0001_squashed_0025_levels_ordering_pt1.py +19 -1
- game/migrations/0026_levels_pt2.py +13 -2
- game/migrations/0032_cannot_turn_left_level.py +13 -2
- game/migrations/0033_recursion_level.py +13 -2
- game/migrations/0034_joes_level.py +13 -2
- game/migrations/0035_disable_route_score_level_70.py +0 -2
- game/migrations/0036_level_score_73.py +0 -2
- game/migrations/0037_level_score_79.py +0 -2
- game/migrations/0038_level_score_40.py +0 -1
- game/migrations/0042_level_score_73.py +0 -2
- game/migrations/0048_add_cow_field_and_blocks.py +0 -2
- game/migrations/0049_level_score_34.py +0 -2
- game/migrations/0050_level_score_40.py +0 -2
- game/migrations/0051_level_score_49.py +0 -1
- game/migrations/0076_level_locked_for_class.py +19 -0
- game/migrations/0077_alter_level_next_level.py +52 -0
- game/migrations/0078_add_block_types.py +23 -0
- game/migrations/0079_populate_block_type_add_cow_blocks.py +60 -0
- game/migrations/0080_level_disable_algorithm_score.py +18 -0
- game/migrations/0081_first_12_levels_no_algo_score.py +29 -0
- game/migrations/0082_level_43_solution.py +16 -0
- game/migrations/0083_add_cows_to_existing_levels.py +195 -0
- game/migrations/0084_alter_block_block_type.py +18 -0
- game/migrations/0085_add_new_blocks.py +53 -0
- game/migrations/0086_loop_levels.py +482 -0
- game/migrations/0087_workspace_python_view_enabled.py +18 -0
- game/migrations/0088_rename_episodes.py +35 -0
- game/migrations/0089_episodes_in_development.py +30 -0
- game/migrations/0090_add_missing_model_solutions.py +144 -0
- game/migrations/0091_disable_algo_score_if_no_model_solution.py +46 -0
- game/migrations/0092_disable_algo_score_in_custom_levels.py +28 -0
- game/migrations/0093_alter_level_character_name.py +18 -0
- game/migrations/0094_add_hint_lesson_subtitle_to_levels.py +28 -0
- game/migrations/0095_level_commands.py +18 -0
- game/migrations/0096_alter_level_commands.py +18 -0
- game/migrations/0097_add_python_den_levels.py +1515 -0
- game/migrations/0098_add_episode_link_fields.py +44 -0
- game/migrations/0099_python_episodes_links.py +103 -0
- game/migrations/0100_reorder_python_levels.py +179 -0
- game/migrations/0101_rename_episodes.py +45 -0
- game/migrations/0102_reoder_episodes_13_14.py +136 -0
- game/migrations/0103_level_1015_solution.py +26 -0
- game/migrations/0104_remove_level_direct_drive.py +17 -0
- game/migrations/0105_delete_invalid_attempts.py +18 -0
- game/migrations/0106_fields_to_snake_case.py +48 -0
- game/migrations/0107_rename_worksheet_link_episode_student_worksheet_link.py +18 -0
- game/migrations/0108_episode_indy_worksheet_link.py +18 -0
- game/migrations/0109_create_episodes_23_and_24.py +99 -0
- game/migrations/0110_remove_episode_indy_worksheet_link_and_more.py +100 -0
- game/migrations/0111_create_worksheets.py +149 -0
- game/migrations/0112_worksheet_locked_classes.py +21 -0
- game/migrations/0113_level_needs_approval.py +18 -0
- game/migrations/0114_default_and_non_student_levels_no_approval.py +31 -0
- game/migrations/0115_level_level__default_does_not_need_approval.py +22 -0
- game/migrations/0116_update_worksheet_video_links.py +68 -0
- game/migrations/0117_update_solutions_to_if_else.py +61 -0
- game/models.py +157 -16
- game/permissions.py +34 -19
- game/python_den_urls.py +26 -0
- game/random_road.py +43 -127
- game/serializers.py +12 -17
- game/static/django_reverse_js/js/reverse.js +171 -0
- game/static/game/css/LilitaOne-Regular.ttf +0 -0
- game/static/game/css/backgrounds.css +14 -10
- game/static/game/css/dataTables.custom.css +4 -2
- game/static/game/css/dataTables.jqueryui.css +561 -320
- game/static/game/css/editor.css +47 -0
- game/static/game/css/game.css +43 -49
- game/static/game/css/game_screen.css +116 -53
- game/static/game/css/jquery.dataTables.css +455 -251
- game/static/game/css/level_editor.css +10 -1
- game/static/game/css/level_selection.css +32 -3
- game/static/game/css/level_share.css +6 -5
- game/static/game/css/skulpt/codemirror.css +1 -0
- game/static/game/image/Python_Den_hero_student.png +0 -0
- game/static/game/image/Python_levels_page.svg +1954 -0
- game/static/game/image/characters/front_view/Electric_van.svg +448 -0
- game/static/game/image/characters/top_view/Electric_van.svg +448 -0
- game/static/game/image/characters/top_view/Sleigh.svg +436 -0
- game/static/game/image/decor/city/solar_panel.svg +1200 -0
- game/static/game/image/decor/farm/solar_panel.svg +86 -0
- game/static/game/image/decor/grass/solar_panel.svg +86 -0
- game/static/game/image/decor/snow/barn.svg +1788 -0
- game/static/game/image/decor/snow/cfc.svg +1050 -147
- game/static/game/image/decor/snow/crops.svg +7370 -0
- game/static/game/image/decor/snow/hospital.svg +1220 -0
- game/static/game/image/decor/snow/house1.svg +971 -0
- game/static/game/image/decor/snow/house2.svg +1574 -0
- game/static/game/image/decor/snow/school.svg +1071 -0
- game/static/game/image/decor/snow/shop.svg +3211 -0
- game/static/game/image/decor/snow/solar_panel.svg +173 -0
- game/static/game/image/electric_van.svg +448 -0
- game/static/game/image/icons/add_house.svg +26 -0
- game/static/game/image/icons/delete_house.svg +26 -0
- game/static/game/image/icons/description.svg +1 -0
- game/static/game/image/icons/hint.svg +1 -0
- game/static/game/image/icons/if_else.svg +3 -0
- game/static/game/image/icons/python.svg +1 -1
- game/static/game/image/if_else_example.png +0 -0
- game/static/game/image/pigeon.svg +684 -0
- game/static/game/image/python_den_header.svg +19 -0
- game/static/game/js/animation.js +84 -28
- game/static/game/js/blockly/msg/js/bg.js +52 -1
- game/static/game/js/blockly/msg/js/ca.js +52 -1
- game/static/game/js/blockly/msg/js/en-gb.js +52 -1
- game/static/game/js/blockly/msg/js/en.js +52 -1
- game/static/game/js/blockly/msg/js/es.js +52 -1
- game/static/game/js/blockly/msg/js/fr.js +52 -1
- game/static/game/js/blockly/msg/js/hi.js +52 -1
- game/static/game/js/blockly/msg/js/it.js +52 -1
- game/static/game/js/blockly/msg/js/pl.js +52 -1
- game/static/game/js/blockly/msg/js/pt-br.js +52 -1
- game/static/game/js/blockly/msg/js/ru.js +52 -1
- game/static/game/js/blockly/msg/js/ur.js +52 -1
- game/static/game/js/blocklyCompiler.js +550 -392
- game/static/game/js/blocklyControl.js +335 -302
- game/static/game/js/blocklyCustomBlocks.js +691 -458
- game/static/game/js/blocklyCustomisations.js +3 -1
- game/static/game/js/button.js +12 -0
- game/static/game/js/cow.js +15 -130
- game/static/game/js/drawing.js +313 -201
- game/static/game/js/editor.js +23 -0
- game/static/game/js/game.js +148 -139
- game/static/game/js/jquery.dataTables.min.js +3 -159
- game/static/game/js/level_editor.js +823 -448
- game/static/game/js/level_moderation.js +33 -2
- game/static/game/js/level_selection.js +62 -25
- game/static/game/js/loadLanguages.js +21 -0
- game/static/game/js/map.js +106 -36
- game/static/game/js/model.js +55 -107
- game/static/game/js/pathFinder.js +73 -72
- game/static/game/js/program.js +184 -193
- game/static/game/js/pythonControl.js +14 -1
- game/static/game/js/scoreboard.js +0 -37
- game/static/game/js/scoreboardSharedLevels.js +48 -0
- game/static/game/js/sharing.js +22 -10
- game/static/game/js/skulpt/codemirror.js +5 -4
- game/static/game/js/skulpt/skulpt-stdlib.js +1 -1
- game/static/game/js/sound.js +52 -5
- game/static/game/js/van.js +0 -7
- game/static/game/raphael_image/characters/top_view/Electric_van.svg +448 -0
- game/static/game/raphael_image/characters/top_view/Sleigh.svg +436 -0
- game/static/game/raphael_image/decor/city/solar_panel.svg +1200 -0
- game/static/game/raphael_image/decor/farm/solar_panel.svg +86 -0
- game/static/game/raphael_image/decor/grass/solar_panel.svg +86 -0
- game/static/game/raphael_image/decor/snow/barn.svg +1788 -0
- game/static/game/raphael_image/decor/snow/cfc.svg +1050 -147
- game/static/game/raphael_image/decor/snow/crops.svg +7370 -0
- game/static/game/raphael_image/decor/snow/hospital.svg +1220 -0
- game/static/game/raphael_image/decor/snow/house1.svg +971 -0
- game/static/game/raphael_image/decor/snow/house2.svg +1574 -0
- game/static/game/raphael_image/decor/snow/school.svg +1071 -0
- game/static/game/raphael_image/decor/snow/shop.svg +3211 -0
- game/static/game/raphael_image/decor/snow/solar_panel.svg +173 -0
- game/static/game/raphael_image/pigeon.svg +685 -0
- game/static/game/raphael_image/sleigh_wreckage.svg +430 -0
- game/static/game/sass/game.scss +22 -6
- game/static/game/sound/clown_horn.mp3 +0 -0
- game/static/game/sound/clown_horn.ogg +0 -0
- game/static/game/sound/electric_van_starting.mp3 +0 -0
- game/static/game/sound/electric_van_starting.ogg +0 -0
- game/static/game/sound/pigeon.mp3 +0 -0
- game/static/game/sound/pigeon.ogg +0 -0
- game/static/game/sound/sleigh_bells.mp3 +0 -0
- game/static/game/sound/sleigh_bells.ogg +0 -0
- game/static/game/sound/sleigh_crash.mp3 +0 -0
- game/static/game/sound/sleigh_crash.ogg +0 -0
- game/templates/game/base.html +35 -15
- game/templates/game/basenonav.html +23 -17
- game/templates/game/game.html +236 -111
- game/templates/game/level_editor.html +353 -275
- game/templates/game/level_moderation.html +19 -6
- game/templates/game/level_selection.html +75 -62
- game/templates/game/python_den_level_selection.html +291 -0
- game/templates/game/python_den_worksheet.html +101 -0
- game/templates/game/scoreboard.html +88 -65
- game/tests/test_level_editor.py +210 -35
- game/tests/test_level_moderation.py +6 -20
- game/tests/test_level_selection.py +332 -11
- game/tests/test_python_den_worksheet.py +85 -0
- game/tests/test_scoreboard.py +258 -66
- game/tests/utils/level.py +43 -3
- game/tests/utils/teacher.py +2 -2
- game/theme.py +21 -21
- game/urls.py +125 -78
- game/views/language_code_conversions.py +90 -0
- game/views/level.py +201 -63
- game/views/level_editor.py +109 -48
- game/views/level_moderation.py +29 -6
- game/views/level_selection.py +179 -56
- game/views/level_solutions.py +600 -106
- game/views/scoreboard.py +181 -66
- game/views/worksheet.py +25 -0
- rapid_router-7.6.8.dist-info/METADATA +174 -0
- {rapid_router-5.4.1.dist-info → rapid_router-7.6.8.dist-info}/RECORD +222 -242
- {rapid_router-5.4.1.dist-info → rapid_router-7.6.8.dist-info}/WHEEL +1 -1
- rapid_router-7.6.8.dist-info/licenses/LICENSE.md +3 -0
- example_project/example_project/__init__.py +0 -1
- example_project/example_project/settings.py +0 -54
- example_project/example_project/urls.py +0 -16
- example_project/manage.py +0 -10
- game/autoconfig.py +0 -59
- game/csp_config.py +0 -23
- game/locale/ar_SA/LC_MESSAGES/django.mo +0 -0
- game/locale/ar_SA/LC_MESSAGES/django.po +0 -405
- game/locale/ar_SA/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/ar_SA/LC_MESSAGES/djangojs.po +0 -743
- game/locale/bg_BG/LC_MESSAGES/django.mo +0 -0
- game/locale/bg_BG/LC_MESSAGES/django.po +0 -405
- game/locale/bg_BG/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/bg_BG/LC_MESSAGES/djangojs.po +0 -739
- game/locale/ca_ES/LC_MESSAGES/django.mo +0 -0
- game/locale/ca_ES/LC_MESSAGES/django.po +0 -405
- game/locale/ca_ES/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/ca_ES/LC_MESSAGES/djangojs.po +0 -740
- game/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
- game/locale/cs_CZ/LC_MESSAGES/django.po +0 -405
- game/locale/cs_CZ/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/cs_CZ/LC_MESSAGES/djangojs.po +0 -741
- game/locale/cy_GB/LC_MESSAGES/django.mo +0 -0
- game/locale/cy_GB/LC_MESSAGES/django.po +0 -405
- game/locale/cy_GB/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/cy_GB/LC_MESSAGES/djangojs.po +0 -743
- game/locale/de_DE/LC_MESSAGES/django.mo +0 -0
- game/locale/de_DE/LC_MESSAGES/django.po +0 -405
- game/locale/de_DE/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/de_DE/LC_MESSAGES/djangojs.po +0 -739
- game/locale/el_GR/LC_MESSAGES/django.mo +0 -0
- game/locale/el_GR/LC_MESSAGES/django.po +0 -405
- game/locale/el_GR/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/el_GR/LC_MESSAGES/djangojs.po +0 -739
- game/locale/en_GB/LC_MESSAGES/django.mo +0 -0
- game/locale/en_GB/LC_MESSAGES/django.po +0 -405
- game/locale/en_GB/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/en_GB/LC_MESSAGES/djangojs.po +0 -739
- game/locale/es_ES/LC_MESSAGES/django.mo +0 -0
- game/locale/es_ES/LC_MESSAGES/django.po +0 -405
- game/locale/es_ES/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/es_ES/LC_MESSAGES/djangojs.po +0 -739
- game/locale/fi_FI/LC_MESSAGES/django.mo +0 -0
- game/locale/fi_FI/LC_MESSAGES/django.po +0 -405
- game/locale/fi_FI/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/fi_FI/LC_MESSAGES/djangojs.po +0 -739
- game/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
- game/locale/fr_FR/LC_MESSAGES/django.po +0 -405
- game/locale/fr_FR/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/fr_FR/LC_MESSAGES/djangojs.po +0 -739
- game/locale/gu_IN/LC_MESSAGES/django.mo +0 -0
- game/locale/gu_IN/LC_MESSAGES/django.po +0 -405
- game/locale/gu_IN/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/gu_IN/LC_MESSAGES/djangojs.po +0 -739
- game/locale/hi_IN/LC_MESSAGES/django.mo +0 -0
- game/locale/hi_IN/LC_MESSAGES/django.po +0 -405
- game/locale/hi_IN/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/hi_IN/LC_MESSAGES/djangojs.po +0 -739
- game/locale/id_ID/LC_MESSAGES/django.mo +0 -0
- game/locale/id_ID/LC_MESSAGES/django.po +0 -405
- game/locale/id_ID/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/id_ID/LC_MESSAGES/djangojs.po +0 -738
- game/locale/it_IT/LC_MESSAGES/django.mo +0 -0
- game/locale/it_IT/LC_MESSAGES/django.po +0 -405
- game/locale/it_IT/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/it_IT/LC_MESSAGES/djangojs.po +0 -739
- game/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
- game/locale/ja_JP/LC_MESSAGES/django.po +0 -405
- game/locale/ja_JP/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/ja_JP/LC_MESSAGES/djangojs.po +0 -738
- game/locale/lol_US/LC_MESSAGES/django.mo +0 -0
- game/locale/lol_US/LC_MESSAGES/django.po +0 -405
- game/locale/lol_US/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/lol_US/LC_MESSAGES/djangojs.po +0 -739
- game/locale/nb_NO/LC_MESSAGES/django.mo +0 -0
- game/locale/nb_NO/LC_MESSAGES/django.po +0 -405
- game/locale/nb_NO/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/nb_NO/LC_MESSAGES/djangojs.po +0 -739
- game/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
- game/locale/nl_NL/LC_MESSAGES/django.po +0 -405
- game/locale/nl_NL/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/nl_NL/LC_MESSAGES/djangojs.po +0 -739
- game/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
- game/locale/pl_PL/LC_MESSAGES/django.po +0 -405
- game/locale/pl_PL/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/pl_PL/LC_MESSAGES/djangojs.po +0 -741
- game/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- game/locale/pt_BR/LC_MESSAGES/django.po +0 -405
- game/locale/pt_BR/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/pt_BR/LC_MESSAGES/djangojs.po +0 -739
- game/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
- game/locale/pt_PT/LC_MESSAGES/django.po +0 -405
- game/locale/pt_PT/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/pt_PT/LC_MESSAGES/djangojs.po +0 -739
- game/locale/ro_RO/LC_MESSAGES/django.mo +0 -0
- game/locale/ro_RO/LC_MESSAGES/django.po +0 -405
- game/locale/ro_RO/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/ro_RO/LC_MESSAGES/djangojs.po +0 -740
- game/locale/ru_RU/LC_MESSAGES/django.mo +0 -0
- game/locale/ru_RU/LC_MESSAGES/django.po +0 -405
- game/locale/ru_RU/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/ru_RU/LC_MESSAGES/djangojs.po +0 -741
- game/locale/sv_SE/LC_MESSAGES/django.mo +0 -0
- game/locale/sv_SE/LC_MESSAGES/django.po +0 -405
- game/locale/sv_SE/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/sv_SE/LC_MESSAGES/djangojs.po +0 -739
- game/locale/tl_PH/LC_MESSAGES/django.mo +0 -0
- game/locale/tl_PH/LC_MESSAGES/django.po +0 -405
- game/locale/tl_PH/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/tl_PH/LC_MESSAGES/djangojs.po +0 -739
- game/locale/tlh_AA/LC_MESSAGES/django.mo +0 -0
- game/locale/tlh_AA/LC_MESSAGES/django.po +0 -405
- game/locale/tlh_AA/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/tlh_AA/LC_MESSAGES/djangojs.po +0 -739
- game/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
- game/locale/tr_TR/LC_MESSAGES/django.po +0 -405
- game/locale/tr_TR/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/tr_TR/LC_MESSAGES/djangojs.po +0 -740
- game/locale/ur_IN/LC_MESSAGES/django.mo +0 -0
- game/locale/ur_IN/LC_MESSAGES/django.po +0 -405
- game/locale/ur_IN/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/ur_IN/LC_MESSAGES/djangojs.po +0 -739
- game/locale/ur_PK/LC_MESSAGES/django.mo +0 -0
- game/locale/ur_PK/LC_MESSAGES/django.po +0 -405
- game/locale/ur_PK/LC_MESSAGES/djangojs.mo +0 -0
- game/locale/ur_PK/LC_MESSAGES/djangojs.po +0 -739
- game/static/game/image/actions/go.svg +0 -18
- game/static/game/image/icons/destination.svg +0 -9
- game/static/game/js/pqselect.min.js +0 -9
- game/static/game/js/widget-scroller.js +0 -906
- rapid_router-5.4.1.dist-info/LICENSE.md +0 -577
- rapid_router-5.4.1.dist-info/METADATA +0 -24
- {rapid_router-5.4.1.dist-info → rapid_router-7.6.8.dist-info}/top_level.txt +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
'''example_project __init__'''
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"""Django settings for example_project project."""
|
|
2
|
-
import os
|
|
3
|
-
|
|
4
|
-
DEBUG = True
|
|
5
|
-
|
|
6
|
-
TEMPLATES = [
|
|
7
|
-
{
|
|
8
|
-
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
|
9
|
-
'OPTIONS': {
|
|
10
|
-
'debug': DEBUG,
|
|
11
|
-
},
|
|
12
|
-
},
|
|
13
|
-
]
|
|
14
|
-
|
|
15
|
-
DATABASES = {
|
|
16
|
-
'default': {
|
|
17
|
-
'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
|
|
18
|
-
'NAME': os.path.join(os.path.abspath(os.path.dirname(__file__)),'db.sqlite3'), # Or path to database file if using sqlite3.
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
|
|
23
|
-
|
|
24
|
-
USE_I18N = True
|
|
25
|
-
USE_L10N = True
|
|
26
|
-
|
|
27
|
-
TIME_ZONE = 'Europe/London'
|
|
28
|
-
LANGUAGE_CODE = 'en-gb'
|
|
29
|
-
LANGUAGES = (('en-gb', 'English'),)
|
|
30
|
-
STATIC_ROOT = os.path.join(os.path.dirname(__file__), 'static')
|
|
31
|
-
STATIC_URL = '/static/'
|
|
32
|
-
SECRET_KEY = 'not-a-secret'
|
|
33
|
-
|
|
34
|
-
ROOT_URLCONF = 'example_project.urls'
|
|
35
|
-
|
|
36
|
-
WSGI_APPLICATION = 'example_project.wsgi.application'
|
|
37
|
-
|
|
38
|
-
INSTALLED_APPS = (
|
|
39
|
-
'game',
|
|
40
|
-
)
|
|
41
|
-
|
|
42
|
-
ALLOWED_HOSTS = ['*']
|
|
43
|
-
PIPELINE_ENABLED = False
|
|
44
|
-
|
|
45
|
-
# This is used in common to enable/disable the OneTrust cookie management script
|
|
46
|
-
COOKIE_MANAGEMENT_ENABLED = False
|
|
47
|
-
|
|
48
|
-
try:
|
|
49
|
-
from example_project.local_settings import * # pylint: disable=E0611
|
|
50
|
-
except ImportError:
|
|
51
|
-
pass
|
|
52
|
-
|
|
53
|
-
from django_autoconfig import autoconfig
|
|
54
|
-
autoconfig.configure_settings(globals())
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
from aimmo import urls as aimmo_urls
|
|
2
|
-
from django.conf.urls import include, url
|
|
3
|
-
from django.contrib import admin
|
|
4
|
-
from django.urls import path
|
|
5
|
-
from portal import urls as portal_urls
|
|
6
|
-
|
|
7
|
-
from game import urls as game_urls
|
|
8
|
-
|
|
9
|
-
admin.autodiscover()
|
|
10
|
-
|
|
11
|
-
urlpatterns = [
|
|
12
|
-
url(r"^", include(portal_urls)),
|
|
13
|
-
path("administration/", admin.site.urls),
|
|
14
|
-
url(r"^rapidrouter/", include(game_urls)),
|
|
15
|
-
url(r"^aimmo/", include(aimmo_urls)),
|
|
16
|
-
]
|
example_project/manage.py
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python
|
|
2
|
-
import os
|
|
3
|
-
import sys
|
|
4
|
-
|
|
5
|
-
if __name__ == "__main__":
|
|
6
|
-
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "example_project.settings")
|
|
7
|
-
|
|
8
|
-
from django.core.management import execute_from_command_line
|
|
9
|
-
|
|
10
|
-
execute_from_command_line(sys.argv)
|
game/autoconfig.py
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"""Game autoconfig"""
|
|
2
|
-
import os
|
|
3
|
-
|
|
4
|
-
from .csp_config import CSP_CONFIG
|
|
5
|
-
|
|
6
|
-
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
|
|
7
|
-
|
|
8
|
-
DEFAULT_SETTINGS = {"STATIC_URL": "/static/"}
|
|
9
|
-
|
|
10
|
-
SETTINGS = {
|
|
11
|
-
"PIPELINE": {
|
|
12
|
-
"SASS_ARGUMENTS": "--quiet",
|
|
13
|
-
"COMPILERS": ("game.pipeline_compilers.LibSassCompiler",),
|
|
14
|
-
"STYLESHEETS": {
|
|
15
|
-
"game-scss": {
|
|
16
|
-
"source_filenames": ("game/sass/game.scss",),
|
|
17
|
-
"output_filename": "game.css",
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
|
-
"CSS_COMPRESSOR": None,
|
|
21
|
-
},
|
|
22
|
-
"STATICFILES_FINDERS": ["pipeline.finders.PipelineFinder"],
|
|
23
|
-
"STATICFILES_STORAGE": "pipeline.storage.PipelineStorage",
|
|
24
|
-
"INSTALLED_APPS": [
|
|
25
|
-
"game",
|
|
26
|
-
"pipeline",
|
|
27
|
-
"portal",
|
|
28
|
-
"common",
|
|
29
|
-
"django.contrib.admin",
|
|
30
|
-
"django.contrib.admindocs",
|
|
31
|
-
"django.contrib.auth",
|
|
32
|
-
"django.contrib.contenttypes",
|
|
33
|
-
"django.contrib.sessions",
|
|
34
|
-
"django.contrib.messages",
|
|
35
|
-
"django.contrib.staticfiles",
|
|
36
|
-
"django_js_reverse",
|
|
37
|
-
"rest_framework",
|
|
38
|
-
],
|
|
39
|
-
"LANGUAGES": [("lol-us", "Localisation")],
|
|
40
|
-
"LOCALE_PATHS": [
|
|
41
|
-
# This shouldn't be needed, but it looks like there's an issue with
|
|
42
|
-
# using a language code that's not in `django/conf/locale` - the
|
|
43
|
-
# check_for_language function doesn't recognise it.
|
|
44
|
-
os.path.join(os.path.dirname(__file__), "locale")
|
|
45
|
-
],
|
|
46
|
-
"TEMPLATES": [
|
|
47
|
-
{
|
|
48
|
-
"BACKEND": "django.template.backends.django.DjangoTemplates",
|
|
49
|
-
"APP_DIRS": True,
|
|
50
|
-
"OPTIONS": {
|
|
51
|
-
"context_processors": ["django.template.context_processors.request"]
|
|
52
|
-
},
|
|
53
|
-
}
|
|
54
|
-
],
|
|
55
|
-
"USE_TZ": True,
|
|
56
|
-
"DEFAULT_AUTO_FIELD": "django.db.models.AutoField",
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
SETTINGS.update(CSP_CONFIG)
|
game/csp_config.py
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"""CSP config"""
|
|
2
|
-
|
|
3
|
-
from common.app_settings import domain
|
|
4
|
-
|
|
5
|
-
CSP_CONFIG = {
|
|
6
|
-
"CSP_DEFAULT_SRC": ("'self'",),
|
|
7
|
-
"CSP_IMG_SRC": (
|
|
8
|
-
f"{domain()}/static/game/image/",
|
|
9
|
-
f"{domain()}/static/game/raphael_image/",
|
|
10
|
-
f"{domain()}/static/game/js/blockly/media/",
|
|
11
|
-
f"{domain()}/static/icons/",
|
|
12
|
-
"https://cdn.crowdin.com/",
|
|
13
|
-
"https://crowdin-static.downloads.crowdin.com/",
|
|
14
|
-
),
|
|
15
|
-
"CSP_STYLE_SRC": (
|
|
16
|
-
"https://code.jquery.com/ui/1.13.1/themes/base/jquery-ui.css",
|
|
17
|
-
"https://cdn.crowdin.com/",
|
|
18
|
-
),
|
|
19
|
-
"CSP_SCRIPT_SRC": ("'unsafe-eval'", "https://cdn.crowdin.com/"),
|
|
20
|
-
"CSP_FRAME_SRC": (f"{domain()}/static/game/image/", "https://crowdin.com/"),
|
|
21
|
-
"CSP_OBJECT_SRC": (f"{domain()}/static/game/image/",),
|
|
22
|
-
"CSP_CONNECT_SRC": ("https://crowdin.com/",),
|
|
23
|
-
}
|
|
Binary file
|
|
@@ -1,405 +0,0 @@
|
|
|
1
|
-
msgid ""
|
|
2
|
-
msgstr ""
|
|
3
|
-
"Project-Id-Version: code-for-life\n"
|
|
4
|
-
"Report-Msgid-Bugs-To: \n"
|
|
5
|
-
"POT-Creation-Date: 2022-08-03 16:53+0000\n"
|
|
6
|
-
"PO-Revision-Date: 2022-08-03 16:53\n"
|
|
7
|
-
"Last-Translator: \n"
|
|
8
|
-
"Language-Team: Arabic\n"
|
|
9
|
-
"Language: ar_SA\n"
|
|
10
|
-
"MIME-Version: 1.0\n"
|
|
11
|
-
"Content-Type: text/plain; charset=UTF-8\n"
|
|
12
|
-
"Content-Transfer-Encoding: 8bit\n"
|
|
13
|
-
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"
|
|
14
|
-
"X-Crowdin-Project: code-for-life\n"
|
|
15
|
-
"X-Crowdin-Project-ID: 163289\n"
|
|
16
|
-
"X-Crowdin-Language: ar\n"
|
|
17
|
-
"X-Crowdin-File: /game/locale/en_GB/LC_MESSAGES/django.po\n"
|
|
18
|
-
"X-Crowdin-File-ID: 12\n"
|
|
19
|
-
|
|
20
|
-
#: templates/game/base.html:47
|
|
21
|
-
msgid "Levels"
|
|
22
|
-
msgstr ""
|
|
23
|
-
|
|
24
|
-
#: templates/game/base.html:51
|
|
25
|
-
msgid "Create"
|
|
26
|
-
msgstr ""
|
|
27
|
-
|
|
28
|
-
#: templates/game/base.html:56
|
|
29
|
-
msgid "Scoreboard"
|
|
30
|
-
msgstr ""
|
|
31
|
-
|
|
32
|
-
#: templates/game/base.html:62
|
|
33
|
-
msgid "Moderate"
|
|
34
|
-
msgstr ""
|
|
35
|
-
|
|
36
|
-
#: templates/game/game.html:157 templates/game/level_editor.html:415
|
|
37
|
-
msgid "Blockly"
|
|
38
|
-
msgstr ""
|
|
39
|
-
|
|
40
|
-
#: templates/game/game.html:164 templates/game/level_editor.html:417
|
|
41
|
-
msgid "Python"
|
|
42
|
-
msgstr ""
|
|
43
|
-
|
|
44
|
-
#: templates/game/game.html:172
|
|
45
|
-
msgid "Clear"
|
|
46
|
-
msgstr ""
|
|
47
|
-
|
|
48
|
-
#: templates/game/game.html:182 templates/game/level_editor.html:144
|
|
49
|
-
msgid "Play"
|
|
50
|
-
msgstr ""
|
|
51
|
-
|
|
52
|
-
#: templates/game/game.html:191
|
|
53
|
-
msgid "Fast"
|
|
54
|
-
msgstr ""
|
|
55
|
-
|
|
56
|
-
#: templates/game/game.html:199
|
|
57
|
-
msgid "Stop"
|
|
58
|
-
msgstr ""
|
|
59
|
-
|
|
60
|
-
#: templates/game/game.html:207
|
|
61
|
-
msgid "Step"
|
|
62
|
-
msgstr ""
|
|
63
|
-
|
|
64
|
-
#: templates/game/game.html:217
|
|
65
|
-
msgid "Solve"
|
|
66
|
-
msgstr ""
|
|
67
|
-
|
|
68
|
-
#: templates/game/game.html:225 templates/game/game.html:357
|
|
69
|
-
#: templates/game/game.html:386 templates/game/level_editor.html:204
|
|
70
|
-
#: templates/game/level_editor.html:508 templates/game/level_editor.html:554
|
|
71
|
-
msgid "Load"
|
|
72
|
-
msgstr ""
|
|
73
|
-
|
|
74
|
-
#: templates/game/game.html:233 templates/game/game.html:393
|
|
75
|
-
#: templates/game/game.html:414 templates/game/level_editor.html:212
|
|
76
|
-
#: templates/game/level_editor.html:560 templates/game/level_editor.html:590
|
|
77
|
-
msgid "Save"
|
|
78
|
-
msgstr ""
|
|
79
|
-
|
|
80
|
-
#: templates/game/game.html:253 templates/game/level_editor.html:230
|
|
81
|
-
msgid "Help"
|
|
82
|
-
msgstr ""
|
|
83
|
-
|
|
84
|
-
#: templates/game/game.html:269
|
|
85
|
-
msgid "Mute"
|
|
86
|
-
msgstr ""
|
|
87
|
-
|
|
88
|
-
#: templates/game/game.html:278
|
|
89
|
-
msgid "Day"
|
|
90
|
-
msgstr ""
|
|
91
|
-
|
|
92
|
-
#: templates/game/game.html:281
|
|
93
|
-
msgid "Night"
|
|
94
|
-
msgstr ""
|
|
95
|
-
|
|
96
|
-
#: templates/game/game.html:290
|
|
97
|
-
msgid "Exit"
|
|
98
|
-
msgstr ""
|
|
99
|
-
|
|
100
|
-
#: templates/game/game.html:309
|
|
101
|
-
msgid "This is what your program would look like in Python:"
|
|
102
|
-
msgstr ""
|
|
103
|
-
|
|
104
|
-
#: templates/game/game.html:318
|
|
105
|
-
msgid "Python Program"
|
|
106
|
-
msgstr ""
|
|
107
|
-
|
|
108
|
-
#: templates/game/game.html:321
|
|
109
|
-
msgid "Convert from Blockly"
|
|
110
|
-
msgstr ""
|
|
111
|
-
|
|
112
|
-
#: templates/game/game.html:326
|
|
113
|
-
msgid "Use the Python editor below to design your program, and then click play to try it out!"
|
|
114
|
-
msgstr ""
|
|
115
|
-
|
|
116
|
-
#: templates/game/game.html:329
|
|
117
|
-
msgid "Commands"
|
|
118
|
-
msgstr ""
|
|
119
|
-
|
|
120
|
-
#: templates/game/game.html:340
|
|
121
|
-
msgid "Run code"
|
|
122
|
-
msgstr ""
|
|
123
|
-
|
|
124
|
-
#: templates/game/game.html:344
|
|
125
|
-
msgid "Console log"
|
|
126
|
-
msgstr ""
|
|
127
|
-
|
|
128
|
-
#: templates/game/game.html:349
|
|
129
|
-
msgid "Clear console"
|
|
130
|
-
msgstr ""
|
|
131
|
-
|
|
132
|
-
#: templates/game/game.html:358
|
|
133
|
-
msgid "Here you can load a program you've previously saved!"
|
|
134
|
-
msgstr ""
|
|
135
|
-
|
|
136
|
-
#: templates/game/game.html:361
|
|
137
|
-
msgid "You don't have any programs to load yet. Try saving one!"
|
|
138
|
-
msgstr ""
|
|
139
|
-
|
|
140
|
-
#: templates/game/game.html:367 templates/game/game.html:399
|
|
141
|
-
#: templates/game/game.html:442 templates/game/level_editor.html:530
|
|
142
|
-
#: templates/game/level_editor.html:569 templates/game/level_editor.html:622
|
|
143
|
-
msgid "Name"
|
|
144
|
-
msgstr ""
|
|
145
|
-
|
|
146
|
-
#: templates/game/game.html:381 templates/game/level_editor.html:549
|
|
147
|
-
msgid "Delete"
|
|
148
|
-
msgstr ""
|
|
149
|
-
|
|
150
|
-
#: templates/game/game.html:394
|
|
151
|
-
msgid "Here you can save your program so you can retrieve it later!"
|
|
152
|
-
msgstr ""
|
|
153
|
-
|
|
154
|
-
#: templates/game/game.html:443 templates/game/level_editor.html:623
|
|
155
|
-
msgid "Shared"
|
|
156
|
-
msgstr ""
|
|
157
|
-
|
|
158
|
-
#: templates/game/level_editor.html:135
|
|
159
|
-
msgid "Delete Road"
|
|
160
|
-
msgstr ""
|
|
161
|
-
|
|
162
|
-
#: templates/game/level_editor.html:152
|
|
163
|
-
msgid "Play Night"
|
|
164
|
-
msgstr ""
|
|
165
|
-
|
|
166
|
-
#: templates/game/level_editor.html:162 templates/game/level_editor.html:247
|
|
167
|
-
msgid "Map"
|
|
168
|
-
msgstr ""
|
|
169
|
-
|
|
170
|
-
#: templates/game/level_editor.html:170 templates/game/level_editor.html:304
|
|
171
|
-
msgid "Scenery"
|
|
172
|
-
msgstr ""
|
|
173
|
-
|
|
174
|
-
#: templates/game/level_editor.html:178 templates/game/level_editor.html:389
|
|
175
|
-
msgid "Character"
|
|
176
|
-
msgstr ""
|
|
177
|
-
|
|
178
|
-
#: templates/game/level_editor.html:186 templates/game/level_editor.html:406
|
|
179
|
-
msgid "Code"
|
|
180
|
-
msgstr ""
|
|
181
|
-
|
|
182
|
-
#: templates/game/level_editor.html:194 templates/game/level_editor.html:459
|
|
183
|
-
msgid "Random"
|
|
184
|
-
msgstr ""
|
|
185
|
-
|
|
186
|
-
#: templates/game/level_editor.html:220 templates/game/level_editor.html:595
|
|
187
|
-
msgid "Share"
|
|
188
|
-
msgstr ""
|
|
189
|
-
|
|
190
|
-
#: templates/game/level_editor.html:238
|
|
191
|
-
msgid "Quit"
|
|
192
|
-
msgstr ""
|
|
193
|
-
|
|
194
|
-
#: templates/game/level_editor.html:248
|
|
195
|
-
msgid "Here you can design your level! What sort of road will you make?"
|
|
196
|
-
msgstr ""
|
|
197
|
-
|
|
198
|
-
#: templates/game/level_editor.html:253
|
|
199
|
-
msgid "Max fuel:"
|
|
200
|
-
msgstr ""
|
|
201
|
-
|
|
202
|
-
#: templates/game/level_editor.html:263
|
|
203
|
-
msgid "Add road"
|
|
204
|
-
msgstr ""
|
|
205
|
-
|
|
206
|
-
#: templates/game/level_editor.html:269
|
|
207
|
-
msgid "Delete road"
|
|
208
|
-
msgstr ""
|
|
209
|
-
|
|
210
|
-
#: templates/game/level_editor.html:277
|
|
211
|
-
msgid "Mark start"
|
|
212
|
-
msgstr ""
|
|
213
|
-
|
|
214
|
-
#: templates/game/level_editor.html:283
|
|
215
|
-
msgid "Mark end"
|
|
216
|
-
msgstr ""
|
|
217
|
-
|
|
218
|
-
#: templates/game/level_editor.html:291
|
|
219
|
-
msgid "Clear all"
|
|
220
|
-
msgstr ""
|
|
221
|
-
|
|
222
|
-
#: templates/game/level_editor.html:305
|
|
223
|
-
msgid "Here you can liven up your level by choosing the theme and adding scenery! Will you create beautiful countryside or a bustling city?"
|
|
224
|
-
msgstr ""
|
|
225
|
-
|
|
226
|
-
#: templates/game/level_editor.html:312
|
|
227
|
-
msgid "Theme:"
|
|
228
|
-
msgstr ""
|
|
229
|
-
|
|
230
|
-
#: templates/game/level_editor.html:322 templates/game/level_editor.html:490
|
|
231
|
-
msgid "Scenery:"
|
|
232
|
-
msgstr ""
|
|
233
|
-
|
|
234
|
-
#: templates/game/level_editor.html:332
|
|
235
|
-
msgid "Traffic lights:"
|
|
236
|
-
msgstr ""
|
|
237
|
-
|
|
238
|
-
#: templates/game/level_editor.html:338
|
|
239
|
-
msgid "Cows:"
|
|
240
|
-
msgstr ""
|
|
241
|
-
|
|
242
|
-
#: templates/game/level_editor.html:343
|
|
243
|
-
msgid "Advanced"
|
|
244
|
-
msgstr ""
|
|
245
|
-
|
|
246
|
-
#: templates/game/level_editor.html:351
|
|
247
|
-
msgid "Advanced options"
|
|
248
|
-
msgstr ""
|
|
249
|
-
|
|
250
|
-
#: templates/game/level_editor.html:369
|
|
251
|
-
msgid "How many cows should appear for this group?"
|
|
252
|
-
msgstr ""
|
|
253
|
-
|
|
254
|
-
#: templates/game/level_editor.html:371
|
|
255
|
-
msgid "Min:"
|
|
256
|
-
msgstr ""
|
|
257
|
-
|
|
258
|
-
#: templates/game/level_editor.html:372
|
|
259
|
-
msgid "Max:"
|
|
260
|
-
msgstr ""
|
|
261
|
-
|
|
262
|
-
#: templates/game/level_editor.html:390
|
|
263
|
-
msgid "Here you can choose your character. Who will you play as?"
|
|
264
|
-
msgstr ""
|
|
265
|
-
|
|
266
|
-
#: templates/game/level_editor.html:393
|
|
267
|
-
msgid "Character:"
|
|
268
|
-
msgstr ""
|
|
269
|
-
|
|
270
|
-
#: templates/game/level_editor.html:407
|
|
271
|
-
msgid "Here you can select the code you can use while playing your new level!"
|
|
272
|
-
msgstr ""
|
|
273
|
-
|
|
274
|
-
#: templates/game/level_editor.html:413
|
|
275
|
-
msgid "Language:"
|
|
276
|
-
msgstr ""
|
|
277
|
-
|
|
278
|
-
#: templates/game/level_editor.html:416
|
|
279
|
-
msgid "Blockly With Python View"
|
|
280
|
-
msgstr ""
|
|
281
|
-
|
|
282
|
-
#: templates/game/level_editor.html:418
|
|
283
|
-
msgid "Both"
|
|
284
|
-
msgstr ""
|
|
285
|
-
|
|
286
|
-
#: templates/game/level_editor.html:428
|
|
287
|
-
msgid "Select all"
|
|
288
|
-
msgstr ""
|
|
289
|
-
|
|
290
|
-
#: templates/game/level_editor.html:460
|
|
291
|
-
msgid "Here you can generate a random map. Try changing some of the parameters below and see what you get!"
|
|
292
|
-
msgstr ""
|
|
293
|
-
|
|
294
|
-
#: templates/game/level_editor.html:465
|
|
295
|
-
msgid "Size:"
|
|
296
|
-
msgstr ""
|
|
297
|
-
|
|
298
|
-
#: templates/game/level_editor.html:469
|
|
299
|
-
msgid "Branchiness:"
|
|
300
|
-
msgstr ""
|
|
301
|
-
|
|
302
|
-
#: templates/game/level_editor.html:473
|
|
303
|
-
msgid "Loopiness:"
|
|
304
|
-
msgstr ""
|
|
305
|
-
|
|
306
|
-
#: templates/game/level_editor.html:477
|
|
307
|
-
msgid "Curviness:"
|
|
308
|
-
msgstr ""
|
|
309
|
-
|
|
310
|
-
#: templates/game/level_editor.html:481
|
|
311
|
-
msgid "Traffic Lights:"
|
|
312
|
-
msgstr ""
|
|
313
|
-
|
|
314
|
-
#: templates/game/level_editor.html:484 templates/game/level_editor.html:493
|
|
315
|
-
msgid "Yes"
|
|
316
|
-
msgstr ""
|
|
317
|
-
|
|
318
|
-
#: templates/game/level_editor.html:485 templates/game/level_editor.html:494
|
|
319
|
-
msgid "No"
|
|
320
|
-
msgstr ""
|
|
321
|
-
|
|
322
|
-
#: templates/game/level_editor.html:501
|
|
323
|
-
msgid "Generate"
|
|
324
|
-
msgstr ""
|
|
325
|
-
|
|
326
|
-
#: templates/game/level_editor.html:509
|
|
327
|
-
msgid "Here you can load in levels created by you and your friends! Select a level in the table and press load."
|
|
328
|
-
msgstr ""
|
|
329
|
-
|
|
330
|
-
#: templates/game/level_editor.html:514
|
|
331
|
-
msgid "You don't have any levels to load yet. Try saving one!"
|
|
332
|
-
msgstr ""
|
|
333
|
-
|
|
334
|
-
#: templates/game/level_editor.html:519
|
|
335
|
-
msgid "Load:"
|
|
336
|
-
msgstr ""
|
|
337
|
-
|
|
338
|
-
#: templates/game/level_editor.html:521
|
|
339
|
-
msgid "your own levels"
|
|
340
|
-
msgstr ""
|
|
341
|
-
|
|
342
|
-
#: templates/game/level_editor.html:522
|
|
343
|
-
msgid "shared levels"
|
|
344
|
-
msgstr ""
|
|
345
|
-
|
|
346
|
-
#: templates/game/level_editor.html:531 templates/game/level_editor.html:570
|
|
347
|
-
msgid "Owner"
|
|
348
|
-
msgstr ""
|
|
349
|
-
|
|
350
|
-
#: templates/game/level_editor.html:561
|
|
351
|
-
msgid "Here you can save your new level. Enter a name below and hit save. Alternatively click on an existing level to update it."
|
|
352
|
-
msgstr ""
|
|
353
|
-
|
|
354
|
-
#: templates/game/level_editor.html:562
|
|
355
|
-
msgid "To play your level and be tracked, first <b>Quit</b> the Level Editor and select your level from the 'Levels created by you' section."
|
|
356
|
-
msgstr ""
|
|
357
|
-
|
|
358
|
-
#: templates/game/level_editor.html:582
|
|
359
|
-
msgid "Name:"
|
|
360
|
-
msgstr ""
|
|
361
|
-
|
|
362
|
-
#: templates/game/level_editor.html:598
|
|
363
|
-
msgid "Here you can share your level with your classes or your fellow teachers."
|
|
364
|
-
msgstr ""
|
|
365
|
-
|
|
366
|
-
#: templates/game/level_editor.html:600
|
|
367
|
-
msgid "Here you can share your level with your classmates. Try clicking in the Shared column!"
|
|
368
|
-
msgstr ""
|
|
369
|
-
|
|
370
|
-
#: templates/game/level_editor.html:606
|
|
371
|
-
msgid "Share with:"
|
|
372
|
-
msgstr ""
|
|
373
|
-
|
|
374
|
-
#: templates/game/level_editor.html:608
|
|
375
|
-
msgid "Classes"
|
|
376
|
-
msgstr ""
|
|
377
|
-
|
|
378
|
-
#: templates/game/level_editor.html:609
|
|
379
|
-
msgid "Teachers"
|
|
380
|
-
msgstr ""
|
|
381
|
-
|
|
382
|
-
#: templates/game/level_editor.html:614
|
|
383
|
-
msgid "Class:"
|
|
384
|
-
msgstr ""
|
|
385
|
-
|
|
386
|
-
#: templates/game/level_editor.html:637
|
|
387
|
-
msgid "Share with all"
|
|
388
|
-
msgstr ""
|
|
389
|
-
|
|
390
|
-
#: theme.py:23
|
|
391
|
-
msgid "Grass"
|
|
392
|
-
msgstr ""
|
|
393
|
-
|
|
394
|
-
#: theme.py:31
|
|
395
|
-
msgid "Snow"
|
|
396
|
-
msgstr ""
|
|
397
|
-
|
|
398
|
-
#: theme.py:39
|
|
399
|
-
msgid "Farm"
|
|
400
|
-
msgstr ""
|
|
401
|
-
|
|
402
|
-
#: theme.py:47
|
|
403
|
-
msgid "City"
|
|
404
|
-
msgstr ""
|
|
405
|
-
|
|
Binary file
|