From 391fe6897b23f9da50dc08c6740e2bb8ebc20582 Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Sun, 10 Jan 2021 10:29:43 +0100 Subject: [PATCH 1/6] Drop unusued english translation file --- .../locale/en/LC_MESSAGES/squirrelbattle.po | 207 ------------------ 1 file changed, 207 deletions(-) delete mode 100644 squirrelbattle/locale/en/LC_MESSAGES/squirrelbattle.po diff --git a/squirrelbattle/locale/en/LC_MESSAGES/squirrelbattle.po b/squirrelbattle/locale/en/LC_MESSAGES/squirrelbattle.po deleted file mode 100644 index c45e893..0000000 --- a/squirrelbattle/locale/en/LC_MESSAGES/squirrelbattle.po +++ /dev/null @@ -1,207 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ÿnérant, eichhornchen, nicomarg, charlse -# This file is distributed under the same license as the squirrelbattle package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: squirrelbattle 3.14.1\n" -"Report-Msgid-Bugs-To: squirrel-battle@crans.org\n" -"POT-Creation-Date: 2020-12-01 17:10+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: squirrelbattle/display/statsdisplay.py:34 -msgid "Inventory:" -msgstr "" - -#: squirrelbattle/display/statsdisplay.py:39 -msgid "YOU ARE DEAD" -msgstr "" - -#: squirrelbattle/interfaces.py:394 squirrelbattle/interfaces.py:398 -#: squirrelbattle/interfaces.py:408 -#, python-brace-format -msgid "{name} hits {opponent}." -msgstr "" - -#: squirrelbattle/interfaces.py:405 squirrelbattle/interfaces.py:410 -#: squirrelbattle/interfaces.py:420 -#, python-brace-format -msgid "{name} takes {amount} damage." -msgstr "" - -#: squirrelbattle/menus.py:45 squirrelbattle/tests/translations_test.py:14 -#: squirrelbattle/tests/game_test.py:284 squirrelbattle/tests/game_test.py:287 -#: squirrelbattle/tests/translations_test.py:16 -#: squirrelbattle/tests/game_test.py:290 -msgid "New game" -msgstr "" - -#: squirrelbattle/menus.py:46 squirrelbattle/tests/translations_test.py:15 -#: squirrelbattle/tests/translations_test.py:17 -msgid "Resume" -msgstr "" - -#: squirrelbattle/menus.py:47 squirrelbattle/tests/translations_test.py:17 -#: squirrelbattle/tests/translations_test.py:19 -msgid "Save" -msgstr "" - -#: squirrelbattle/menus.py:48 squirrelbattle/tests/translations_test.py:16 -#: squirrelbattle/tests/translations_test.py:18 -msgid "Load" -msgstr "" - -#: squirrelbattle/menus.py:49 squirrelbattle/tests/translations_test.py:18 -#: squirrelbattle/tests/translations_test.py:20 -msgid "Settings" -msgstr "" - -#: squirrelbattle/menus.py:50 squirrelbattle/tests/translations_test.py:19 -#: squirrelbattle/tests/translations_test.py:21 -msgid "Exit" -msgstr "" - -#: squirrelbattle/menus.py:71 -msgid "Back" -msgstr "" - -#: squirrelbattle/game.py:147 squirrelbattle/game.py:148 -msgid "" -"Some keys are missing in your save file.\n" -"Your save seems to be corrupt. It got deleted." -msgstr "" - -#: squirrelbattle/game.py:155 squirrelbattle/game.py:156 -msgid "" -"No player was found on this map!\n" -"Maybe you died?" -msgstr "" - -#: squirrelbattle/game.py:175 squirrelbattle/game.py:176 -msgid "" -"The JSON file is not correct.\n" -"Your save seems corrupted. It got deleted." -msgstr "" - -#: squirrelbattle/settings.py:21 squirrelbattle/tests/translations_test.py:21 -#: squirrelbattle/tests/translations_test.py:25 -#: squirrelbattle/tests/translations_test.py:27 -msgid "Main key to move up" -msgstr "" - -#: squirrelbattle/settings.py:22 squirrelbattle/tests/translations_test.py:23 -#: squirrelbattle/tests/translations_test.py:27 -#: squirrelbattle/tests/translations_test.py:29 -msgid "Secondary key to move up" -msgstr "" - -#: squirrelbattle/settings.py:23 squirrelbattle/tests/translations_test.py:25 -#: squirrelbattle/tests/translations_test.py:29 -#: squirrelbattle/tests/translations_test.py:31 -msgid "Main key to move down" -msgstr "" - -#: squirrelbattle/settings.py:24 squirrelbattle/tests/translations_test.py:27 -#: squirrelbattle/tests/translations_test.py:31 -#: squirrelbattle/tests/translations_test.py:33 -msgid "Secondary key to move down" -msgstr "" - -#: squirrelbattle/settings.py:25 squirrelbattle/tests/translations_test.py:29 -#: squirrelbattle/tests/translations_test.py:33 -#: squirrelbattle/tests/translations_test.py:35 -msgid "Main key to move left" -msgstr "" - -#: squirrelbattle/settings.py:26 squirrelbattle/tests/translations_test.py:31 -#: squirrelbattle/tests/translations_test.py:35 -#: squirrelbattle/tests/translations_test.py:37 -msgid "Secondary key to move left" -msgstr "" - -#: squirrelbattle/settings.py:27 squirrelbattle/tests/translations_test.py:33 -#: squirrelbattle/tests/translations_test.py:37 -#: squirrelbattle/tests/translations_test.py:39 -msgid "Main key to move right" -msgstr "" - -#: squirrelbattle/settings.py:29 squirrelbattle/tests/translations_test.py:35 -#: squirrelbattle/tests/translations_test.py:39 -#: squirrelbattle/tests/translations_test.py:41 -msgid "Secondary key to move right" -msgstr "" - -#: squirrelbattle/settings.py:30 squirrelbattle/tests/translations_test.py:37 -#: squirrelbattle/tests/translations_test.py:41 -#: squirrelbattle/tests/translations_test.py:43 -msgid "Key to validate a menu" -msgstr "" - -#: squirrelbattle/settings.py:31 squirrelbattle/tests/translations_test.py:39 -#: squirrelbattle/tests/translations_test.py:43 -#: squirrelbattle/tests/translations_test.py:45 -msgid "Texture pack" -msgstr "" - -#: squirrelbattle/settings.py:32 squirrelbattle/tests/translations_test.py:40 -#: squirrelbattle/tests/translations_test.py:44 -#: squirrelbattle/tests/translations_test.py:46 -msgid "Language" -msgstr "" - -#: squirrelbattle/interfaces.py:407 squirrelbattle/interfaces.py:412 -#: squirrelbattle/interfaces.py:422 -#, python-brace-format -msgid "{name} dies." -msgstr "" - -#: squirrelbattle/tests/translations_test.py:47 -#: squirrelbattle/tests/translations_test.py:49 -msgid "player" -msgstr "" - -#: squirrelbattle/tests/translations_test.py:49 -#: squirrelbattle/tests/translations_test.py:51 -msgid "tiger" -msgstr "" - -#: squirrelbattle/tests/translations_test.py:50 -#: squirrelbattle/tests/translations_test.py:52 -msgid "hedgehog" -msgstr "" - -#: squirrelbattle/tests/translations_test.py:51 -#: squirrelbattle/tests/translations_test.py:53 -msgid "rabbit" -msgstr "" - -#: squirrelbattle/tests/translations_test.py:52 -#: squirrelbattle/tests/translations_test.py:54 -msgid "teddy bear" -msgstr "" - -#: squirrelbattle/tests/translations_test.py:54 -#: squirrelbattle/tests/translations_test.py:56 -msgid "bomb" -msgstr "" - -#: squirrelbattle/tests/translations_test.py:55 -#: squirrelbattle/tests/translations_test.py:57 -msgid "heart" -msgstr "" - -#: squirrelbattle/entities/friendly.py:31 -msgid "Flower power!!" -msgstr "" - -#: squirrelbattle/entities/friendly.py:31 -msgid "The sun is warm today" -msgstr "" From 94c12541ef0cdbff5c935894a90bee5bd77c9106 Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Sun, 10 Jan 2021 10:46:17 +0100 Subject: [PATCH 2/6] Happy new year! --- COPYING | 4 ++-- docs/conf.py | 9 ++++++--- main.py | 2 +- setup.py | 2 +- squirrelbattle/__init__.py | 2 +- squirrelbattle/bootstrap.py | 2 +- squirrelbattle/display/__init__.py | 2 +- squirrelbattle/display/creditsdisplay.py | 2 +- squirrelbattle/display/display.py | 2 +- squirrelbattle/display/display_manager.py | 2 +- squirrelbattle/display/logsdisplay.py | 2 +- squirrelbattle/display/mapdisplay.py | 2 +- squirrelbattle/display/menudisplay.py | 2 +- squirrelbattle/display/messagedisplay.py | 2 +- squirrelbattle/display/statsdisplay.py | 2 +- squirrelbattle/display/texturepack.py | 2 +- squirrelbattle/entities/__init__.py | 2 +- squirrelbattle/entities/items.py | 2 +- squirrelbattle/entities/monsters.py | 2 +- squirrelbattle/entities/player.py | 2 +- squirrelbattle/enums.py | 2 +- squirrelbattle/game.py | 2 +- squirrelbattle/interfaces.py | 2 +- squirrelbattle/menus.py | 2 +- squirrelbattle/resources.py | 2 +- squirrelbattle/settings.py | 2 +- squirrelbattle/term_manager.py | 2 +- squirrelbattle/tests/__init__.py | 2 +- squirrelbattle/tests/entities_test.py | 2 +- squirrelbattle/tests/game_test.py | 2 +- squirrelbattle/tests/interfaces_test.py | 2 +- squirrelbattle/tests/screen.py | 2 +- squirrelbattle/tests/settings_test.py | 2 +- squirrelbattle/translations.py | 2 +- 34 files changed, 40 insertions(+), 37 deletions(-) diff --git a/COPYING b/COPYING index 1bc08a5..ce2c363 100644 --- a/COPYING +++ b/COPYING @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Squirrel Battle - Copyright (C) 2020 ÿnérant, eichhornchen, nicomarg, charlse + Copyright (C) 2020-2021 ÿnérant, eichhornchen, nicomarg, charlse This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - Squirrel Battle Copyright (C) 2020 ÿnérant, eichhornchen, nicomarg, charlse + Squirrel Battle Copyright (C) 2020-2021 ÿnérant, eichhornchen, nicomarg, charlse This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/docs/conf.py b/docs/conf.py index 4877d19..0d65dd0 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,8 +18,11 @@ # -- Project information ----------------------------------------------------- project = 'Squirrel Battle' -copyright = "2020" -author = "Yohann D'ANELLO,\nMathilde DEPRES,\nNicolas MARGULIES,\nCharles PEYRAT" +copyright = "2020-2021" +author = "Yohann D'ANELLO,\n" \ + "Mathilde DEPRES,\n" \ + "Nicolas MARGULIES,\n" \ + "Charles PEYRAT" # -- General configuration --------------------------------------------------- @@ -57,4 +60,4 @@ html_theme = 'sphinx_rtd_theme' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] \ No newline at end of file +html_static_path = ['_static'] diff --git a/main.py b/main.py index fbbbb35..2f6579a 100755 --- a/main.py +++ b/main.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later import argparse import sys diff --git a/setup.py b/setup.py index 7f39d83..5a2a5e7 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later import subprocess diff --git a/squirrelbattle/__init__.py b/squirrelbattle/__init__.py index 1cc6688..7c508cd 100644 --- a/squirrelbattle/__init__.py +++ b/squirrelbattle/__init__.py @@ -1,2 +1,2 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later diff --git a/squirrelbattle/bootstrap.py b/squirrelbattle/bootstrap.py index f041aef..543fe01 100644 --- a/squirrelbattle/bootstrap.py +++ b/squirrelbattle/bootstrap.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later from squirrelbattle.game import Game diff --git a/squirrelbattle/display/__init__.py b/squirrelbattle/display/__init__.py index 1cc6688..7c508cd 100644 --- a/squirrelbattle/display/__init__.py +++ b/squirrelbattle/display/__init__.py @@ -1,2 +1,2 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later diff --git a/squirrelbattle/display/creditsdisplay.py b/squirrelbattle/display/creditsdisplay.py index 93f2f72..e005c5b 100644 --- a/squirrelbattle/display/creditsdisplay.py +++ b/squirrelbattle/display/creditsdisplay.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later import curses diff --git a/squirrelbattle/display/display.py b/squirrelbattle/display/display.py index 55e23a8..9b6e97c 100644 --- a/squirrelbattle/display/display.py +++ b/squirrelbattle/display/display.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later import curses diff --git a/squirrelbattle/display/display_manager.py b/squirrelbattle/display/display_manager.py index b4153c9..f1b879f 100644 --- a/squirrelbattle/display/display_manager.py +++ b/squirrelbattle/display/display_manager.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later import curses diff --git a/squirrelbattle/display/logsdisplay.py b/squirrelbattle/display/logsdisplay.py index 5c30b41..1c323af 100644 --- a/squirrelbattle/display/logsdisplay.py +++ b/squirrelbattle/display/logsdisplay.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later from squirrelbattle.display.display import Display diff --git a/squirrelbattle/display/mapdisplay.py b/squirrelbattle/display/mapdisplay.py index 701f33e..2439489 100644 --- a/squirrelbattle/display/mapdisplay.py +++ b/squirrelbattle/display/mapdisplay.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later from squirrelbattle.interfaces import Map diff --git a/squirrelbattle/display/menudisplay.py b/squirrelbattle/display/menudisplay.py index 64d69b7..628961f 100644 --- a/squirrelbattle/display/menudisplay.py +++ b/squirrelbattle/display/menudisplay.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later import curses diff --git a/squirrelbattle/display/messagedisplay.py b/squirrelbattle/display/messagedisplay.py index d850500..2b1ec30 100644 --- a/squirrelbattle/display/messagedisplay.py +++ b/squirrelbattle/display/messagedisplay.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later import curses diff --git a/squirrelbattle/display/statsdisplay.py b/squirrelbattle/display/statsdisplay.py index a60f6a2..e8a151a 100644 --- a/squirrelbattle/display/statsdisplay.py +++ b/squirrelbattle/display/statsdisplay.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later import curses diff --git a/squirrelbattle/display/texturepack.py b/squirrelbattle/display/texturepack.py index d5c6da1..f124523 100644 --- a/squirrelbattle/display/texturepack.py +++ b/squirrelbattle/display/texturepack.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later import curses diff --git a/squirrelbattle/entities/__init__.py b/squirrelbattle/entities/__init__.py index 1cc6688..7c508cd 100644 --- a/squirrelbattle/entities/__init__.py +++ b/squirrelbattle/entities/__init__.py @@ -1,2 +1,2 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later diff --git a/squirrelbattle/entities/items.py b/squirrelbattle/entities/items.py index c231b53..c79a350 100644 --- a/squirrelbattle/entities/items.py +++ b/squirrelbattle/entities/items.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later from random import choice, randint diff --git a/squirrelbattle/entities/monsters.py b/squirrelbattle/entities/monsters.py index b62421a..c654428 100644 --- a/squirrelbattle/entities/monsters.py +++ b/squirrelbattle/entities/monsters.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later from random import shuffle diff --git a/squirrelbattle/entities/player.py b/squirrelbattle/entities/player.py index 615dfd5..8257f85 100644 --- a/squirrelbattle/entities/player.py +++ b/squirrelbattle/entities/player.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later from random import randint diff --git a/squirrelbattle/enums.py b/squirrelbattle/enums.py index f39a57f..808960c 100644 --- a/squirrelbattle/enums.py +++ b/squirrelbattle/enums.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later from enum import Enum, auto diff --git a/squirrelbattle/game.py b/squirrelbattle/game.py index 9734144..580b660 100644 --- a/squirrelbattle/game.py +++ b/squirrelbattle/game.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later from json import JSONDecodeError diff --git a/squirrelbattle/interfaces.py b/squirrelbattle/interfaces.py index 8117659..95e2628 100644 --- a/squirrelbattle/interfaces.py +++ b/squirrelbattle/interfaces.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later from enum import Enum, auto diff --git a/squirrelbattle/menus.py b/squirrelbattle/menus.py index 92ead1c..8de9547 100644 --- a/squirrelbattle/menus.py +++ b/squirrelbattle/menus.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later from enum import Enum diff --git a/squirrelbattle/resources.py b/squirrelbattle/resources.py index b3421db..55facca 100644 --- a/squirrelbattle/resources.py +++ b/squirrelbattle/resources.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later from pathlib import Path diff --git a/squirrelbattle/settings.py b/squirrelbattle/settings.py index 6f7cf57..92a8b37 100644 --- a/squirrelbattle/settings.py +++ b/squirrelbattle/settings.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later import json diff --git a/squirrelbattle/term_manager.py b/squirrelbattle/term_manager.py index 2e74fff..cd028b5 100644 --- a/squirrelbattle/term_manager.py +++ b/squirrelbattle/term_manager.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later import curses diff --git a/squirrelbattle/tests/__init__.py b/squirrelbattle/tests/__init__.py index 1cc6688..7c508cd 100644 --- a/squirrelbattle/tests/__init__.py +++ b/squirrelbattle/tests/__init__.py @@ -1,2 +1,2 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later diff --git a/squirrelbattle/tests/entities_test.py b/squirrelbattle/tests/entities_test.py index 5729032..231bd13 100644 --- a/squirrelbattle/tests/entities_test.py +++ b/squirrelbattle/tests/entities_test.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later import random import unittest diff --git a/squirrelbattle/tests/game_test.py b/squirrelbattle/tests/game_test.py index 11dd376..f6407ad 100644 --- a/squirrelbattle/tests/game_test.py +++ b/squirrelbattle/tests/game_test.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later import curses diff --git a/squirrelbattle/tests/interfaces_test.py b/squirrelbattle/tests/interfaces_test.py index df1cbea..77ae53a 100644 --- a/squirrelbattle/tests/interfaces_test.py +++ b/squirrelbattle/tests/interfaces_test.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later import unittest diff --git a/squirrelbattle/tests/screen.py b/squirrelbattle/tests/screen.py index 57b7dcc..03ae206 100644 --- a/squirrelbattle/tests/screen.py +++ b/squirrelbattle/tests/screen.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later from typing import Tuple diff --git a/squirrelbattle/tests/settings_test.py b/squirrelbattle/tests/settings_test.py index 65cb25a..c6d696c 100644 --- a/squirrelbattle/tests/settings_test.py +++ b/squirrelbattle/tests/settings_test.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later import unittest diff --git a/squirrelbattle/translations.py b/squirrelbattle/translations.py index df140a2..b4cddfc 100644 --- a/squirrelbattle/translations.py +++ b/squirrelbattle/translations.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later import gettext as gt From d73802933582e942d655e17d5d60f8f0d7876088 Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Sun, 10 Jan 2021 11:25:53 +0100 Subject: [PATCH 3/6] Fix import order --- squirrelbattle/bootstrap.py | 6 +++--- squirrelbattle/display/display_manager.py | 26 +++++++++++------------ squirrelbattle/display/mapdisplay.py | 2 +- squirrelbattle/display/menudisplay.py | 5 ++--- squirrelbattle/display/statsdisplay.py | 2 +- squirrelbattle/display/texturepack.py | 2 +- squirrelbattle/entities/friendly.py | 16 ++++++++------ squirrelbattle/entities/items.py | 4 ++-- squirrelbattle/enums.py | 2 +- squirrelbattle/game.py | 12 +++++------ squirrelbattle/interfaces.py | 12 +++++------ squirrelbattle/menus.py | 4 ++-- squirrelbattle/tests/entities_test.py | 16 +++++++------- squirrelbattle/tests/game_test.py | 12 +++++------ squirrelbattle/tests/interfaces_test.py | 6 +++--- squirrelbattle/translations.py | 2 +- tox.ini | 1 + 17 files changed, 66 insertions(+), 64 deletions(-) diff --git a/squirrelbattle/bootstrap.py b/squirrelbattle/bootstrap.py index 543fe01..ec89129 100644 --- a/squirrelbattle/bootstrap.py +++ b/squirrelbattle/bootstrap.py @@ -1,9 +1,9 @@ # Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later -from squirrelbattle.game import Game -from squirrelbattle.display.display_manager import DisplayManager -from squirrelbattle.term_manager import TermManager +from .display.display_manager import DisplayManager +from .game import Game +from .term_manager import TermManager class Bootstrap: diff --git a/squirrelbattle/display/display_manager.py b/squirrelbattle/display/display_manager.py index f1b879f..81cba4f 100644 --- a/squirrelbattle/display/display_manager.py +++ b/squirrelbattle/display/display_manager.py @@ -2,21 +2,19 @@ # SPDX-License-Identifier: GPL-3.0-or-later import curses - -from squirrelbattle.display.creditsdisplay import CreditsDisplay -from squirrelbattle.display.display import VerticalSplit, HorizontalSplit, \ - Display -from squirrelbattle.display.mapdisplay import MapDisplay -from squirrelbattle.display.messagedisplay import MessageDisplay -from squirrelbattle.display.statsdisplay import StatsDisplay -from squirrelbattle.display.menudisplay import MainMenuDisplay, \ - PlayerInventoryDisplay, StoreInventoryDisplay, SettingsMenuDisplay, \ - ChestInventoryDisplay -from squirrelbattle.display.logsdisplay import LogsDisplay -from squirrelbattle.display.texturepack import TexturePack from typing import Any, List -from squirrelbattle.game import Game, GameMode -from squirrelbattle.enums import DisplayActions + +from .creditsdisplay import CreditsDisplay +from .display import Display, HorizontalSplit, VerticalSplit +from .logsdisplay import LogsDisplay +from .mapdisplay import MapDisplay +from .menudisplay import ChestInventoryDisplay, MainMenuDisplay, \ + PlayerInventoryDisplay, SettingsMenuDisplay, StoreInventoryDisplay +from .messagedisplay import MessageDisplay +from .statsdisplay import StatsDisplay +from .texturepack import TexturePack +from ..enums import DisplayActions +from ..game import Game, GameMode class DisplayManager: diff --git a/squirrelbattle/display/mapdisplay.py b/squirrelbattle/display/mapdisplay.py index 2439489..80e6ada 100644 --- a/squirrelbattle/display/mapdisplay.py +++ b/squirrelbattle/display/mapdisplay.py @@ -1,9 +1,9 @@ # Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later -from squirrelbattle.interfaces import Map from .display import Display from ..game import Game +from ..interfaces import Map class MapDisplay(Display): diff --git a/squirrelbattle/display/menudisplay.py b/squirrelbattle/display/menudisplay.py index 628961f..f86c7c4 100644 --- a/squirrelbattle/display/menudisplay.py +++ b/squirrelbattle/display/menudisplay.py @@ -5,12 +5,11 @@ import curses from random import randint from typing import List -from squirrelbattle.menus import Menu, MainMenu, SettingsMenu, StoreMenu,\ - ChestMenu from .display import Box, Display from ..entities.player import Player -from ..enums import KeyValues, GameMode +from ..enums import GameMode, KeyValues from ..game import Game +from ..menus import ChestMenu, MainMenu, Menu, SettingsMenu, StoreMenu from ..resources import ResourceManager from ..translations import gettext as _ diff --git a/squirrelbattle/display/statsdisplay.py b/squirrelbattle/display/statsdisplay.py index e8a151a..b80fa7b 100644 --- a/squirrelbattle/display/statsdisplay.py +++ b/squirrelbattle/display/statsdisplay.py @@ -3,12 +3,12 @@ import curses +from .display import Display from ..entities.items import Monocle from ..entities.player import Player from ..game import Game from ..interfaces import FightingEntity from ..translations import gettext as _ -from .display import Display class StatsDisplay(Display): diff --git a/squirrelbattle/display/texturepack.py b/squirrelbattle/display/texturepack.py index f124523..16cad4f 100644 --- a/squirrelbattle/display/texturepack.py +++ b/squirrelbattle/display/texturepack.py @@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later import curses -from typing import Any, Union, Tuple +from typing import Any, Tuple, Union class TexturePack: diff --git a/squirrelbattle/entities/friendly.py b/squirrelbattle/entities/friendly.py index 91515d2..36f9db3 100644 --- a/squirrelbattle/entities/friendly.py +++ b/squirrelbattle/entities/friendly.py @@ -1,11 +1,15 @@ -from ..interfaces import Entity, FriendlyEntity, InventoryHolder, \ - Map, FightingEntity -from ..translations import gettext as _ -from .player import Player -from .monsters import Monster -from .items import Item +# Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse +# SPDX-License-Identifier: GPL-3.0-or-later + from random import choice, shuffle +from .items import Item +from .monsters import Monster +from .player import Player +from ..interfaces import Entity, FightingEntity, FriendlyEntity, \ + InventoryHolder, Map +from ..translations import gettext as _ + class Merchant(InventoryHolder, FriendlyEntity): """ diff --git a/squirrelbattle/entities/items.py b/squirrelbattle/entities/items.py index c79a350..94a9e36 100644 --- a/squirrelbattle/entities/items.py +++ b/squirrelbattle/entities/items.py @@ -2,9 +2,9 @@ # SPDX-License-Identifier: GPL-3.0-or-later from random import choice, randint -from typing import Optional, Any +from typing import Any, Optional -from ..interfaces import Entity, FightingEntity, Map, InventoryHolder +from ..interfaces import Entity, FightingEntity, InventoryHolder, Map from ..translations import gettext as _ diff --git a/squirrelbattle/enums.py b/squirrelbattle/enums.py index 808960c..b6b4bcd 100644 --- a/squirrelbattle/enums.py +++ b/squirrelbattle/enums.py @@ -1,7 +1,7 @@ # Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later -from enum import Enum, auto +from enum import auto, Enum from typing import Optional from squirrelbattle.settings import Settings diff --git a/squirrelbattle/game.py b/squirrelbattle/game.py index 580b660..56ab6ed 100644 --- a/squirrelbattle/game.py +++ b/squirrelbattle/game.py @@ -1,20 +1,20 @@ # Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later -from json import JSONDecodeError -from random import randint -from typing import Any, Optional, List import curses import json +from json import JSONDecodeError import os +from random import randint import sys +from typing import Any, List, Optional +from . import menus from .entities.player import Player -from .enums import GameMode, KeyValues, DisplayActions -from .interfaces import Map, Logs +from .enums import DisplayActions, GameMode, KeyValues +from .interfaces import Logs, Map from .resources import ResourceManager from .settings import Settings -from . import menus from .translations import gettext as _, Translator diff --git a/squirrelbattle/interfaces.py b/squirrelbattle/interfaces.py index 95e2628..2280909 100644 --- a/squirrelbattle/interfaces.py +++ b/squirrelbattle/interfaces.py @@ -1,13 +1,13 @@ # Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later -from enum import Enum, auto -from math import ceil, sqrt -from random import choice, choices, randint -from typing import List, Optional, Any, Dict, Tuple -from queue import PriorityQueue -from functools import reduce from copy import deepcopy +from enum import auto, Enum +from functools import reduce +from math import ceil, sqrt +from queue import PriorityQueue +from random import choice, choices, randint +from typing import Any, Dict, List, Optional, Tuple from .display.texturepack import TexturePack from .translations import gettext as _ diff --git a/squirrelbattle/menus.py b/squirrelbattle/menus.py index 8de9547..ad4e4b3 100644 --- a/squirrelbattle/menus.py +++ b/squirrelbattle/menus.py @@ -5,9 +5,9 @@ from enum import Enum from typing import Any, Optional from .display.texturepack import TexturePack +from .entities.friendly import Chest, Merchant from .entities.player import Player -from .entities.friendly import Merchant, Chest -from .enums import GameMode, KeyValues, DisplayActions +from .enums import DisplayActions, GameMode, KeyValues from .settings import Settings from .translations import gettext as _, Translator diff --git a/squirrelbattle/tests/entities_test.py b/squirrelbattle/tests/entities_test.py index 231bd13..db32877 100644 --- a/squirrelbattle/tests/entities_test.py +++ b/squirrelbattle/tests/entities_test.py @@ -1,16 +1,16 @@ # Copyright (C) 2020-2021 by ÿnérant, eichhornchen, nicomarg, charlse # SPDX-License-Identifier: GPL-3.0-or-later + import random import unittest -from squirrelbattle.entities.items import BodySnatchPotion, Bomb, Heart, Item, \ - Explosion -from squirrelbattle.entities.monsters import Tiger, Hedgehog, Rabbit,\ - TeddyBear, GiantSeaEagle -from squirrelbattle.entities.friendly import Trumpet -from squirrelbattle.entities.player import Player -from squirrelbattle.interfaces import Entity, Map -from squirrelbattle.resources import ResourceManager +from ..entities.friendly import Trumpet +from ..entities.items import BodySnatchPotion, Bomb, Explosion, Heart, Item +from ..entities.monsters import GiantSeaEagle, Hedgehog, Rabbit, \ + TeddyBear, Tiger +from ..entities.player import Player +from ..interfaces import Entity, Map +from ..resources import ResourceManager class TestEntities(unittest.TestCase): diff --git a/squirrelbattle/tests/game_test.py b/squirrelbattle/tests/game_test.py index f6407ad..b9de160 100644 --- a/squirrelbattle/tests/game_test.py +++ b/squirrelbattle/tests/game_test.py @@ -8,13 +8,13 @@ import unittest from ..bootstrap import Bootstrap from ..display.display import Display from ..display.display_manager import DisplayManager -from ..entities.friendly import Merchant, Sunflower, Chest -from ..entities.items import Bomb, Heart, Sword, Explosion, Shield, Helmet, \ - Chestplate, RingCritical, Bow, FireBallStaff, ScrollofDamage,\ - ScrollofWeakening, Monocle -from ..entities.monsters import Rabbit, GiantSeaEagle +from ..entities.friendly import Chest, Merchant, Sunflower +from ..entities.items import Bomb, Bow, Chestplate, Explosion, FireBallStaff, \ + Heart, Helmet, Monocle, RingCritical, ScrollofDamage, ScrollofWeakening, \ + Shield, Sword +from ..entities.monsters import GiantSeaEagle, Rabbit from ..entities.player import Player -from ..enums import DisplayActions, KeyValues, GameMode +from ..enums import DisplayActions, GameMode, KeyValues from ..game import Game from ..interfaces import Map from ..menus import MainMenuValues diff --git a/squirrelbattle/tests/interfaces_test.py b/squirrelbattle/tests/interfaces_test.py index 77ae53a..c5a8b74 100644 --- a/squirrelbattle/tests/interfaces_test.py +++ b/squirrelbattle/tests/interfaces_test.py @@ -3,9 +3,9 @@ import unittest -from squirrelbattle.display.texturepack import TexturePack -from squirrelbattle.interfaces import Map, Tile, Slope -from squirrelbattle.resources import ResourceManager +from ..display.texturepack import TexturePack +from ..interfaces import Map, Slope, Tile +from ..resources import ResourceManager class TestInterfaces(unittest.TestCase): diff --git a/squirrelbattle/translations.py b/squirrelbattle/translations.py index b4cddfc..19fffa9 100644 --- a/squirrelbattle/translations.py +++ b/squirrelbattle/translations.py @@ -3,9 +3,9 @@ import gettext as gt import os +from pathlib import Path import re import subprocess -from pathlib import Path from typing import Any, List diff --git a/tox.ini b/tox.ini index 1d2f15a..865dd93 100644 --- a/tox.ini +++ b/tox.ini @@ -19,6 +19,7 @@ deps = flake8 flake8-annotations flake8-colors + flake8-import-order flake8-typing-imports pep8-naming pyflakes From 6d786c7358b25b91981ff2572f1ace4df5febf82 Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Sun, 10 Jan 2021 11:30:04 +0100 Subject: [PATCH 4/6] Documentation on unit tests --- docs/tests.rst | 48 +++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 5 deletions(-) diff --git a/docs/tests.rst b/docs/tests.rst index 3bdd0d2..039f812 100644 --- a/docs/tests.rst +++ b/docs/tests.rst @@ -1,12 +1,50 @@ Exécution des tests =================== -.. note:: - La documentation va être revue ici. - -Les tests sont gérés par ``pytest`` dans le module ``squirrelbattle.tests``. - ``tox`` est un outil permettant de configurer l'exécution des tests. Ainsi, après installation de tox dans votre environnement virtuel via ``pip install tox``, il vous suffit d'exécuter ``tox -e py3`` pour lancer les tests et ``tox -e linters`` pour vérifier la syntaxe du code. + +Tests unitaires +--------------- + +Les tests sont gérés par ``pytest`` dans le module ``squirrelbattle.tests``. +Le module ``pytest-cov`` permet de mesurer la couverture du code. +Pour lancer les tests, il suffit de lancer ``tox -e py3`` ou de manière équivalente +``pytest --cov=squirrelbattle/ --cov-report=term-missing squirrelbattle/`` + +L'intégration continue lance les tests pour les versions de Python de 3.6 à 3.10, +sur une distribution Alpine Linux. + +Chaque partie du code est testée unitairement, pour obtenir une couverture +maximale et assurer un bon fonctionnement. En particulier, le jeu est lancé +en commençant sur une carte déterministe (non générée aléatoirement) chargée +depuis ``assets/example_map.txt``, sur laquelle sont placés des ennemis et objets +avec lesquels le joueur doit interagir. On vérifie qu'à chaque touche appuyée, +il se passe le bon comportement. Le comportement des différents menus est +également testé. + +L'environnement de test ne disposant pas a priori d'un terminal, le jeu est +conçu pour fonctionner sans support graphique, avec un terminal fictif où les +primitives de curses sont implémentées pour ne rien faire. On ne peut alors +pas s'assurer du bon fonctionnement de curses. + +De plus, une très fine partie du code est ignorée lors de la couverture, ce +qui correspond à la phase d'initialisation du terminal et à la boucle infinie +qui reçoit les touches de l'utilisateur, qu'il est alors impossible de tester +unitairement. + + +Analyseur syntaxique +-------------------- + +``flake8`` est utilisé en guise d'analyseur syntaxique. Il vérifie si le code +est bien formatté afin d'assurer une certaine lisibilité. En particulier, +il vérifie l'indentation, si chaque variable est bien utilisée, s'il n'y a pas +d'import inutile et s'ils sont dans l'ordre lexicographique, si chaque ligne +fait au plus 80 caractères et si la signature de chaque fonction est bien +spécifiée. + +Pour lancer l'analyse, ``tox -e linters`` suffit. L'intégration continue +effectue cette analyse à chaque commit. From 92a3081b2e6b901bf1299f897ce1e6e4b55904be Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Sun, 10 Jan 2021 11:58:32 +0100 Subject: [PATCH 5/6] Display "Edit on Gitlab" button --- docs/conf.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/conf.py b/docs/conf.py index 0d65dd0..ffab7ea 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -61,3 +61,11 @@ html_theme = 'sphinx_rtd_theme' # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] + +html_context = { + 'gitlab_user': 'ynerant', + 'gitlab_repo': 'squirrel-battle', + 'gitlab_host': 'gitlab.crans.org', + 'gitlab_version': 'master', + 'display_gitlab': True, +} From 0ef5875a72fd32bf65cc121eeeba7ed521857880 Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Sun, 10 Jan 2021 12:07:53 +0100 Subject: [PATCH 6/6] Documentation on ladders --- docs/map.rst | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/map.rst b/docs/map.rst index e8b90cc..6d8f34a 100644 --- a/docs/map.rst +++ b/docs/map.rst @@ -44,3 +44,17 @@ Mur Les murs délimitent les salles du donjon. Personne ne peut les traverser. Ils sont représentés par un dièse ``#`` dans le `pack de textures`_ ASCII et par une brique carrée ``🧱`` dans le `pack de textures`_ écureuil. + + +Échelles +~~~~~~~~ + +Les échelles sont les débuts et fin de niveau. Elles permettent de changer +d'étage en appuyant sur une touche. Elles sont représentées par un ``H`` dans +le `pack de textures`_ ASCII et par un émoji échelle ``🪜`` dans le +`pack de textures`_ écureuil. + +Lorsqu'on est sur l'échelle du début de niveau, appuyer sur ``<`` permet de +monter d'un étage (revenir au niveau précédent). Lorsqu'on est sur l'échelle +de fin de niveau, on génère une nouvelle carte si ce n'est pas déjà fait avec +des monstres plus forts, et on place le joueur sur cette nouvelle carte.