From de26838e1f95a72cf0db6612b0af081c85aae85a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Gro=C3=9F?= Date: Thu, 4 Aug 2022 13:32:27 +0200 Subject: [PATCH] Add slow typing and basic text inro --- src/boarhuntingsimulator.py | 14 ++++++++++++++ src/data/MenuText.py | 10 ++++++++++ src/data/__init__.py | 0 src/utils/__init__.py | 0 src/utils/text.py | 19 +++++++++++++++++++ 5 files changed, 43 insertions(+) create mode 100644 src/boarhuntingsimulator.py create mode 100644 src/data/MenuText.py create mode 100644 src/data/__init__.py create mode 100644 src/utils/__init__.py create mode 100644 src/utils/text.py diff --git a/src/boarhuntingsimulator.py b/src/boarhuntingsimulator.py new file mode 100644 index 0000000..3efa820 --- /dev/null +++ b/src/boarhuntingsimulator.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python3 + +""" Boar Hunting Simulator 2022""" + +import utils.text as Text +from data import MenuText as mt + +def main(): + Text.type(mt.intro_text, delay=0.01, newline_delay=1.0) + +if __name__ == "__main__": + main() + input() + exit(0) \ No newline at end of file diff --git a/src/data/MenuText.py b/src/data/MenuText.py new file mode 100644 index 0000000..181bd99 --- /dev/null +++ b/src/data/MenuText.py @@ -0,0 +1,10 @@ +""" +Text for menus +""" + +intro_text = ("Hello and welcome to my little game. \n" + "You are a villager living in a small village. \n" + "There are many wild boars lurking outside that are making the passage difficult for everyone to travel. \n" + "Because an old friend of you got murdered by one you've sworn yourself to revenge him. \n" + "By killing as many boars as possible. \n\n" + "Please navigate using numbers \n") \ No newline at end of file diff --git a/src/data/__init__.py b/src/data/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/utils/__init__.py b/src/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/utils/text.py b/src/utils/text.py new file mode 100644 index 0000000..839cdda --- /dev/null +++ b/src/utils/text.py @@ -0,0 +1,19 @@ +""" +Utilities for text output +""" + +import time + +def type(text: str, delay: float = 0.05, newline_delay: float = 0.0) -> None: + """ Prints the given text, one character at a time, with a delay between each character. + + Arguments: + text: The text to be printed. + delay: The delay between each character. (Default 0.05) + newline_delay: The delay between each newline. (Default 0.0) + """ + for char in text: + print(char, end="", flush=True) + if (char == "\n"): + time.sleep(newline_delay) + time.sleep(delay) \ No newline at end of file